Helix subtractive pipe problem

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Helix subtractive pipe problem

Post by uwestoehr »

I have to cut out a rectangle along a helix. The rectangle is defined in the attached file in sketch "Helix-Cut-1".

The problem is that the result is no visible cut out. However it works, when I change the rectangle height in sketch "Helix-Cut-1" from 3 mm to e.g. 1.2 mm.
I investigated some time and find that it works whenever the sketch ends below the z-axis. As soon as it ends in positive z-values (above z-axis) the cut fails.

Is there a trick to achieve the cut I need?

OS: Windows 7
Word size of FreeCAD: 64-bit
Version: 0.18.15780 (Git)
Build type: Release
Python version: 3.6.6
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Attachments
Helix-cut-problem.FCStd
(145.52 KiB) Downloaded 62 times
User avatar
bejant
Veteran
Posts: 6075
Joined: Thu Jul 11, 2013 3:06 pm

Re: Helix subtractive pipe problem

Post by bejant »

uwestoehr wrote: Wed Feb 06, 2019 9:27 pm Is there a trick to achieve the cut I need?
Sort of, the trick is knowing that AdditivePipe, SubtractivePipe, Sweep, and other operations will fail if it creates an object that intersects itself.

I opened your file and used Tools > Dependency Graph to see how the model was made:
20190206a.png
20190206a.png (128.87 KiB) Viewed 2587 times

I saw that CopyHelix001 is a dumb (not parametrically linked) copy of Helix001, so I deleted Subtractive Pipe and CopyHelix001.
Selecting Helix001 and looking at the Data Tab I saw that Pitch and Height are the same at 1.400000 mm, so I changed the Pitch to be 1.400010 mm, making the helix just shy of a full 360 degree turn.

Now a new Subtractive Pipe with Frenet = True works as it should (I chose to make my CopyHelix001 dependent on Helix001).
20190206b.png
20190206b.png (29.43 KiB) Viewed 2587 times

20190206a-Helix-cut.FCStd
(156.2 KiB) Downloaded 57 times


OS: Ubuntu 18.04.1 LTS
Word size of OS: 32-bit
Word size of FreeCAD: 32-bit
Version: 0.18.15780 (Git)
Build type: Release
Branch: master
Hash: f94e76c1116ec3b818961ff65131b3d86fa5b95e
Python version: 2.7.15rc1
Qt version: 5.9.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: Helix subtractive pipe problem

Post by uwestoehr »

bejant wrote: Thu Feb 07, 2019 4:02 am
uwestoehr wrote: Wed Feb 06, 2019 9:27 pm Is there a trick to achieve the cut I need?
Sort of, the trick is knowing that AdditivePipe, SubtractivePipe, Sweep, and other operations will fail if it creates an object that intersects itself.
Selecting Helix001 and looking at the Data Tab I saw that Pitch and Height are the same at 1.400000 mm, so I changed the Pitch to be 1.400010 mm, making the helix just shy of a full 360 degree turn.
Many, many thanks!
I read that I must avoid intersections but why is it intersecting when I use exactly pitch = height? This should lead to a 360° turn.
So it seems that sweep operations also don't allow to end out with faces touching each other. Maybe this info should added to the docs.
best regards Uwe
User avatar
bejant
Veteran
Posts: 6075
Joined: Thu Jul 11, 2013 3:06 pm

Re: Helix subtractive pipe problem

Post by bejant »

uwestoehr wrote: Thu Feb 07, 2019 2:54 pm Many, many thanks!
I read that I must avoid intersections but why is it intersecting when I use exactly pitch = height? This should lead to a 360° turn.
You're welcome - you figured it out, the beginning face meets the end face. I wonder if it is strictly a FreeCAD limitation or if it is a limitation from OCC that self-intersects fail.
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: Helix subtractive pipe problem

Post by uwestoehr »

bejant wrote: Thu Feb 07, 2019 3:37 pm you figured it out, the beginning face meets the end face.
OK, so this means already intersection. It would be good if this hint is given in the docs. If you tell me how I can add this, I will do so.
chrisb
Veteran
Posts: 54192
Joined: Tue Mar 17, 2015 9:14 am

Re: Helix subtractive pipe problem

Post by chrisb »

From the Thread for Screw Tutorial:
Rule 1. The sweep must not self-intersect or touch. A self-intersecting sweep is an invalid solid.
I would rather change it to point to a general description of what we call self intersection. We need it for the description of sketches too, which cannot be padded or pocketed (or all the other additive or subtractive features) if they have self intersections.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: Helix subtractive pipe problem

Post by uwestoehr »

chrisb wrote: Fri Feb 08, 2019 10:52 am From the Thread for Screw Tutorial:
Many thanks that you changed there now Rule 1 and mention the touching.
chrisb wrote: Fri Feb 08, 2019 10:52 am I would rather change it to point to a general description of what we call self intersection. We need it for the description of sketches too, which cannot be padded or pocketed (or all the other additive or subtractive features) if they have self intersections.
+1
I volunteer to write something. Since I am too new to FC I think it is better that I only review a new Wiki page rather than writing/designing it. Please tell me how and where I can help.
chrisb
Veteran
Posts: 54192
Joined: Tue Mar 17, 2015 9:14 am

Re: Helix subtractive pipe problem

Post by chrisb »

Thanks for volunteering! It's quite a while since I created a new page, so I would prefer if someone else would do it in the right place.

In the wiki forum is a sticky post explaining how to get wiki access. That would be the first step.What might be even more important is to translate the documentation to german. There are many german users and forum members, but the translation is in a really bad condition. 0.18 stable is knocking on the door and it would be great to welcome it with an augmented translation.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Helix subtractive pipe problem

Post by NormandC »

User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: Helix subtractive pipe problem

Post by uwestoehr »

chrisb wrote: Sun Feb 10, 2019 10:40 pm What might be even more important is to translate the documentation to german. There are many german users and forum members, but the translation is in a really bad condition. 0.18 stable is knocking on the door and it would be great to welcome it with an augmented translation.
I already requested Wiki access. I know that there are many German users around but to my experience, the vast majority doing CAD at work knows English. Therefore this is not that pressing in my opinion. My spare time is limited so I will have to see at first how I can contribute properly step by step.
Post Reply