Part Helix used in Part Design Sweep

About the development of the Part Design module/workbench. PLEASE DO NOT POST HELP REQUESTS HERE!
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
JoshM
Posts: 456
Joined: Thu Oct 05, 2017 5:34 pm
Location: New Hampshire

Part Helix used in Part Design Sweep

Post by JoshM »

Thread cutting in PartDesign Workbench requires a Part->Create Primitives...->Helix. Once back in the PartDesign workbench, selecting the helix and a thread-cutting shape and selecting PartDesign->Subtractive Pipe, and setting Orientation Mode equal to Frenet, generates a BaseFeature of the Helix, which the sweep operation uses as its path.

This works well, except that any change to the location of the helix breaks the operation and cannot be remedied because the BaseFeature cannot be moved.

Initially I tried using a clone, but that requires a separate Body. I found that a ShapeBinder of the Helix works for all cases because it is placed within the same Body, and it moves with the original Helix.

Would this be a better default method for the PartDesign Sweep/Pipe and similar operations to operate on Part module primitives?

Best Regards,
Josh

OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.16502 (Git)
Build type: Release
Branch: master
Hash: 06962535fa9ff348acca1b893cc4239908fb8bae
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedStates (en_US)
Attachments
ThreadCut.jpeg
ThreadCut.jpeg (44.63 KiB) Viewed 2658 times
ickby
Veteran
Posts: 3116
Joined: Wed Oct 05, 2011 7:36 am

Re: Part Helix used in Part Design Sweep

Post by ickby »

Personally i think the Body Logic should bei extended to allow arbitrary curve type shapes as children. It makes sense to not allow volume shapes to be put into a body, as the outcome of part design should be a volume and the flow of operations in part design cannot handle it. But any curve shape can be seen as construction geometry and hence be used.

Many years ago when updating part design I envisioned to allow putting curves (and surfaces) into the body and giving them automatically a different colour, so they are marked as construction geometry. Than you could distinguish between datum, construction geometry and real shape by colour. However, I was to lazy to implement it.

I also think its nice if a body can be self contained, everything needed for its construction being within. When required the datums (plane, line, shapebinder) can be used to create links to other things. Imho this would be the cleanest. Hence I like to put curves into the body. But that is personal taste.
chrisb
Veteran
Posts: 53945
Joined: Tue Mar 17, 2015 9:14 am

Re: Part Helix used in Part Design Sweep

Post by chrisb »

I like this clean concept, which still keeps the idea of a body. While this works already partially, e.g. whith ShapeStrings, it would be really great if it would work on all shapes such as Helix, Loo's FCGears, ...
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
TheMarkster
Veteran
Posts: 5505
Joined: Thu Apr 05, 2018 1:53 am

Re: Part Helix used in Part Design Sweep

Post by TheMarkster »

Even now the Helix can be added to the body in the python console seemingly without issue:

Code: Select all

App.ActiveDocument.Body.Group += [App.ActiveDocument.Helix]
The code presumes body is named Body and helix is named Helix.
chrisb
Veteran
Posts: 53945
Joined: Tue Mar 17, 2015 9:14 am

Re: Part Helix used in Part Design Sweep

Post by chrisb »

TheMarkster wrote: Thu Aug 20, 2020 2:06 am

Code: Select all

App.ActiveDocument.Body.Group += [App.ActiveDocument.Helix]
That looked so intriguing, I had to test it immediately with an additive and a subtractive thread. It is definitely an improvement, but the helices are not yet there: They should appear as sweep paths under the sweeps, yet they remain on the body's top level, file attached for ease of further studies:
Snip macro screenshot-d906fa.png
Snip macro screenshot-d906fa.png (37.5 KiB) Viewed 2579 times
Attachments
helixInBody.FCStd
(380.82 KiB) Downloaded 56 times
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
JoshM
Posts: 456
Joined: Thu Oct 05, 2017 5:34 pm
Location: New Hampshire

Re: Part Helix used in Part Design Sweep

Post by JoshM »

Just to be clear though Chrisb, my file is no different than yours in that it also has only the "cut tool" sketch under the Pipe operation.
-Josh
ThreadCut2.png
ThreadCut2.png (179.38 KiB) Viewed 2548 times
TheMarkster
Veteran
Posts: 5505
Joined: Thu Apr 05, 2018 1:53 am

Re: Part Helix used in Part Design Sweep

Post by TheMarkster »

What I did in the Python console also can be done in the Gui. Look for the Group property of the Body object, which can be edited to include the Helix.
DrC
Posts: 32
Joined: Tue Sep 13, 2016 1:12 am

Re: Part Helix used in Part Design Sweep

Post by DrC »

Apologies for joining uninvited - especially if I'm in the wrong place. I'm a competent novice, by which I mean I can design pretty well anything I can visualise that I need to do a job. I exclude works of art!

The one missing tool for me is extension with twist. I can live with the same presumed axis as for a polar pattern, and the only change to the User Interface for pad or pocket would be the total twist angle to be achieved over the pad or the pocket dimension.

An example of an application would be for helical gears where the purpose might be to have the top and bottom halves of a pinion with helical meshes in opposite directions, so that the smooth, 'toothless' drive property was not at the expense of an axial thrust.

Would this be a feasible route to an accessible helix?

Thanks for all you guys do.


DrC
chrisb
Veteran
Posts: 53945
Joined: Tue Mar 17, 2015 9:14 am

Re: Part Helix used in Part Design Sweep

Post by chrisb »

DrC wrote: Mon Nov 30, 2020 1:55 am An example of an application would be for helical gears where the purpose might be to have the top and bottom halves of a pinion with helical meshes in opposite directions, so that the smooth, 'toothless' drive property was not at the expense of an axial thrust.
If I understand you right this is implemented for gears already in the Gears workbench (addon). For the probably rare other cases it can always be done with two connected coaxial helices of same diameter and pitch with opposing directions.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
DrC
Posts: 32
Joined: Tue Sep 13, 2016 1:12 am

Re: Part Helix used in Part Design Sweep

Post by DrC »

Thanks for responding chrisb, a couple of points.

First and most worrying (because it complicates things) I can't get the Gears workbench because Tools-Addon manager only shows me one entry under Workbenches, namely 3D_Printing_Tools. I'm a user running:

OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.4 (GitTag)
Build type: Release
Branch: releases/FreeCAD-0-18
Hash: 980bf9060e28555fecd9e3462f68ca74007b70f8
Python version: 3.6.6
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedKingdom (en_GB)

Second, while I used it as an 'everyday' description of the UI and the facility I am looking for, I am not into helical gears. The application that first sent me on this hunt was an adjustable quick-release camera mount for a dashcam. I wanted to extrude a slightly twisted rectangular beam so that I could adjust the mount angle on by pushing the beam farther into a tight-ish hole in the mounting bracket. This would convert the relatively crude friction adjustment into quite fine camera angle adjustments. With a square profile as my 'gear' I could do this. It might be sledgehammer cracking a nut but that wouldn't matter!

PS I got a fixed angle near enough with the third model. I have used the same try-again strategy for two neighbourhood courtesy screens on outside floodlights where the angle is quite critical.

Thanks again for your help. Should I report a bug with Addon manager or not?


DrC
Post Reply