gumyr / bd_warehouse

A build123d parametric part collection
Apache License 2.0
31 stars 12 forks source link

IsoThread internal thread missing thread when fuse with other object. #23

Open tywtyw2002 opened 6 months ago

tywtyw2002 commented 6 months ago

If make a compound for thread and object are work fine. However, the fused object missing a loop of thread.

Also, the interference parameter is not pass to Thread class.

Screenshot 2024-04-23 at 16 34 24
skt = bd.Polyline([ (30, 0), (43, 0), (43, 9.5), (31, 21.5), (30, 21.5), (30, 0)])
skt = bd.fillet((skt.vertices() >> bd.Axis.X)[1], 1)
skt = bd.Plane.XZ * bd.make_face(skt)
cap = bd.revolve(skt)

th_out_r = 60
th_pitch = 2
th_h = 0.866 * th_pitch
th = bdt.IsoThread(th_out_r, 2, length=21.5, external=False, end_finishes=["fade", "chamfer"])
# cmp = bd.Compound(children=[cap, th])
cap += th

show(cap)