Tool Selection?

Here's the place for discussion related to CAM/CNC and the development of the Path module.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
JoshM
Posts: 456
Joined: Thu Oct 05, 2017 5:34 pm
Location: New Hampshire

Tool Selection?

Post by JoshM »

I'm attempting to migrate to use FreeCad-Path to generate G-Code to control a Taig desktop CNC. I'm aware that Path is under heavy development, and am using 0.17.

One thing that confuses me at the moment is what determines when the output G-Code contains the M-Codes to Start the Spindle? In some cases, I see it, in others it's not there...

Great job so far!

Regards,

Josh




OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.11919 (Git)
Build type: Release
Branch: master
Hash: fccb5dbc87b919164610296adc96aa8b4fe4825e
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
Locale: English/UnitedStates (en_US)
mlampert
Veteran
Posts: 1772
Joined: Fri Sep 16, 2016 9:28 pm

Re: Tool Selection?

Post by mlampert »

It should always issue an M3 - could you post the file where it doesn't generate the M3 command?
User avatar
JoshM
Posts: 456
Joined: Thu Oct 05, 2017 5:34 pm
Location: New Hampshire

Re: Tool Selection?

Post by JoshM »

Hi Mlampert,
Thanks for your response, and sorry for my 1st post not matching its title... I had started to inquire about the Tool library, and then sort of figured that out...

I'm not sure what the issue was yesterday, but I was playing with exporting G-Code and then running it in the G-Wizard-Editor's simulator. A number of times, the code didn't have the M3, and the simulator flagged it as an error. I wasn't clear if this was a post-processor choice, or something else. Now that I'm back at work, I can't get it to repeat...

So, I've used Freecad off and on for a couple of years, mostly to generate models for PCB components I used in Diptrace. Over the last couple of years I've worked a lot more in our small machine shop, and have used Freecad to "mock up" things. I've noticed that it has gotten a lot more STABLE, and then ran across the PATH updates which coincided with my interest in bettering work-flow. I've watched the tutorial videos, read up a bunch online about the workbench, and I'm now beginning to actually use it for a modest real-world project. The biggest issue for me so far has been figuring out how to get started because the software is so far ahead of the documentation--for example, even on Sliptronic's relatively new tutorials, one of the first parts about the Configuration is now outdated, but I only realized that days later.... Not a complaint, but the price of admission for what seems to be a powerful tool is initial confusion.

So, one thing that had initially confused me was the Tool Manager. The first quirk is that because the icon is all-gray, it is grayed out whether active or not, unlike other icons. I had defined a couple of tools in there, and couldn't figure out how to access them from jobs. I later figured out that from within the Tool-Manager, you select tools to make copies for jobs. Since I don't have tool-change capabilities, I believe I would export one copy of a tool per job, and even if using the same tool for multiple jobs, if they do not share common Feeds/Speeds, then separate jobs would be defined for each--is that a typical approach? If I do this, (now that Spindle is being turned on) it is turned on for each job--am I correct that this is a cleanup job for a post-processor, and is harmless if left as is?

I noticed that within the project, I can define the post-processor, but it doesn't appear to be used as I am asked to define it each G-Code export. Is this an iterative/development thing?

I know I've run across this before and am not the only one confused by the Safe-Height/Clearance Height fields. I can tell from playing with it that Clearance-Height defines Rapid-Moves because the Red-Line moves up/down as I change the value and hit Apply. The Safe-Height doesn't is not clear? I'm also curious the thinking behind defining these fields on a job by job basis within a global project--is there upside to allowing the value to change as the machine shifts from job to job?

One other question that's plagued me--and it's not Path specific--is what's the deal with origins in Freecad? I'm used to old 2D CAD where I define the XY origin and EVERYTHING is with respect to that--directly, or indirectly... In Freecad--and I get it may be a 3D CAD thing--most sketches will be relative to the absolute XYZ origin, but sometimes within a given project, I'll begin a new sketch and realize the origin local to that sketch is different... Just me, or is this something other people observe and I just don't understand?

