Helix machining for circular holes

Here's the place for discussion related to CAM/CNC and the development of the Path module.
lorenz
Posts: 30
Joined: Wed Mar 16, 2016 9:35 pm

Helix machining for circular holes

Postby lorenz » Wed Jan 04, 2017 7:27 pm

I updated my code for machining circular holes with helicular paths (see also the old discussion). I made a pull request for this, see https://github.com/FreeCAD/FreeCAD/pull/417.

Compared to earlier versions I removed the feature to automatically detect "counterbore" holes. Currently it seems that FreeCAD does not offer sufficient topological information (to the Python layer, at least) to be able to this fast enough for parts with lots of faces. So a user just has to select all cylinders of a more complex hole manually. This should not be to problematic, IMHO.

What do you think?

Here is a screenshot of the current GUI taskpanel and the resulting paths:
Screenshot_20170104_201123.png
Screenshot_20170104_201123.png (219.12 KiB) Viewed 1290 times
lorenz
Posts: 30
Joined: Wed Mar 16, 2016 9:35 pm

Re: Helix machining for circular holes

Postby lorenz » Wed Jan 04, 2017 7:34 pm

And here is the resulting path simulated with camotics:
Screenshot_20170104_203313.png
Screenshot_20170104_203313.png (165.34 KiB) Viewed 1287 times
User avatar
sliptonic
Posts: 1393
Joined: Tue Oct 25, 2011 10:46 pm

Re: Helix machining for circular holes

Postby sliptonic » Wed Jan 04, 2017 10:06 pm

Hey lorenz,
Thanks for the PR. I'll take a look tonight and see how this looks. We might want to integrate this more directly as a general operation or include it with drilling. Give us some time to check it out.

Thanks.
lorenz
Posts: 30
Joined: Wed Mar 16, 2016 9:35 pm

Re: Helix machining for circular holes

Postby lorenz » Wed Jan 04, 2017 10:33 pm

If you decide to integrate it somewhere, please, do not call it drilling, that is a completely different operation.
mlampert
Posts: 1125
Joined: Fri Sep 16, 2016 9:28 pm

Re: Helix machining for circular holes

Postby mlampert » Thu Jan 05, 2017 12:05 am

lorenz wrote:If you decide to integrate it somewhere, please, do not call it drilling, that is a completely different operation.
I agree that the resulting g-code is entirely different- but if I view the operation from a workflow and end result perspective (as a user) they have more in common than not. You would select (be able to select) the same features of a part, and you expect the same result, a round hole.

I'm not suggesting to do this under the hood, it should probably be a selectable option. Not trying to diminish the feature (I love it), just a thought to keep the UI uncluttered.
User avatar
sliptonic
Posts: 1393
Joined: Tue Oct 25, 2011 10:46 pm

Re: Helix machining for circular holes

Postby sliptonic » Thu Jan 05, 2017 12:27 am

That's kind of what I was thinking about too. After yorik introduced the Arch Panels I started thinking about the difficulty in setting up a drilling operation where the target object might have dozens or hundreds of holes. We'll need selection tools that filter by diameter at the very least. We might need commands to sort the selection like a traveling salesman.

These tools have a lot in common with your helical hole.

There might be other kinds of operations that have similarities as well.

Boring for example looks a lot like drilling but has some additional options.
Threading?
Chamfering?

I, too, really like what you've done with this but I want to make sure we end up with a consistent and intuitive UI.
cox
Posts: 961
Joined: Wed Nov 26, 2014 11:37 pm

Re: Helix machining for circular holes

Postby cox » Thu Jan 05, 2017 12:34 am

lorenz wrote:please, do not call it drilling, that is a completely different operation.
+1
Need help? Feel free to ask, but please read the guidelines first
User avatar
sgrogan
Posts: 4913
Joined: Wed Oct 22, 2014 5:02 pm

Re: Helix machining for circular holes

Postby sgrogan » Thu Jan 05, 2017 12:53 am

lorenz wrote:If you decide to integrate it somewhere, please, do not call it drilling, that is a completely different operation.
mlampert wrote:I agree that the resulting g-code is entirely different- but if I view the operation from a workflow and end result perspective (as a user) they have more in common than not. You would select (be able to select) the same features of a part, and you expect the same result, a round hole.
I agree with lorenz here. I'm an engineer not a machinist. But the machinists I've worked with have taught me to expect different results from "milling" than "drilling". "Drilling" is a straight plunge with the "drill: , maybe pecking cycles , this is a not precise operation. The machinists have taught me to design for a larger diameter than the tool if tolerance is important. Diameter 0.128" round hole, "circ interp" an 0.125" endmill =+/- 0.001" tolerance.
User avatar
bill
Posts: 355
Joined: Fri Jan 09, 2015 9:25 pm

Re: Helix machining for circular holes

Postby bill » Thu Jan 05, 2017 4:11 am

lorenz wrote:I updated my code for machining circular holes with helicular paths (see also the old discussion). I made a pull request for this, see https://github.com/FreeCAD/FreeCAD/pull/417. ... What do you think?
Looks very nice; cannot wait to test drive this "BORING Operation/Tool".
User avatar
sliptonic
Posts: 1393
Joined: Tue Oct 25, 2011 10:46 pm

Re: Helix machining for circular holes

Postby sliptonic » Thu Jan 05, 2017 5:30 am

I did get this working and it produces very nice paths! I sent you a pm about specific implementation issues.

When clearing a circular hole, it does a helical descent, then rapids out, moves over the step width and repeats with progressively larger helices.

I'm curious if users would also like to see the alternative strategy where it spirals down a step, then spirals out to the full width, rapids back and repeats.

Is there ever an advantage of one over the other?