discuss@lists.openscad.org

OpenSCAD general discussion

View all threads

Render fails when threads cut through bottlecap

P
paynterf
Fri, Apr 30, 2021 2:17 PM

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'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/
L
LenStruttmann
Sat, May 1, 2021 1:55 AM

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/

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/
L
lar3ry
Sat, May 1, 2021 4:39 AM

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/

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/
P
paynterf
Tue, May 4, 2021 6:11 PM

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/

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/