Help with Generating Tool Paths for a Specific Model

Here's the place for discussion related to CAM/CNC and the development of the Path module.
Thorhian
Posts: 8
Joined: Wed May 27, 2020 1:06 am

Help with Generating Tool Paths for a Specific Model

Postby Thorhian » Wed May 27, 2020 2:09 am

Hello Everyone!

I recreated an aluminum keyboard case as best as I could as a way to learn the basics of designing parts in FreeCAD. This case is the 5 Degree made by KDBFans (https://kbdfans.com/collections/60-layo ... -5-60-case). I have begun to get used to making parts in the part design workbench and I think I'll be using FreeCAD a lot now. However, I am trying to figure out how I could use the path workbench to create tool paths for a CNC Mill that I am in the process of making. I have used Fusion360 for CAM work so the process isn't totally foreign to me, but I'm no professional lol.

Here are a couple of pictures of my recreation:
Top-ish View:

Image
Side-ish View:

Image

I had the idea of milling out the center area where the keyboard PCB and mounting plate would be placed and screwed in, preferably using the adaptive tool path, but every time I try to do this I can't find a way to finish the tops of the screw posts. A 2D adaptive tool path won't touch them of course, and the 3D Pocket tool doesn't cut the material down all the way. Attempting to finish them with a separate operation like a facing operation results in no generated paths when specifying one of the screw post's top faces. The algorithms for the various path operations also struggle with the slightly lower plane at the top left of the case pocket, and even when specifying that face in Adaptive or 3D pocket, it generates some interesting paths (but that isn't the end of the world, a couple of simple contour operations could clean that area up).

3D Pocket Path:

Image
Simulation result of 3D Pocket:

Image

My other main problem generating tool paths for this model is the big chamfers of the sides of the model. I have tried using the 3D surface operation and the waterline operation but I either don't know how to use them or they just aren't ready yet? All I get are paths that just go up and down on the Y-axis. I was hoping that I could create steps down the chamfers with a normal 3/8" endmill and then smooth them out with a 3/8" ball mill. If I can do that in FreeCAD then that would be great, especially since I want to sell stuff I make on my mill, and Fusion360 is out of the question because of that lol. I also like FreeCAD and open-source software in general! :) Any help would be appreciated. I also plan on trying to learn more about how tool path generation works and maybe contribute to the path workbench and maybe the libraries it depends on.

Edit: I am attaching the file. This case file is a recreation for academic/learning purposes and for helping the Path devs (maybe?). If you want the case you should go give KDBFans your money for one. I'd also like to mention that I am currently using FreeCAD 0.19 build 20900.
tilt2_cam.FCStd
(309.25 KiB) Downloaded 13 times


Sincerely,
Thorhian
Last edited by Thorhian on Wed May 27, 2020 5:52 pm, edited 2 times in total.
chrisb
Posts: 25211
Joined: Tue Mar 17, 2015 9:14 am

Re: Help with Generating Tool Paths for a Specific Model

Postby chrisb » Wed May 27, 2020 6:46 am

Hi and welcome to the forum!

Could you please edit your post and include the images directly in the post (preferably reduced to the interesting part). That makes it for all viewers easier to follow.

Edit: And consider attaching the FreeCAD file.
chrisb
Posts: 25211
Joined: Tue Mar 17, 2015 9:14 am

Re: Help with Generating Tool Paths for a Specific Model

Postby chrisb » Wed May 27, 2020 7:01 am

Milling of the posts is an interesting task, and it would help indeed to have the file, so that not everyone who wants to play with it has to create an appropriate model himself.

To use the 3DPocket you should definitely use the latest 0.19. It provides important improvements.
Thorhian
Posts: 8
Joined: Wed May 27, 2020 1:06 am

Re: Help with Generating Tool Paths for a Specific Model

Postby Thorhian » Wed May 27, 2020 5:49 pm

chrisb wrote:
Wed May 27, 2020 7:01 am
Milling of the posts is an interesting task, and it would help indeed to have the file, so that not everyone who wants to play with it has to create an appropriate model himself.

To use the 3DPocket you should definitely use the latest 0.19. It provides important improvements.
Hi Chris! I went ahead and made the requested changes to the first post and attached the CAD file. I just realized that this is technically the Development subforum, so if this thread needs to be moved go ahead.

Also, I'll go ahead and edit the post to mention that I am using FreeCAD 0.19 build 20900. I'll grab another build via the AUR git script but I just grabbed this a couple of days ago.
GeneFC
Posts: 1228
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: Help with Generating Tool Paths for a Specific Model

Postby GeneFC » Wed May 27, 2020 6:38 pm

There are a couple of kludge workarounds I have used in situations like this.

First, temporarily add a floor to your model at the level of the top of the posts. Then pocket the entire inside area down to the level of the posts. You may need to create a clone of the original model and make a separate Job to do this nicely.

The other kludge that works for the tops of the posts (but not along the walls) is to tell the Facing operation that the tool is very small, such as 1/8 inch. Then the Facing operation will create a path on top of the post. Just go ahead and use your original tool (3/8 inch in this case) and clear the top of the post. If you have a tool changer you may need to edit the g-code or otherwise fool the tool changer.

Neither of these ideas are at all elegant, but they will work.

Gene
Thorhian
Posts: 8
Joined: Wed May 27, 2020 1:06 am

Re: Help with Generating Tool Paths for a Specific Model

Postby Thorhian » Wed May 27, 2020 7:00 pm

GeneFC wrote:
Wed May 27, 2020 6:38 pm
There are a couple of kludge workarounds I have used in situations like this.

First, temporarily add a floor to your model at the level of the top of the posts. Then pocket the entire inside area down to the level of the posts. You may need to create a clone of the original model and make a separate Job to do this nicely.

The other kludge that works for the tops of the posts (but not along the walls) is to tell the Facing operation that the tool is very small, such as 1/8 inch. Then the Facing operation will create a path on top of the post. Just go ahead and use your original tool (3/8 inch in this case) and clear the top of the post. If you have a tool changer you may need to edit the g-code or otherwise fool the tool changer.

Neither of these ideas are at all elegant, but they will work.

Gene
I will keep these tips in mind. Thank you Gene! Do you have any tips on dealing with the chamfers or sloped surfaces in general in the path workbench?
User avatar
roerich_64
Posts: 1217
Joined: Thu May 21, 2015 7:00 pm
Location: Ostfriesland

Re: Help with Generating Tool Paths for a Specific Model

Postby roerich_64 » Wed May 27, 2020 7:40 pm

The new Water Line Feature can clear the inner room:
Keyboard_I.jpg
Keyboard_I.jpg (536.26 KiB) Viewed 365 times
Keyboard.FCStd
(301.64 KiB) Downloaded 3 times

Have Fun
Walter
Thorhian
Posts: 8
Joined: Wed May 27, 2020 1:06 am

Re: Help with Generating Tool Paths for a Specific Model

Postby Thorhian » Thu May 28, 2020 2:45 am

roerich_64 wrote:
Wed May 27, 2020 7:40 pm
The new Water Line Feature can clear the inner room:




Have Fun
Walter
I went ahead and updated my 0.19 build and I managed to get the same/similar results as the file you provided. Thanks Walter! Do you have any recommendations when it comes to generating paths for the large chamfers (or sloped/not flat surfaces in general as well) in the path workbench?
User avatar
roerich_64
Posts: 1217
Joined: Thu May 21, 2015 7:00 pm
Location: Ostfriesland

Re: Help with Generating Tool Paths for a Specific Model

Postby roerich_64 » Thu May 28, 2020 5:11 am

In the past i have generated many tests with the new features:
https://forum.freecadweb.org/viewtopic. ... 20#p387420

In the german forum i found a way to deburr with the 3d-Surface an edge on a pipe:
https://forum.freecadweb.org/viewtopic. ... 10#p398135

Do you have any recommendations when it comes to generating paths for the large chamfers (or sloped/not flat surfaces in general as well) in the path workbench?
Yes, i think we can help... But before that we should do a little business ;)
In order to reward the programmers behind the Path Workbench a little, I would like to ask you to create a detailed report in the 'User Showcase' area ... preferably with a video, at least during the milling process. :)

