I'm trying to fit a bottlecap to the decorative bottle shown in the photo
below. The owner lost the cap but doesn't want to discard such a lovely
bottle. I have a 3D printer, so I said I would design and print a new
bottlecap. As part of the fitting process, I tried to create a bottlecap
with threads that 'cut through' the cap material so that I could visually
see how the bottlecap 'innie' threads match up with the bottlecap 'outie'
threads. Imagine my surprise when, after generating the model I wanted, the
rendering process completely obliterated the threads, the cuts, and
everything else, resulting in a solid cylinder of material.
http://forum.openscad.org/file/t2935/IMG_4151.jpg
Here are some some screenshots showing the problem:
http://forum.openscad.org/file/t2935/210430_F5_1.jpg
F5 preview of 'normal' thread geometry
http://forum.openscad.org/file/t2935/210430_Render_1.jpg
Render operation for 'normal' geometry
http://forum.openscad.org/file/t2935/210430_F5_2.jpg
F5 preview of 'cut through' thread geometry
http://forum.openscad.org/file/t2935/210430_Render_2.jpg
Render operation for 'cut through' geometry
And here is the code that produced the above geometries:
210430_BottleCap_Normal.scad
http://forum.openscad.org/file/t2935/210430_BottleCap_Normal.scad
210430_BottleCap_CutThrough.scad
http://forum.openscad.org/file/t2935/210430_BottleCap_CutThrough.scad
The only difference between the two .SCAD files above is that the 'normal'
file has 'thread_depth=5.75' in the 'helix_thread' command, and the 'cut
through' file has 'thread_depth=5.75'
Any ideas? I'd really like to be able to print this (maybe modified
slightly to add some support for the 'flying thread' portion at the end) so
I can visualize the fit to the bottle.
TIA,
Frank
--
Sent from: http://forum.openscad.org/
I'd guess that the BOSL2 library has a bit of a problem with deep
thread_depth values.
If you create the thread outside of the difference using
thread_helix(d=37, pitch=7, thread_depth=15.75, thread_angle=25, twist=520,
$fn=72);
... you'll see that the thread no longer has a clean, triangular cut. The
result is probably not manifold. In this case, a thread_depth greater than
about 6.5 shows that problem.
--
Sent from: http://forum.openscad.org/
Personally, I would not do a deep thread cut like you did. If you want to see
how the threads fit, I would suggest something like this:
include <BOSL2/std.scad>
include <BOSL2/threading.scad>
include <BOSL2/bottlecaps.scad>
difference() {
translate([0,0,-2.5]) cylinder(18,21.5,21.5);
cylinder(24,19,19);
translate([-30,-5,0]) cube([60,10,25]);
translate([0,0,11])
thread_helix(d=37, pitch=7, thread_depth=5.75, thread_angle=25, twist=520,
$fn=72);
}
The big advantage of this method is that you don't need supports.
And for speed of printing, you might want to cut out some more slots.
--
Sent from: http://forum.openscad.org/
Thanks to both responders; Once I knew what to look for, it was obvious the
deep thread setting created non-manifold artifacts.
Also, I tried the 'rectangular cut' idea and this worked nicely as well -
thanks!
Frank
--
Sent from: http://forum.openscad.org/