Best Regards,
Josh
User avatar
sliptonic
Veteran
Posts: 3457
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: Tool Selection?

Post by sliptonic »

JoshM wrote: Fri Oct 06, 2017 12:47 pm So, one thing that had initially confused me was the Tool Manager. The first quirk is that because the icon is all-gray, it is grayed out whether active or not, unlike other icons.
Not grayed out, just gray overall. But you make a good point. That icon should probably be redesigned. Rather than 3 identical drillbits, it should show some variation. Maybe we could add some color so it looks different in the active and inactive states (though I don't think we ever disable the tool manager button).
Since I don't have tool-change capabilities, I believe I would export one copy of a tool per job, and even if using the same tool for multiple jobs, if they do not share common Feeds/Speeds, then separate jobs would be defined for each--is that a typical approach?
A tool controller is quite different from a tool. The tool controller identifies a tool but specifies the feeds and speeds as well. So if you're using the same tool in a couple different ways, you would want multiple tool controllers in your job. When the job is post-processed, it's smart enough to figure out that if the actual tool changes, then add the tool change gcodes, otherwise just change the feeds and speeds. For example, my laser cutter only has one tool - the laser - but I can use it in many different ways. So a laser job might have two different tool controllers. One that moves the beam slow at high power to cut and another that goes fast at low power to engrave.

I mostly do 2.5D cutting so I rarely have more than one job in a project. I might have many different operations in the job, but just one job.
If I do this, (now that Spindle is being turned on) it is turned on for each job--am I correct that this is a cleanup job for a post-processor, and is harmless if left as is?
I don't understand. Are you confusing 'job' and 'operation'?
I noticed that within the project, I can define the post-processor, but it doesn't appear to be used as I am asked to define it each G-Code export. Is this an iterative/development thing?
That doesn't make sense. If the post is selected in the job, it's used. I see you're several hundred commits behind. You might be seeing an old bug. Try updating your build.
I know I've run across this before and am not the only one confused by the Safe-Height/Clearance Height fields. I can tell from playing with it that Clearance-Height defines Rapid-Moves because the Red-Line moves up/down as I change the value and hit Apply. The Safe-Height doesn't is not clear? I'm also curious the thinking behind defining these fields on a job by job basis within a global project--is there upside to allowing the value to change as the machine shifts from job to job?
Handling the heights is a little better now but still confusing. We'll eventually add some visuals to the task panels to help clarify. Basically, the clearance height is the top of any obstructions on the table. Vise, clamps, anything. It's always assumed to be safe rapid at this height.

Safe height is the top of the stock. Moving between locations within an operation is assumed to be safe at this height. If, for example, you are peck-drilling a hole, you wouldn't want to rapid out to the clamp height to clear chips, just out to the top of the stock.
One other question that's plagued me--and it's not Path specific--is what's the deal with origins in Freecad? I'm used to old 2D CAD where I define the XY origin and EVERYTHING is with respect to that--directly, or indirectly... In Freecad--and I get it may be a 3D CAD thing--most sketches will be relative to the absolute XYZ origin, but sometimes within a given project, I'll begin a new sketch and realize the origin local to that sketch is different... Just me, or is this something other people observe and I just don't understand?


I'm no expert on this. You're seeing FreeCAD going through big changes and growing pains to support future functionality like assemblies. It's all really confusing.
GeneFC
Veteran
Posts: 5373
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: Tool Selection?

Post by GeneFC »

JoshM wrote: Fri Oct 06, 2017 12:47 pm One other question that's plagued me--and it's not Path specific--is what's the deal with origins in Freecad? I'm used to old 2D CAD where I define the XY origin and EVERYTHING is with respect to that--directly, or indirectly... In Freecad--and I get it may be a 3D CAD thing--most sketches will be relative to the absolute XYZ origin, but sometimes within a given project, I'll begin a new sketch and realize the origin local to that sketch is different... Just me, or is this something other people observe and I just don't understand?
I find the origin behavior in FreeCAD to be quite stable and well-defined. However, the origin may not be where you want it.

If you are working in Part Design you can show the coordinate system by making "Origin" visible. In any workbench you can show the origin and axes by selecting "Toggle axis cross" in the View menu.

Changing the origin takes a bit more work. In Part Design, which is what I always work in, the first sketch can be moved at will via the property panel in the combo view. The first solid will then honor that placement choice. Subsequent sketches can be repositioned as needed with "Placement" and/or "super Placement" in the property panel. (This behavior may change somewhat in the coming months. Stay tuned.)

If you want to move an entire model in preparation for Path Job operations, the best way is to make use a clone (Draft Clone) of the model. The clone can be manipulated in any manner you wish. I use clones almost all of the time for the purpose of repositioning the model for gcode generation. I like the top of the machining to start at z = 0, but you may want something else.

At some future point it may be possible to define the machining direction and origin within a Job, but the current situation is entirely workable.

OS: Windows 7
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.12321 (Git)
Build type: Release
Branch: master
Hash: 9d977b90a498f9eb045208b543fdac8f857c532f
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
Locale: English/UnitedStates (en_US)

Gene
User avatar
JoshM
Posts: 456
Joined: Thu Oct 05, 2017 5:34 pm
Location: New Hampshire

Re: Tool Selection?

Post by JoshM »

Hey Brad,
Thanks for your reply. Per your suggestion, I've updated to the most recent 0.17 revision. I'm new to this, so unclear how to stay "current" on the 0.17 "Beta"...

Your post on heights is very helpful, and appreciated.

Yes, I believe I've misunderstood intended workflow, so am glad I asked. If I better understand you, I should be able to make multiple Tool-Controllers within a single Job. Because my machine doesn't have automatic tool change capability, I am choosing to split operations requiring tool changes into separate jobs, though I believe it would be an equally valid choice to--for example--put in a spot to manually change the tool within the same job. For my purposes, I could separate define a common tool, where Feeds/Speeds are identical, and then assign all operations that use that tool...

Yes, on the Tool-Manager color/availability--it is always available. Not a complaint, just an observation that getting started this confused me. Unfortunately, when starting up, everything is unknown, so anything that it an unknown is potentially confusing. By similar token, I tried following your "A summary of FreeCAD Path workbench configuration and use" tutorial, and one of the first things you do is go to the the Freecad Configuration Path settings and set the Automatic Save. That's now out of date (I think you did that video about 3-4 months ago) and I noted that in a more recent video--I think the video on Starting points. I think the barrier to getting started is getting tougher because it's unclear where to jump in, and get started, without reading ALL forum posts to try to understand the context...

I agree that Freecad has seen some SIGNIFICANT changes. I'm confused by some, but my takeaway generally is that it's similar to using "Classes" in C or C++, something I don't fully understand the details of, but it adds upfront complexity, but also makes things better long term... For example, I don't know what this new "Body" thing is, but it seems to be a container for all things pertaining to the project, so my guess is it adds a step, but makes things better for taking that step.

Does it matter if I create a project in Freecad, and immediately begin Path manipulation, versus creating that object, generating a STEP file, and beginning my PATH work on that STEP file? My question is about best practices, and intended use of software--I know either can be done, but am curious if one is more stable?

I'm going to play with this further, using the most up to date revision of 0.17, and see if I can learn this better as I begin to make real cuts.

Best Regards,
Josh






OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.12324 (Git)
Build type: Release
Branch: master
Hash: 81e2480ca62c48b992db6e438cc69640a5166631
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
Locale: English/UnitedStates (en_US)
User avatar
sliptonic
Veteran
Posts: 3457
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: Tool Selection?

Post by sliptonic »

JoshM wrote: Fri Oct 06, 2017 3:19 pm
Yes, I believe I've misunderstood intended workflow, so am glad I asked. If I better understand you, I should be able to make multiple Tool-Controllers within a single Job. Because my machine doesn't have automatic tool change capability, I am choosing to split operations requiring tool changes into separate jobs, though I believe it would be an equally valid choice to--for example--put in a spot to manually change the tool within the same job.
What kind of machine and control do you use? I don't have an ATC for my mill(linuxcnc) or the shopbot router. When those machines get an M6 command to change tools, They just pause execution until the operator confirms that the change was done and then resume. Purely manual tool change.

In Path, if you have two tool controllers with the same tool number, then no M6 will get added. If you have different tool numbers, then the M6 gets added and the post-processor can insert additional gcode if you've configured it to do so.

. By similar token, I tried following your "A summary of FreeCAD Path workbench configuration and use" tutorial, and one of the first things you do is go to the the Freecad Configuration Path settings and set the Automatic Save. That's now out of date (I think you did that video about 3-4 months ago) and I noted that in a more recent video--I think the video on Starting points. I think the barrier to getting started is getting tougher because it's unclear where to jump in, and get started, without reading ALL forum posts to try to understand the context...
Yes, a lot of those videos are now dated and I should make some new ones. There's tons of new features I haven't covered at all. They were really meant to be 'previews' but since 0.17 is so long in development, they've accumulated a lot of views and links.

Does it matter if I create a project in Freecad, and immediately begin Path manipulation, versus creating that object, generating a STEP file, and beginning my PATH work on that STEP file? My question is about best practices, and intended use of software--I know either can be done, but am curious if one is more stable?
You should be able to work directly from the shape/body. In fact this is preferable since the path can then update if the shape changes.
User avatar
JoshM
Posts: 456
Joined: Thu Oct 05, 2017 5:34 pm
Location: New Hampshire

Re: Tool Selection?

Post by JoshM »

Hey Guys,
Thanks for the replies. I really appreciate how active the forum is!

I'm going to have to play more with FC generally, and the info posted by GeneFC on origin, etc... is really helpful.

Brad, we have a couple of desktop Taig CNC machines, each controlled by Mach3. I'm sure they could work as you suggest, I just wasn't aware of that approach. We've traditionally broken our jobs up so we load a tool, load files to run, change tool, load new file, etc...

I appreciate the help.

Regards,
Josh
User avatar
JoshM
Posts: 456
Joined: Thu Oct 05, 2017 5:34 pm
Location: New Hampshire

Re: Tool Selection?

Post by JoshM »

So, I designed a 3D shape that I intend to machine using a 3/16" square-end-mill. I used Path to generate a FaceMill operation, and exported G-Code.
The export-GCode dialog does still ask for the post-processor (already setup in the Job), and at the moment, the output is not turning the spindle on--repeatable at the moment...

I've attached a screenshot of the Gerber output, and also the Freecad file I am using to generate the Gcode.

Best Regards,
Josh


OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.12324 (Git)
Build type: Release
Branch: master
Hash: 81e2480ca62c48b992db6e438cc69640a5166631
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
Locale: English/UnitedStates (en_US)
Attachments
Goniometer_Mold_100.FCStd
(116.62 KiB) Downloaded 35 times
Freecad_Path_SpindleOFF.jpg
Freecad_Path_SpindleOFF.jpg (363.11 KiB) Viewed 2294 times
User avatar
JoshM
Posts: 456
Joined: Thu Oct 05, 2017 5:34 pm
Location: New Hampshire

Re: Tool Selection?

Post by JoshM »

Another thing I noticed is that the Feeds setup in the Tool associated with the Job get saved with a x10 factor. For example, I wanted 750.00 mm/Minute, and entered that, but the value saved is 7500.00 mm/minute... Also, note that the values are being entered for the tools Feedrates, when the tool is associated with the job, but the rapids fields are left blank...

Best,
Josh
Post Reply