Creating CNC roughing and finishing passes
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Re: Creating CNC roughing and finishing passes
There's one issue other than Herbk's point that I would mention, Bill--and BTW, nice depiction there!
If you watch the steps, there are redundant passes over the same path lines as the sphere is cut away. I came online ask thoughts on how it should be handled and note your post. If in fact the algo were to step across sphere multiple passes, ideally offset passes.
I came across the question from a different angle. If you had the finish cut, and copied it upwards by a "step up", then bounded it with the Stock Model, it would look more like this
for finish_pass, and prior_pass.
My question is how difficult is it sewing up wires that are chopped where they exit the top of the Stock?
Best Regards,
Josh
If you watch the steps, there are redundant passes over the same path lines as the sphere is cut away. I came online ask thoughts on how it should be handled and note your post. If in fact the algo were to step across sphere multiple passes, ideally offset passes.
I came across the question from a different angle. If you had the finish cut, and copied it upwards by a "step up", then bounded it with the Stock Model, it would look more like this
for finish_pass, and prior_pass.
My question is how difficult is it sewing up wires that are chopped where they exit the top of the Stock?
Best Regards,
Josh
Re: Creating CNC roughing and finishing passes
In looking at it further, the answer is to project planar pocket paths onto the same surface, with center section cut out, according to radial offset, at step height.
In concept, by bounding out the tall sections when generating stepped passes, we get the best of both worlds.
Honestly though, I think regular roughing, followed by a surface pass is probably the best option.
Josh
In concept, by bounding out the tall sections when generating stepped passes, we get the best of both worlds.
Honestly though, I think regular roughing, followed by a surface pass is probably the best option.
Josh
Re: Creating CNC roughing and finishing passes
Hey JM,
Keep up the valuable/great -- work/investigation!
There is no regular. No!?
Part workflow Example:
Hog/Rough with Drop-Cutter Op (StepDown = 10 mm)
Finishing Pass-1 with Drop-Cutter Op (StepDown = 0.5 mm)
Finish Pass-2 with Water-Line Op (StepDown = 0.5 mm)
Finishing with an additional Water-Line cut provide additional machining axis/bi-axial-finish.
Keep up the valuable/great -- work/investigation!
Depending on the capability of your machining environ, workflow will vary.
There is no regular. No!?
Part workflow Example:
Hog/Rough with Drop-Cutter Op (StepDown = 10 mm)
Finishing Pass-1 with Drop-Cutter Op (StepDown = 0.5 mm)
Finish Pass-2 with Water-Line Op (StepDown = 0.5 mm)
Finishing with an additional Water-Line cut provide additional machining axis/bi-axial-finish.
Re: Creating CNC roughing and finishing passes
Thanks Bill--appreciate the encouragement. Here's what I mean by best of both worlds.bill wrote: ↑Tue Oct 09, 2018 11:52 am Hey JM,
Keep up the valuable/great -- work/investigation!
Depending on the capability of your machining environ, workflow will vary.
There is no regular. No!?
Part workflow Example:
Hog/Rough with Drop-Cutter Op (StepDown = 10 mm)
Finishing Pass-1 with Drop-Cutter Op (StepDown = 0.5 mm)
Finish Pass-2 with Water-Line Op (StepDown = 0.5 mm)
Finishing with an additional Water-Line cut provide additional machining axis/bi-axial-finish.
Here are paths generated from usual pocket-mode from Path FeatureArea, so any of usual options we have now exist here. This image shows an Offset projected onto the millable section of the sphere for a Square End Mill.
That was the result of this image.
And, per Herbk's suggestion, roughing could be done using usual pocketing, just operating on a 3d mill envelope from the top surface (Stock Top).
I separated out the roughing, and the surface finish pockets, so that zig-zag to offset or such can be done. I need to figure out how to make the projected wires on the surface same-same as the regular/top pocket, so that the projected wires change with the top pocket mode parameters. I know it can be done, I'm just new to using classes.
The thing about practical surface milling is that the moment you introduce steps down value, you either buff the top, and for metals, it may be slower--or you break tools. The compromise--where existing roughing/surface finish isn't adequate, I think that I can introduce the hybrid step/surface fairly quickly by cutting top_face used for the pocket-mode paths. That too, I need to figure out how to make easy to modify for path wires projected onto surface and offset.
Re: Creating CNC roughing and finishing passes
BTW josh, your last post(s) was more interesting then the last Star Wars episode. Nice modeling of the Death Star (case study)!
Re: Creating CNC roughing and finishing passes
Talking about the death star: https://www.youtube.com/watch?v=xxX7QCll3oc and https://www.youtube.com/watch?v=Sv5iEK-IEzw give interesting insight into the internal organization.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Creating CNC roughing and finishing passes
Sorry if I'm late.
For the roughing operation, many strategies could be use, obviously the final scope is to minimize time and preserve the surface for the subsequent finishing operation.
In some case like cutting wood or some granular materials if you go very rough in the roughing operation you have to take in account the amount of material that could be "damaged" by the roughing strategy, plywood or laminated wood as an examples could be damaged by some splines that are lifted by the roughing operation.
So maybe if a roughing strategy is to be implemented, maybe a sort of "allowance" parameter that enlarge the area of roughing could be inserted.
Some CAM program have a "Roughing Clearance" parameters and a sort of dual mode for the operations.
basically the operation have two mode "roughing and finishing" and some parameters are taken in account according to the mode.
When operating you create the finishing OP, then copy the finishing OP and set the trigger that state that this operation is a "roughing".
For the order of the operation that someone has cited in this discussion, a parameter that specifies the order of the operation at the GCode creation phase could be introduced, if there is no need of modifications the order of creation could be used if not if you have say 8 operation and want that the 8 is done before the 6 [1,2,3,4,5,6,7,8] could became [1,2,3,4,5,8,6,7] and obviously this care has to be taken by the user.
I will try the Path workbench in the near future, as I'm developing a workbench that convert a file written by a CAM program in FreeCAD entities, and I'm thinking of implement a manner to translate the MOPs (Machine OPerations as they are called in the other program) in FreeCAD Path.
my two cents, and sorry for the intrusion
Regards
Carlo D.
Speaking of opencamlib, the dropcutter algorithm, is a mere "probing" of the 3D surface with the tool "model" if I remember well when I have mailed with Anders Wallin some time ago, it is a sort of collision detection using the model and the shape of the tool, and there is differences, between say a 3mm cylindrical tool and a ballnose tool and even with a bullnose tool.sliptonic wrote: ↑Thu Sep 27, 2018 7:17 pm If the roughing op uses a dropcutter algo to determine intersection points, that collection of points may not be useful for a finishing op that uses the same tool and model but a waterline algo. Or maybe it is. I don't know. I'm just suggesting that it's a level of optimization that can wait.
For the roughing operation, many strategies could be use, obviously the final scope is to minimize time and preserve the surface for the subsequent finishing operation.
In some case like cutting wood or some granular materials if you go very rough in the roughing operation you have to take in account the amount of material that could be "damaged" by the roughing strategy, plywood or laminated wood as an examples could be damaged by some splines that are lifted by the roughing operation.
So maybe if a roughing strategy is to be implemented, maybe a sort of "allowance" parameter that enlarge the area of roughing could be inserted.
Some CAM program have a "Roughing Clearance" parameters and a sort of dual mode for the operations.
basically the operation have two mode "roughing and finishing" and some parameters are taken in account according to the mode.
When operating you create the finishing OP, then copy the finishing OP and set the trigger that state that this operation is a "roughing".
For the order of the operation that someone has cited in this discussion, a parameter that specifies the order of the operation at the GCode creation phase could be introduced, if there is no need of modifications the order of creation could be used if not if you have say 8 operation and want that the 8 is done before the 6 [1,2,3,4,5,6,7,8] could became [1,2,3,4,5,8,6,7] and obviously this care has to be taken by the user.
I will try the Path workbench in the near future, as I'm developing a workbench that convert a file written by a CAM program in FreeCAD entities, and I'm thinking of implement a manner to translate the MOPs (Machine OPerations as they are called in the other program) in FreeCAD Path.
my two cents, and sorry for the intrusion
Regards
Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.
Blog: https://okkmkblog.wordpress.com/
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.
Blog: https://okkmkblog.wordpress.com/
Re: Creating CNC roughing and finishing passes
Talking about milling of a sphere, maybe if the paths of the "slices" are done in circular way this could be improve the times of the roughing operation, but this maybe involve a different strategy of calculating the pocket paths.
Using the "internal shape" and outline the contour in a circular path an filling the outer shape (maybe rectangular or square) could reduce the total "distance traveled" by the tool.
Now I don't find the link but a similar approach was discussed also by Ander Wallin in on of this post on his forum some time ago giving a link to another site that was testing his OCL library.
Regards
Carlo D.
Using the "internal shape" and outline the contour in a circular path an filling the outer shape (maybe rectangular or square) could reduce the total "distance traveled" by the tool.
Now I don't find the link but a similar approach was discussed also by Ander Wallin in on of this post on his forum some time ago giving a link to another site that was testing his OCL library.
Regards
Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.
Blog: https://okkmkblog.wordpress.com/
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.
Blog: https://okkmkblog.wordpress.com/
Re: Creating CNC roughing and finishing passes
Very late. Some of the functions you talk about seem to be already implemented
Is it the same as Pass extension?Some CAM program have a "Roughing Clearance" parameters and a sort of dual mode for the operations.
Edit the Operations and you can reorder them.For the order of the operation that someone has cited in this discussion, a parameter that specifies the order of the operation at the GCode creation phase could be introduced, if there is no need of modifications the order of creation could be used if not if you have say 8 operation and want that the 8 is done before the 6 [1,2,3,4,5,6,7,8] could became [1,2,3,4,5,8,6,7] and obviously this care has to be taken by the user.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Creating CNC roughing and finishing passes
No for the Roughing Clearance, is more to enlarge the paths, near the objects to be milled so more material is left in the roughing pass, the stepover is the same. (But i don't know how the "Pass extension" works).chrisb wrote: ↑Sat Oct 20, 2018 8:14 pmVery late. Some of the functions you talk about seem to be already implementedIs it the same as Pass extension?Some CAM program have a "Roughing Clearance" parameters and a sort of dual mode for the operations.Edit the Operations and you can reorder them.For the order of the operation that someone has cited in this discussion, a parameter that specifies the order of the operation at the GCode creation phase could be introduced, if there is no need of modifications the order of creation could be used if not if you have say 8 operation and want that the 8 is done before the 6 [1,2,3,4,5,6,7,8] could became [1,2,3,4,5,8,6,7] and obviously this care has to be taken by the user.
For the reordering I mean the "order" in the final Gcode output.
All my posts however are more teorical, as in the past I've tried to develop a CAM program that worked on Linux, so I've had some interesting discussion with Anders Wallin about the OCL "internals" and thi is related to the first post.
The second post are about a more wide and different project, as I've developed some plugins for another CAM program, (not so widespread, but according to the last information seen i have near 8000 users), and I'm developing a "FreeCAD WorkBench" that read directly the XML file of this program and translate it in FreeCAD entities (sorry but I don't know of to proper call them), for now with the only scope of using the machining operation and the entities data to obtain a 3D representation on the final pieces cut from a plywood sheet, to make maybe some assemblies using the Assembly plugin.
This work is in the early stage , but some users of this CAM have expressed some interest in it.
The final goal is to make some "interoperability" between this CAM and FreeCAD, like importing the "shapes" (entity or whatsoever we want call them) maybe modify them and then reexport them in the XML format (as this CAM have postprocessor for many professional machines).
But maybe some of them want to try to mill something with FreeCAD, (maybe even me), so in the near future i will study the FreeCAD Path workbench as today it seem more mature form the time I've started to try it (And I was not encouraged to continue as many of my question were answered with It is an heavy work in progress so it is not usable yet)
Intentionally I don't want to publish here the name of this CAM, (I don't want advertise nor my work, nor the CAM maker).
Thank for the reply and Best Regards
Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.
Blog: https://okkmkblog.wordpress.com/
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.
Blog: https://okkmkblog.wordpress.com/