Dogbone dressup

Here's the place for discussion related to CAM/CNC and the development of the Path module.
chrisb
Posts: 30781
Joined: Tue Mar 17, 2015 9:14 am

Re: Dogbone dressup

Postby chrisb » Fri Oct 21, 2016 11:00 pm

I am not sure what's going on. I found that I hadn't the log output activated. I changed that and now DogBone is active.
However when I activate Path WB I get after all the loading messages the following:

Code: Select all

[31muint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&)[0m: Condition failed: menu 
This line is repeated 10 times

When I try the DogboneDressup on a PathPocket I get the messages:

Code: Select all

[<Document object>, <Document object>]
Here we go ... 
Running the Python command 'Dogbone_Dressup' failed:
Traceback (most recent call last):
  File "/usr/lib/freecad-daily/Mod/Path/PathScripts/DogboneDressup.py", line 755, in Activated
    FreeCADGui.doCommand('dbo.setup(obj)')
  File "<string>", line 1, in <module>
  File "/usr/lib/freecad-daily/Mod/Path/PathScripts/DogboneDressup.py", line 529, in setup
    if obj.Base.Side == Side.Left:

'FeaturePython' object has no attribute 'Side'
The Dogbone is created in the tree, I cannot see it in the path; I will check the GCode ... No GCode generated.
Attachments
dressup.fcstd
(16.25 KiB) Downloaded 28 times
You need at least FreeCAD 0.19.23300 to edit my current sketches.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
sgrogan
Posts: 6215
Joined: Wed Oct 22, 2014 5:02 pm

Re: Dogbone dressup

Postby sgrogan » Sat Oct 22, 2016 12:26 am

chrisb wrote:- Missing icons: Path-Profile-Edges, Path_SelectLoop
I can't find these in the source. Do they exist yet?
"fight the good fight"
User avatar
sliptonic
Posts: 2083
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: Dogbone dressup

Postby sliptonic » Sat Oct 22, 2016 2:31 am

sgrogan wrote:
chrisb wrote:- Missing icons: Path-Profile-Edges, Path_SelectLoop
I can't find these in the source. Do they exist yet?
They don't exist yet. I'm terrible at icons. I have a really bad attempt ready to go but maybe someone with skill can do better.
User avatar
sliptonic
Posts: 2083
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: Dogbone dressup

Postby sliptonic » Sat Oct 22, 2016 3:57 am

chrisb wrote: Remarks on today's Path WB
- existing projects have to be recreated with the new concept of a Job
Correct. I don't see a way to avoid that. Sorry, but this is definitely still unstable stuff.
- Missing icons: Path-Profile-Edges, Path_SelectLoop
yep. I've got crappy icons coming and I'm wide open to help from aesthetically gifted folks
- Dressups no longer available via icons, use menu instead
Open to discussion. I'd like to keep the main toolbars as clean as possible and dressups seem like a refinement step.
- An existing tooltable can be loaded,
- it was at first glance a bit strange to have the select list at the right and move the items to the left
- a selected tool does not occur in the list to the left, but is inserted well in the job
- insertion of TC Default tool seems to be useless now
All valid criticism. This dialog can really be improved. It would really be nice to have categories of tools in the main library and be able to work on them in groups. For anyone with QT/GUI skills, here's an opportunity to jump in.

The TC default tool is because I'm not sure how to handle the situation when the user creates a brand new job. At that point, there's no tool identified. Is it o.k. that there is no TC at all? In that case all the operations will either fail or will have to have default tool properties embedded and it won't be clear where those settings are coming from. The default tool seemed like a reasonable compromise.
Created path pocket from face
- Looks good
- Editing and opening the Depths tab changes the previously good looking
values to unusables, it multiplies the values by 10 everytime it is opened.

DogboneDressup is unavailable. No icon, menu insensitive.
Noted. Will check it out.
mlampert
Posts: 1570
Joined: Fri Sep 16, 2016 9:28 pm

Re: Dogbone dressup

Postby mlampert » Sat Oct 22, 2016 5:11 am

chrisb wrote:...
When I try the DogboneDressup on a PathPocket I get the messages:
...
Yes that's a limitation of the dressup, it only works on PathProfile, and on itself. I'll add some checks for that with an appropriate console message - thanks for the reminder.
chrisb
Posts: 30781
Joined: Tue Mar 17, 2015 9:14 am

Re: Dogbone dressup

Postby chrisb » Sat Oct 22, 2016 5:27 am

sliptonic wrote:
chrisb wrote: Remarks on today's Path WB
- existing projects have to be recreated with the new concept of a Job
Correct. I don't see a way to avoid that. Sorry, but this is definitely still unstable stuff.
No need to be sorry. The development is not a step forward. It's a leap. I pointed it rather out for others as intended or necessary behaviour. That seems to be useless after multiple posts concerning the unloadable Path WB which I all had to redirect to the correct post :o :evil: .
- Dressups no longer available via icons, use menu instead
Open to discussion. I'd like to keep the main toolbars as clean as possible and dressups seem like a refinement step.
The menu is a good place; by far not every path needs it, and as Herbert pointed out: dressups like the dogbone should even be avoided if possible
The TC default tool is because I'm not sure how to handle the situation when the user creates a brand new job. At that point, there's no tool identified. Is it o.k. that there is no TC at all? In that case all the operations will either fail or will have to have default tool properties embedded and it won't be clear where those settings are coming from. The default tool seemed like a reasonable compromise.
My current workflow is starting with loading a tooltable. If a tooltable is already loaded it would be nice to have the dropdown menu for tool selection in the create-job-dialog.
One step beyond would be the preselection of a tooltable. Since different jobs can use different machines and each machine has its own tooltable it would be sensible to have the tooltable associated with the machine. A good place for this is the postprocessor: it could set a special variable pointing to the toolset.xml, like
TOOLSET = '/home/user/freecad/toolset_maho.xml'
A new job would then start with selecting the machine, using - if it exists - as default the previous selection. That could simplify the tooltable selection window because we don't need the left list of currently selected tools any more.

Concerning the postprocessor It would be great if we could get the file dialog back, because I use my own and don't want to copy it into the installation directory.

BTW: I would like to offer my postprocessor to the community because it is highly configurable and as such a good base for other postprocessors. Is there a possibility to integrate it without all this git stuff for check out, pull request and so on? I haven't gone through that procedure yet, and so I am a bit hesitant.
You need at least FreeCAD 0.19.23300 to edit my current sketches.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
mlampert
Posts: 1570
Joined: Fri Sep 16, 2016 9:28 pm

Re: Dogbone dressup

Postby mlampert » Sat Oct 22, 2016 5:54 am

chrisb wrote: BTW: I would like to offer my postprocessor to the community because it is highly configurable and as such a good base for other postprocessors. Is there a possibility to integrate it without all this git stuff for check out, pull request and so on? I haven't gone through that procedure yet, and so I am a bit hesitant.
Send it to me (pm), I'm currently working in that area anyway and can add it. BTW, you can add your post-processor into your macro directory and it should also get picked up. Let me know if that doesn't work (the file name has to end with "_post.py").
chrisb
Posts: 30781
Joined: Tue Mar 17, 2015 9:14 am

Re: Dogbone dressup

Postby chrisb » Sat Oct 22, 2016 7:40 am

mlampert wrote:Let me know if that doesn't work (the file name has to end with "_post.py").
Perfect, it works!
You need at least FreeCAD 0.19.23300 to edit my current sketches.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
sliptonic
Posts: 2083
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: Dogbone dressup

Postby sliptonic » Sat Oct 22, 2016 2:29 pm

chrisb wrote: My current workflow is starting with loading a tooltable. If a tooltable is already loaded it would be nice to have the dropdown menu for tool selection in the create-job-dialog.
One step beyond would be the preselection of a tooltable. Since different jobs can use different machines and each machine has its own tooltable it would be sensible to have the tooltable associated with the machine. A good place for this is the postprocessor: it could set a special variable pointing to the toolset.xml, like
TOOLSET = '/home/user/freecad/toolset_maho.xml'
A new job would then start with selecting the machine, using - if it exists - as default the previous selection. That could simplify the tooltable selection window because we don't need the left list of currently selected tools any more.
To clarify; the toollibrary is the globally saved set of tools in the user preferences. A tooltable is a datastructure holding a list of tools. The job always has a tooltable associated with it but that table could be empty. The tool library manager dialog allows creation/import/export of tools and copying them between the library and jobs. I think you will always need this capability because, from time to time, you will need to load an unusual or non-standard tool into a job tooltable.

You're telling me that the first thing you do is copy tools from the library to your jobs tooltable. That makes sense and is a logical thing to do but I'm actually asking about how I should handle the situation BEFORE that point. When a user first clicks the 'new job' button, and the job is being created and added to the tree, I have to either add tools to the to tooltable or leave it empty. If it's empty and a new user immediately proceeds to create a profile operation, I still have to do something. Options include:
1) fail with an error. Not very user friendly.
2) fail silently. Really not friendly
3) Make the operations work, even without a tool using default values hard-coded. Not transparent or intuitive.
4) refuse to create operations if the job tooltable is empty. Would it be clear to the user why they can't create an operation?

