I'm using freecad 0.19 rev 24276 and I am trying to generate a tool path for a silly maze off thingaverse. I have:
1. imported it as a mesh,
2. put the mesh into round stock and created a facing path operation:
Now, I was hoping to use the "Adaptive Clearing and Profiling" tool to mill out the pockets of the maze itself. However, I can't find a way to add all the triangles from the maze floor's plane. I seem to have to click on each triangle and add it one by one into the base geometry:
Is there an easier way to add all these triangles? I think I could figure out how to make all those triangles into one circle in the base model, but I'd like to be able to add strangle polygonal surfaces that may not even be a plane all at once.
Is there a way to do this in the GUI? If there isn't, can someone point me in the direction for finding all these polygons with python code?
Selecting all faces on a plane of an STL->mesh item for adaptive clearing
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Re: Selecting all faces on a plane of an STL->mesh item for adaptive clearing
Hi and welcome to the forum!
STL is among the worst data exchange format. So the first choice would be to remodel this not really complex maze. No time will be lost for trying and failing to handle the mesh - which is only one character away from a mess. It may after all not be faster, but sure better. Even a cheap mill will do better than the tesselation, and FreeCAD circles are really round and no polygons.
If you really want to stick to the mesh, you should first refine it. Then you can experiment with Path->FinishSelectingLoop.
STL is among the worst data exchange format. So the first choice would be to remodel this not really complex maze. No time will be lost for trying and failing to handle the mesh - which is only one character away from a mess. It may after all not be faster, but sure better. Even a cheap mill will do better than the tesselation, and FreeCAD circles are really round and no polygons.
If you really want to stick to the mesh, you should first refine it. Then you can experiment with Path->FinishSelectingLoop.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Selecting all faces on a plane of an STL->mesh item for adaptive clearing
While doing other things I have imported the mesh converted it to a shape and did the refine. This took from my last post here until now. The file is now 94MB large, and I will not analyze it further due to the enormous calculation time. The refined thing, however, looks good:
You could try now to convert it to a solid and create a path for it, but besides the flaws mentioned above, my (educated) guess is, that it will take again hours to complete and depending on your mill there is the danger of overflowing it as well.A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Selecting all faces on a plane of an STL->mesh item for adaptive clearing
chrisb,
Thanks for pointing me towards the "refine mesh" tool and thank you for your patience with this rank amateur. My machine is chugging away on that refine operation right now.
I realize that my problem seems like an XY Problem, but this maze is only the beginning. I am just trying to get it to work and then I would like to mill out other objects from thingaverse without generating new models for every item. Is there a way to bulk select the faces that are visible when looking down the Z axis onto the model? I did the Edit->Box Selection, but then I'm unable to add it to the base geometry.
Thanks for pointing me towards the "refine mesh" tool and thank you for your patience with this rank amateur. My machine is chugging away on that refine operation right now.
I realize that my problem seems like an XY Problem, but this maze is only the beginning. I am just trying to get it to work and then I would like to mill out other objects from thingaverse without generating new models for every item. Is there a way to bulk select the faces that are visible when looking down the Z axis onto the model? I did the Edit->Box Selection, but then I'm unable to add it to the base geometry.
Re: Selecting all faces on a plane of an STL->mesh item for adaptive clearing
In the case of the refined version you can select the bottom - which then is a single face - and create a pocket.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Selecting all faces on a plane of an STL->mesh item for adaptive clearing
I waited for several hours to create a pocket from the bottom face as described above. Your computer ma be more powerful and manage it, but I would recommend: If you want to use models from thingiverse, use the same software they use, it may be more efficient.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Selecting all faces on a plane of an STL->mesh item for adaptive clearing
Here is a set of steps to a simple maze-shape face:UYLN4BR wrote: ↑Sun Apr 11, 2021 7:09 pm chrisb,
Thanks for pointing me towards the "refine mesh" tool and thank you for your patience with this rank amateur. My machine is chugging away on that refine operation right now.
I realize that my problem seems like an XY Problem, but this maze is only the beginning. I am just trying to get it to work and then I would like to mill out other objects from thingaverse without generating new models for every item. Is there a way to bulk select the faces that are visible when looking down the Z axis onto the model? I did the Edit->Box Selection, but then I'm unable to add it to the base geometry.
- Import the mesh into FreeCAD.
- Switch to Part workbench.
- In the object tree, select the mesh object.
- From Part menu, apply "Create shape from mesh" - This process took about five minutes on my machine, using default tolerance value of 0.01.
- In the object tree, select the new maze shape.
- From Part menu, apply "Convert to solid" - This process took about one minute and creates a new maze shape object with a "(Solid)" tag in the label.
- Click the Recompute icon to trigger the flagged recompute for the new solid.
- (OPTIONAL) In the object tree, select both the original mesh and the first mesh shape objects, and delete them.
- Click the yellow Cylinder creation tool. Set radius to 75mm and height to 2mm
- In the object tree, select the Cylinder object. Change its Z position Placement to 5mm. This raises the disc up off the floor of the maze solid.
- In the object tree, first select the Cylinder, then CTRL key and select the maze solid.
- Click the Cut tool in the toolbar. This process took about 4 or 5 minutes on my machine.
If you wish to further simplify the geometry before creating a Job and operations, you may do the following to extract the actual primary maze path as a simple face shape in the object tree.
- (OPTIONAL) Switch to the Draft workbench. In the object tree, select the Cut object we just made. Click the Downgrade tool in the toolbar. It is the large, blue down arrow. This will separate four child solids contained within the Cut object into individual solid objects.
- Switch to the Path workbench.
- Select the top face of the primary maze path. Remember, there are four solid pieces. One is the primary maze path. You need the top face of that one.
- Right click on the mouse and apply "Send to Python Console".
- In the Python Console window, you should see the second to last entry as starting with "elt = App.Active..."
- In the Python Console type "import Part" and press Enter. Type "Part.show(elt)" and press Enter. This will create a new Shape object in the object tree - it is an independent, face only, shape object.
- This new Shape object is also available for extrusion in the Part workbench, or use in the Path workbench as a base for a Job and its operations.
- This face-extraction-process can be repeated for the other three faces if you find it useful.
Hope this helps.
This is due to the Extensions feature that is enabled by default. I ran into this long compute time a while back and needed a solution. I have a draft PR, #4388 Improved Extensions feature and add to Adaptive operation, that has a manual push button, among other improvements, to enable the Extensions feature just for cases like this one where being on by default consumes a lot of time. There are a number of other extension upgrades in the PR. However, the PR is still needs a bit more testing before being flagged as ready for review. Also, I will post it to the forum officially for user input once I am content with it. Feel free to build and test if you like.
Cheers,
Russell
- Attachments
-
- A sample Adaptive operation on the maze path with 3mm endmill.
- Snip macro screenshot-19e3b8.png (267.08 KiB) Viewed 1176 times
-
- Sending a selected face to the Python Console and then using `Part.show()` to convert it to an independent shape object.
- Snip macro screenshot-6189f3.png (194.1 KiB) Viewed 1176 times
-
- Ready to apply Cut tool
- Snip macro screenshot-8865f2.png (205.54 KiB) Viewed 1176 times
Re: Selecting all faces on a plane of an STL->mesh item for adaptive clearing
Here is a pure tesselation free FreeCAD file with a (non adaptive) pocket:
- Attachments
-
- mazeFC.FCStd
- (250.14 KiB) Downloaded 23 times
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.