Helix machining for circular holes

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
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: Helix machining for circular holes

Post by sgrogan »

agryson wrote: sliptonic wrote:
In addition to the colors you listed, I'd also suggest:
Safety and rapid moves (red)

When it comes to colors, we should try to bear in mind that there are also cross-workbench suggestions that are provided in the existing artwork guidelines, though that will be more relevant in phase 2.
If there was ever a case to re-work the guidelines this would be it. Maybe even adding an exclamation point. At work these moves are jokingly referred to as "may be ejected with deadly force" the warning that appears on the door of the CNC.
agryson wrote:@cox: I'll whip up a version soon with the wraparound spiral you suggested
I predict this will be the winner. :)
"fight the good fight"
User avatar
bill
Posts: 376
Joined: Fri Jan 09, 2015 9:25 pm

Re: Helix machining for circular holes

Post by bill »

sgrogan wrote: agryson wrote:
@cox: I'll whip up a version soon with the wraparound spiral you suggested

I predict this will be the winner. :)
Simpler and more concise. :ugeek:
Without even seeing the final SVG, I vote it (@cox) as my choice, also; good eye @sgrogan!
User avatar
agryson
Posts: 463
Joined: Wed Nov 23, 2016 8:30 am
Location: Bordeaux, France
Contact:

Re: Helix machining for circular holes

Post by agryson »

Here we go, a version of @cox's wraparound helix in 16,24,32 and 64px:
Path-Helix_16.png
Path-Helix_16.png (856 Bytes) Viewed 2429 times
Path-Helix_24.png
Path-Helix_24.png (1.43 KiB) Viewed 2429 times
Path-Helix_32.png
Path-Helix_32.png (1.96 KiB) Viewed 2429 times
Path-Helix_64.png
Path-Helix_64.png (4.54 KiB) Viewed 2429 times
Votes currently stand at:
Simple Spiral: 2
Helix (mcdonalds): 1
Wraparound Helix: 3

So it seems unless new votes are cast that Wraparound has it! :-D

Notes: I did not change the tool shape itself since it's already used in the facing operation and the tool icons are being looked at.
User avatar
agryson
Posts: 463
Joined: Wed Nov 23, 2016 8:30 am
Location: Bordeaux, France
Contact:

Re: Helix machining for circular holes

Post by agryson »

sgrogan wrote:If there was ever a case to re-work the guidelines this would be it.
Oh, reworking the guidelines is my eventual aim, I hope to work on expanding these universal guidelines to take into account the various new use cases across workbenches.
e.g. Red = Constraints, Exports, Warnings (instead of just constraints for example)

This way, the colors would work across workbenches, reducing the learning curve when switching from one bench to another.
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: Helix machining for circular holes

Post by sgrogan »

agryson wrote:So it seems unless new votes are cast that Wraparound has it! :-D
I love it when a plan comes together. Great job!
EDIT: Now that we have the icon, how to test the feature on Win?
"fight the good fight"
User avatar
sliptonic
Veteran
Posts: 3457
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: Helix machining for circular holes

Post by sliptonic »

sgrogan wrote:
lorenz wrote:I was able to drop the requirement of scipy, see my commit 1edc151c5.

Maybe a windows user could test this before I submit another pull request?
Win x64 build https://github.com/sgrogan/FreeCAD/rele ... /0.17_path
I'm not familiar enough with Path to test but if there are no other win testers I can follow a procedure.
Thanks again lorenz, attention to details like this make FreeCAD truly cross-platform!

Thanks sgrogan,
I've attached a file.
open the file and switch to the path workbench
Select the wall of one of the circular holes
click the helix cut icon.

It should open the dialog, add the hole coordinates, and generate a green path.
snapshot-4.png
snapshot-4.png (98.16 KiB) Viewed 2341 times
Attachments
arraydrilling.fcstd
(34.76 KiB) Downloaded 50 times
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: Helix machining for circular holes

Post by sgrogan »

Default is the Start WB
sliptonic wrote:open the file

Code: Select all

Extension is not a python addable version: 'App::OriginGroupExtension'
Can't find Origin for "Body"
Extension is not a python addable version: 'Gui::ViewProviderOriginGroupExtension'
sliptonic wrote:switch to the path workbench
Select the wall of one of the circular holes
click the helix cut icon.

Code: Select all

Path workbench activated
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
DeprecationWarning: For future usage 'Curve' will return 'Line' which is infinite instead of the limited 'LineSegment'.
If you need a line segment then use this:
Part.LineSegment(edge.Curve,edge.FirstParameter,edge.LastParameter)
To suppress the warning set BaseApp/Preferences/Mod/Part/General/LineOld to false
path.PNG
path.PNG (90.35 KiB) Viewed 2336 times
sliptonic wrote:It should open the dialog, add the hole coordinates, and generate a green path.
Click OK, no new warnings.
"fight the good fight"
User avatar
sliptonic
Veteran
Posts: 3457
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: Helix machining for circular holes

Post by sliptonic »

Looks correct to me. Will wait for a PR from @lorenz
lorenz
Posts: 29
Joined: Wed Mar 16, 2016 9:35 pm

Re: Helix machining for circular holes

Post by lorenz »

Thank you all for testing this!

Meanwhile I have also reworked the task panel a bit, it now also uses a QToolBox based layout to make it more consistent with the other Path operations.

I will submit a PR shortly, based on my commit f2faa5080.

Kind regards,
Lorenz
lorenz
Posts: 29
Joined: Wed Mar 16, 2016 9:35 pm

Re: Helix machining for circular holes

Post by lorenz »

Post Reply