I opted to pre-load a default tool during creation and use that. This lets a user get to an actual path with minimal configuration and see what a valid configuration looks like. If they delete the default tool and the path breaks, well, at least they learned something :D

In my experience, there isn't always a 1:1 relationship between a machine and a tooltable. Some shops have several sets of tools pre-configured depending on the type of job to run. That's why I'd like to be able to organize the tools in the library into sets/groups and copy whole sets to a job at once. Having the selection of a post-processor trigger the pre-loading of a set of tools would be also be nice. Let's take a look at that. It might have to wait until we have sets or groups of tools in the library though.

[/quote]
chrisb
Posts: 30781
Joined: Tue Mar 17, 2015 9:14 am

Re: Dogbone dressup

Postby chrisb » Sat Oct 22, 2016 3:22 pm

sliptonic wrote:You're telling me that the first thing you do is copy tools from the library to your jobs tooltable. That makes sense and is a logical thing to do but I'm actually asking about how I should handle the situation BEFORE that point. When a user first clicks the 'new job' button, and the job is being created and added to the tree, I have to either add tools to the to tooltable or leave it empty. If it's empty and a new user immediately proceeds to create a profile operation, I still have to do something.
That's why I thought it would be sensible to integrate toolset selection and first tool selection in the job creation dialog, but I see that there are reasons not to do so.
In my experience, there isn't always a 1:1 relationship between a machine and a tooltable. Some shops have several sets of tools pre-configured depending on the type of job to run.
I am very far from being an expert neither in FreeCAD nor in milling and had my limited milling knowledge in view when I had thrown in my ideas. I had hoped they could make some steps simpler, but I see that this is not the case because there are further use cases I didn't have in mind. Most notably I didn't want to upset you, since you are doing the work, for which I am greatful.
You need at least FreeCAD 0.19.23300 to edit my current sketches.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.