I try to cut TopoShape but result is wrong.

Need help, or want to share a macro? Post here!
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
falrus
Posts: 10
Joined: Fri Nov 29, 2013 8:39 am

I try to cut TopoShape but result is wrong.

Post by falrus »

I try to make cylinder with hole cut with 14x1 LH screw thread. But there are no hole on result.

Code: Select all

ps1=(7.0,0,0)
ps2=(6.0,0,0.5)
ps3=(6.0,0,-0.5)
ps4=(0,0,0.5)
ps5=(0,0,-0.5)
edge1 = Part.makeLine(ps1,ps2)
edge2 = Part.makeLine(ps1,ps3)
edge3 = Part.makeLine(ps2,ps4)
edge4 = Part.makeLine(ps4,ps5)
edge5 = Part.makeLine(ps5,ps3)
cutProfile = Part.Wire([edge1,edge2,edge3,edge4,edge5])

helix0=App.ActiveDocument.addObject("Part::Helix","Helix")
helix0.Pitch=1.00
helix0.Height=14.00
helix0.Radius=7.00
helix0.Angle=0.00
helix0.LocalCoord=1

makeSolid=1
isFrenet=1
pipe = Part.Wire(helix0.Shape).makePipeShell([cutProfile],makeSolid,isFrenet)
cylinder=Part.makeCylinder(8,10)
cylinder.Placement=App.Placement(App.Vector(0,0,1),App.Rotation(0,0,0,1))
cylinder_cut=cylinder.cut(pipe)
Part.show(cylinder_cut)

Gui.getDocument("Unnamed").getObject("Helix").Visibility=False
Image

FreeCAD 0.13, Linux x86_64
Attachments
try.fcstd
(45.1 KiB) Downloaded 84 times
wmayer
Founder
Posts: 20309
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: I try to cut TopoShape but result is wrong.

Post by wmayer »

This is an extremely difficult boolean cut and the underlying cad kernel fails to do it. The cylinder you show at the end is broken.
falrus
Posts: 10
Joined: Fri Nov 29, 2013 8:39 am

Re: I try to cut TopoShape but result is wrong.

Post by falrus »

Thanks! I worried that my screw thread has no volume (only surface).
wmayer
Founder
Posts: 20309
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: I try to cut TopoShape but result is wrong.

Post by wmayer »

I worried that my screw thread has no volume (only surface).
Then it doesn't work anyway. Boolean operations are supposed to work with solids.
Post Reply