Hi,
Anyone know where I can get the OpenSCAD model of the “Helical Spring” animation in the linear_extrude section? (https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#linear_extrude)
best regards
sc
On 9/13/2022 3:14 PM, laich2@gmail.com wrote:
Anyone know where I can get the OpenSCAD model of the “Helical Spring”
animation in the linear_extrude section?
(https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#linear_extrude)
No, but a note: you might think that linear_extrude with a twist is a
good way to generate helix-like shapes, but it really isn't. The
problem is that you usually want to specify a cross-section across the
helix - nearly, but not precisely, a vertical cross-section, while what
you would have to supply with linear_extrude is a horizontal cross-section.
To get a helix with a round cross-section like this:
what you need to give to linear_extrude is a shape like this:
I'm sure that one of the mathematicians could tell you how to generate
that shape - I sure can't. I generated it by using a sweep function to
create the helix, and then taking a cross section of the helix.
Here's that helix, using BOSL2's path_sweep module:
include <BOSL2/std.scad>
r = 20;
path_sweep(circle(5), [
for (i=[0:10:900]) [ r*cos(i), r*sin(i), i/10 ]
]);
I have an old helical coil design on thingiverse which you can try:
https://www.thingiverse.com/thing:1098806
On Tue, Sep 13, 2022 at 8:12 PM Jordan Brown openscad@jordan.maileater.net
wrote:
On 9/13/2022 3:14 PM, laich2@gmail.com wrote:
Anyone know where I can get the OpenSCAD model of the “Helical Spring”
animation in the linear_extrude section? (
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#linear_extrude
)
No, but a note: you might think that linear_extrude with a twist is a
good way to generate helix-like shapes, but it really isn't. The problem
is that you usually want to specify a cross-section across the helix -
nearly, but not precisely, a vertical cross-section, while what you would
have to supply with linear_extrude is a horizontal cross-section.
To get a helix with a round cross-section like this:
what you need to give to linear_extrude is a shape like this:
I'm sure that one of the mathematicians could tell you how to generate
that shape - I sure can't. I generated it by using a sweep function to
create the helix, and then taking a cross section of the helix.
Here's that helix, using BOSL2's path_sweep module:
include <BOSL2/std.scad>
r = 20;
path_sweep(circle(5), [
for (i=[0:10:900]) [ rcos(i), rsin(i), i/10 ]
]);
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
If you're going to use BOSL2, then spiral_sweep()
already exists for just this purpose:
include <BOSL2/std.scad>
spiral_sweep(circle(5), h=90, r=20, turns=2.5);
On Sep 13, 2022, at 6:12 PM, Jordan Brown openscad@jordan.maileater.net wrote:
On 9/13/2022 3:14 PM, laich2@gmail.com mailto:laich2@gmail.com wrote:
Anyone know where I can get the OpenSCAD model of the “Helical Spring” animation in the linear_extrude section? (https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#linear_extrude https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#linear_extrude)
No, but a note: you might think that linear_extrude with a twist is a good way to generate helix-like shapes, but it really isn't. The problem is that you usually want to specify a cross-section across the helix - nearly, but not precisely, a vertical cross-section, while what you would have to supply with linear_extrude is a horizontal cross-section.
To get a helix with a round cross-section like this:
<Esv568UuTkLejpfN.png>
what you need to give to linear_extrude is a shape like this:
<kFWxNdUdBzrBU5fr.png>
I'm sure that one of the mathematicians could tell you how to generate that shape - I sure can't. I generated it by using a sweep function to create the helix, and then taking a cross section of the helix.
Here's that helix, using BOSL2's path_sweep module:
include <BOSL2/std.scad>
r = 20;
path_sweep(circle(5), [
for (i=[0:10:900]) [ rcos(i), rsin(i), i/10 ]
]);
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
here's some generic code for spirals/threads, whatever.
clw = true; // direction of spiral
p = 15; // pitch of spiral
n = 3.5; // number of 'threads'
res = 100; // number of 'steps' in circle
di = 20; // diam of os of spiral
d = 5; // diam of 'wire'
////////////////////
t = n*res; //total number of steps
s = (res/360)*di/2; // width of profile
v = p/res; // vertical shift per inc of rotation
//a = 360/res; // angle per step
a=clw==true ? 360/res : -360/res;
module xsec(){
$fn=80;
translate([di-(d/2),0,0])
rotate([90,0,0])
//cylinder (d=d,h=s/2); // whatever 'profile' you like
cube([d,d,s/2],true);
}
for (i=[0:1:t]){
translate([0,0,iv])
rotate([0,0,ia])
xsec();
}
It's relatively simple to change the profile or resolution as required,
to make buttress threads, Whitworth profile, whatever. Easy enough to
convert to a function/module with relevant parameters, change
resolution, etc..
On 13/09/2022 23:14, laich2@gmail.com wrote:
Hi,
Anyone know where I can get the OpenSCAD model of the “Helical Spring”
animation in the linear_extrude section?
(https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#linear_extrude)
best regards
sc
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org