Walter
Thorhian
Posts: 8
Joined: Wed May 27, 2020 1:06 am

Re: Help with Generating Tool Paths for a Specific Model

Postby Thorhian » Thu May 28, 2020 5:37 pm

roerich_64 wrote:
Thu May 28, 2020 5:11 am
In the past i have generated many tests with the new features:
https://forum.freecadweb.org/viewtopic. ... 20#p387420

In the german forum i found a way to deburr with the 3d-Surface an edge on a pipe:
https://forum.freecadweb.org/viewtopic. ... 10#p398135

Do you have any recommendations when it comes to generating paths for the large chamfers (or sloped/not flat surfaces in general as well) in the path workbench?
Yes, i think we can help... But before that we should do a little business ;)
In order to reward the programmers behind the Path Workbench a little, I would like to ask you to create a detailed report in the 'User Showcase' area ... preferably with a video, at least during the milling process. :)

Walter
I honestly would love to do that Walter. I just have to build my mill first. Hopefully, I'll be able to begin my hunt for steel for the thing again next week because I have pretty much everything else I need (including an RPi4 with a couple of Mesa FPGA boards). But yeah, the Path workbench and its devs need more love lol. I would love to work on it myself but I don't think I have the requisite knowledge to do so (yet). I will also take tips on hunting for the knowledge needed for developing CAM software and algorithms.