discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Helix with circular cross-section

MF
mike.fraser.1945+osc@gmail.com
Fri, Oct 25, 2024 11:35 AM

Morning folks,

Is there any way to create a helix with a circular cross-section?  I have tried linear_extrude with both a circle & various ovals as input.  I’ve tried various BOLS2 threading functions.  I can get the helix easily but not with a smooth circle cross-section.

Mike

Morning folks, Is there any way to create a helix with a circular cross-section? I have tried linear_extrude with both a circle & various ovals as input. I’ve tried various BOLS2 threading functions. I can get the helix easily but not with a smooth circle cross-section. Mike
AM
Adrian Mariano
Fri, Oct 25, 2024 11:56 AM

When you say you want a helix with a circular cross section, do you mean
measured in the usual way, normal to the helical path, or are you looking
at some other cross section?

What's wrong with

include<BOSL2/std.scad>
spiral_sweep(circle(r=2,$fn=32), h=20, r=10,turns=3);

On Fri, Oct 25, 2024 at 7:36 AM mike.fraser.1945+osc--- via Discuss <
discuss@lists.openscad.org> wrote:

Morning folks,

Is there any way to create a helix with a circular cross-section? I have
tried linear_extrude with both a circle & various ovals as input. I’ve
tried various BOLS2 threading functions. I can get the helix easily but not
with a smooth circle cross-section.

Mike


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

When you say you want a helix with a circular cross section, do you mean measured in the usual way, normal to the helical path, or are you looking at some other cross section? What's wrong with include<BOSL2/std.scad> spiral_sweep(circle(r=2,$fn=32), h=20, r=10,turns=3); On Fri, Oct 25, 2024 at 7:36 AM mike.fraser.1945+osc--- via Discuss < discuss@lists.openscad.org> wrote: > Morning folks, > > Is there any way to create a helix with a circular cross-section? I have > tried linear_extrude with both a circle & various ovals as input. I’ve > tried various BOLS2 threading functions. I can get the helix easily but not > with a smooth circle cross-section. > > Mike > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
RW
Rogier Wolff
Fri, Oct 25, 2024 12:06 PM

On Fri, Oct 25, 2024 at 11:35:59AM +0000, mike.fraser.1945+osc--- via Discuss wrote:

Is there any way to create a helix with a circular cross-section?  I
have tried linear_extrude with both a circle & various ovals as
input.  I’ve tried various BOLS2 threading functions.  I can get
the helix easily but not with a smooth circle cross-section.

Do you mean this?

r = 15;

d = 4;
l = 20;
nr = 4.5;
nsteps = 300;

$fs = .1;
$fa = 2;
module mys (n)
{
rotate (n * nr * 360/nsteps) translate ([d,0,n*l/nsteps]) sphere (d=d);
}

for (i=[0:1:nsteps-1])
hull () {mys (i);mys(i+1);}

--
** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 **
**    Delftechpark 11 2628 XJ  Delft, The Netherlands.  KVK: 27239233    **
f equals m times a. When your f is steady, and your m is going down
your a** is going up.  -- Chris Hadfield about flying up the space shuttle.
**  'a' for accelleration.

On Fri, Oct 25, 2024 at 11:35:59AM +0000, mike.fraser.1945+osc--- via Discuss wrote: > Is there any way to create a helix with a circular cross-section? I > have tried linear_extrude with both a circle & various ovals as > input. I’ve tried various BOLS2 threading functions. I can get > the helix easily but not with a smooth circle cross-section. Do you mean this? r = 15; d = 4; l = 20; nr = 4.5; nsteps = 300; $fs = .1; $fa = 2; module mys (n) { rotate (n * nr * 360/nsteps) translate ([d,0,n*l/nsteps]) sphere (d=d); } for (i=[0:1:nsteps-1]) hull () {mys (i);mys(i+1);} -- ** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 ** ** Delftechpark 11 2628 XJ Delft, The Netherlands. KVK: 27239233 ** f equals m times a. When your f is steady, and your m is going down your a** is going up. -- Chris Hadfield about flying up the space shuttle. ** 'a' for accelleration.
KR
Katie Rust
Fri, Oct 25, 2024 2:37 PM

I have created a module called helix_extrude as part of my suite of
utility functions and modules:
https://gitlab.com/ktpanda/openscad-common

use <ktpanda/funcs.scad>
use <ktpanda/shapes.scad>

$fn = 80;
circle_rad = 3;
helix_rad = 20;
helix_rise = 8;

helix_extrude(points=circlepts(circle_rad), ofs=[helix_rad, 0],
cofs=[0, helix_rise], angle=360*10, convex=true);

points is a list of 2D points like you would pass to polygon
ofs is a base offset to apply to points
cofs is how much ofs should increase per turn.
angle defines the ending angle and encodes how many turns the helix has
convex is a hint that points defines a convex polygon

The ends will be circular, but the points will be sheared upward and
not normal to the helix. A circular cross section might require some
tweaking.

On Fri, Oct 25, 2024 at 7:07 AM Rogier Wolff via Discuss
discuss@lists.openscad.org wrote:

On Fri, Oct 25, 2024 at 11:35:59AM +0000, mike.fraser.1945+osc--- via Discuss wrote:

Is there any way to create a helix with a circular cross-section?  I
have tried linear_extrude with both a circle & various ovals as
input.  I’ve tried various BOLS2 threading functions.  I can get
the helix easily but not with a smooth circle cross-section.

Do you mean this?

r = 15;

d = 4;
l = 20;
nr = 4.5;
nsteps = 300;

$fs = .1;
$fa = 2;
module mys (n)
{
rotate (n * nr * 360/nsteps) translate ([d,0,n*l/nsteps]) sphere (d=d);
}

for (i=[0:1:nsteps-1])
hull () {mys (i);mys(i+1);}

--
** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 **
**    Delftechpark 11 2628 XJ  Delft, The Netherlands.  KVK: 27239233    **
f equals m times a. When your f is steady, and your m is going down
your a** is going up.  -- Chris Hadfield about flying up the space shuttle.
**  'a' for accelleration.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

I have created a module called `helix_extrude` as part of my suite of utility functions and modules: https://gitlab.com/ktpanda/openscad-common use <ktpanda/funcs.scad> use <ktpanda/shapes.scad> $fn = 80; circle_rad = 3; helix_rad = 20; helix_rise = 8; helix_extrude(points=circlepts(circle_rad), ofs=[helix_rad, 0], cofs=[0, helix_rise], angle=360*10, convex=true); `points` is a list of 2D points like you would pass to `polygon` `ofs` is a base offset to apply to `points` `cofs` is how much `ofs` should increase per turn. `angle` defines the ending angle and encodes how many turns the helix has `convex` is a hint that `points` defines a convex polygon The ends will be circular, but the points will be sheared upward and not normal to the helix. A circular cross section might require some tweaking. On Fri, Oct 25, 2024 at 7:07 AM Rogier Wolff via Discuss <discuss@lists.openscad.org> wrote: > > On Fri, Oct 25, 2024 at 11:35:59AM +0000, mike.fraser.1945+osc--- via Discuss wrote: > > Is there any way to create a helix with a circular cross-section? I > > have tried linear_extrude with both a circle & various ovals as > > input. I’ve tried various BOLS2 threading functions. I can get > > the helix easily but not with a smooth circle cross-section. > > Do you mean this? > > r = 15; > > d = 4; > l = 20; > nr = 4.5; > nsteps = 300; > > $fs = .1; > $fa = 2; > module mys (n) > { > rotate (n * nr * 360/nsteps) translate ([d,0,n*l/nsteps]) sphere (d=d); > } > > for (i=[0:1:nsteps-1]) > hull () {mys (i);mys(i+1);} > > > > -- > ** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 ** > ** Delftechpark 11 2628 XJ Delft, The Netherlands. KVK: 27239233 ** > f equals m times a. When your f is steady, and your m is going down > your a** is going up. -- Chris Hadfield about flying up the space shuttle. > ** 'a' for accelleration. > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org
GS
Guenther Sohler
Fri, Oct 25, 2024 2:51 PM

you get a helix by simply wrapping a wire around a cylinder ...

https://imgur.com/a/hmYALpM

🤣🤣

On Fri, Oct 25, 2024 at 4:46 PM Katie Rust via Discuss <
discuss@lists.openscad.org> wrote:

I have created a module called helix_extrude as part of my suite of
utility functions and modules:
https://gitlab.com/ktpanda/openscad-common

use <ktpanda/funcs.scad>
use <ktpanda/shapes.scad>

$fn = 80;
circle_rad = 3;
helix_rad = 20;
helix_rise = 8;

helix_extrude(points=circlepts(circle_rad), ofs=[helix_rad, 0],
cofs=[0, helix_rise], angle=360*10, convex=true);

points is a list of 2D points like you would pass to polygon
ofs is a base offset to apply to points
cofs is how much ofs should increase per turn.
angle defines the ending angle and encodes how many turns the helix has
convex is a hint that points defines a convex polygon

The ends will be circular, but the points will be sheared upward and
not normal to the helix. A circular cross section might require some
tweaking.

On Fri, Oct 25, 2024 at 7:07 AM Rogier Wolff via Discuss
discuss@lists.openscad.org wrote:

On Fri, Oct 25, 2024 at 11:35:59AM +0000, mike.fraser.1945+osc--- via

Discuss wrote:

Is there any way to create a helix with a circular cross-section?  I
have tried linear_extrude with both a circle & various ovals as
input.  I’ve tried various BOLS2 threading functions.  I can get
the helix easily but not with a smooth circle cross-section.

Do you mean this?

r = 15;

d = 4;
l = 20;
nr = 4.5;
nsteps = 300;

$fs = .1;
$fa = 2;
module mys (n)
{
rotate (n * nr * 360/nsteps) translate ([d,0,n*l/nsteps]) sphere (d=d);
}

for (i=[0:1:nsteps-1])
hull () {mys (i);mys(i+1);}

--
** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ **

+31-15-2049110 **

**    Delftechpark 11 2628 XJ  Delft, The Netherlands.  KVK: 27239233

**

f equals m times a. When your f is steady, and your m is going down
your a** is going up.  -- Chris Hadfield about flying up the space

shuttle.

**  'a' for accelleration.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

you get a helix by simply wrapping a wire around a cylinder ... https://imgur.com/a/hmYALpM 🤣🤣 On Fri, Oct 25, 2024 at 4:46 PM Katie Rust via Discuss < discuss@lists.openscad.org> wrote: > I have created a module called `helix_extrude` as part of my suite of > utility functions and modules: > https://gitlab.com/ktpanda/openscad-common > > use <ktpanda/funcs.scad> > use <ktpanda/shapes.scad> > > $fn = 80; > circle_rad = 3; > helix_rad = 20; > helix_rise = 8; > > helix_extrude(points=circlepts(circle_rad), ofs=[helix_rad, 0], > cofs=[0, helix_rise], angle=360*10, convex=true); > > `points` is a list of 2D points like you would pass to `polygon` > `ofs` is a base offset to apply to `points` > `cofs` is how much `ofs` should increase per turn. > `angle` defines the ending angle and encodes how many turns the helix has > `convex` is a hint that `points` defines a convex polygon > > The ends will be circular, but the points will be sheared upward and > not normal to the helix. A circular cross section might require some > tweaking. > > On Fri, Oct 25, 2024 at 7:07 AM Rogier Wolff via Discuss > <discuss@lists.openscad.org> wrote: > > > > On Fri, Oct 25, 2024 at 11:35:59AM +0000, mike.fraser.1945+osc--- via > Discuss wrote: > > > Is there any way to create a helix with a circular cross-section? I > > > have tried linear_extrude with both a circle & various ovals as > > > input. I’ve tried various BOLS2 threading functions. I can get > > > the helix easily but not with a smooth circle cross-section. > > > > Do you mean this? > > > > r = 15; > > > > d = 4; > > l = 20; > > nr = 4.5; > > nsteps = 300; > > > > $fs = .1; > > $fa = 2; > > module mys (n) > > { > > rotate (n * nr * 360/nsteps) translate ([d,0,n*l/nsteps]) sphere (d=d); > > } > > > > for (i=[0:1:nsteps-1]) > > hull () {mys (i);mys(i+1);} > > > > > > > > -- > > ** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** > +31-15-2049110 ** > > ** Delftechpark 11 2628 XJ Delft, The Netherlands. KVK: 27239233 > ** > > f equals m times a. When your f is steady, and your m is going down > > your a** is going up. -- Chris Hadfield about flying up the space > shuttle. > > ** 'a' for accelleration. > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to discuss-leave@lists.openscad.org > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
GH
gene heskett
Fri, Oct 25, 2024 4:43 PM

On 10/25/24 07:36, mike.fraser.1945+osc--- via Discuss wrote:

Morning folks,

Is there any way to create a helix with a circular cross-section? I have
tried linear_extrude with both a circle & various ovals as input. I’ve
tried various BOLS2 threading functions. I can get the helix easily but
not with a smooth circle cross-section.

I am doing this in both linuxcnc and in openscad, by rendering each
"slice" of a buttress thread at a slight tilt angle, thereby blending
the resultant surface areas effectively at the thread angle. Actually
its rendered once, then rotated into place. Speeds rendering when the
spiral is 20 turns of the screw long in 2 start and the slice is a half
a degree thick. More than one way to skin that cat. ;o)>
Gene.

Mike


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Cheers, Gene Heskett, CET.

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.

  • Louis D. Brandeis
On 10/25/24 07:36, mike.fraser.1945+osc--- via Discuss wrote: > Morning folks, > > Is there any way to create a helix with a circular cross-section? I have > tried linear_extrude with both a circle & various ovals as input. I’ve > tried various BOLS2 threading functions. I can get the helix easily but > not with a smooth circle cross-section. > I am doing this in both linuxcnc and in openscad, by rendering each "slice" of a buttress thread at a slight tilt angle, thereby blending the resultant surface areas effectively at the thread angle. Actually its rendered once, then rotated into place. Speeds rendering when the spiral is 20 turns of the screw long in 2 start and the slice is a half a degree thick. More than one way to skin that cat. ;o)> Gene. > Mike > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org Cheers, Gene Heskett, CET. -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author, 1940) If we desire respect for the law, we must first make the law respectable. - Louis D. Brandeis
FH
Father Horton
Fri, Oct 25, 2024 5:10 PM

Let d be the diameter of the circle and alpha be the angle of the helix.
Then create a circle of diameter d, scale it by [1, 1/cos(90-alpha)], and
linear_extrude that. I think that’s what you want.

On Fri, Oct 25, 2024 at 11:43 AM gene heskett via Discuss <
discuss@lists.openscad.org> wrote:

On 10/25/24 07:36, mike.fraser.1945+osc--- via Discuss wrote:

Morning folks,

Is there any way to create a helix with a circular cross-section? I have
tried linear_extrude with both a circle & various ovals as input. I’ve
tried various BOLS2 threading functions. I can get the helix easily but
not with a smooth circle cross-section.

I am doing this in both linuxcnc and in openscad, by rendering each
"slice" of a buttress thread at a slight tilt angle, thereby blending
the resultant surface areas effectively at the thread angle. Actually
its rendered once, then rotated into place. Speeds rendering when the
spiral is 20 turns of the screw long in 2 start and the slice is a half
a degree thick. More than one way to skin that cat. ;o)>
Gene.

Mike


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Cheers, Gene Heskett, CET.

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.

  • Louis D. Brandeis

OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Let d be the diameter of the circle and alpha be the angle of the helix. Then create a circle of diameter d, scale it by [1, 1/cos(90-alpha)], and linear_extrude that. I think that’s what you want. On Fri, Oct 25, 2024 at 11:43 AM gene heskett via Discuss < discuss@lists.openscad.org> wrote: > On 10/25/24 07:36, mike.fraser.1945+osc--- via Discuss wrote: > > Morning folks, > > > > Is there any way to create a helix with a circular cross-section? I have > > tried linear_extrude with both a circle & various ovals as input. I’ve > > tried various BOLS2 threading functions. I can get the helix easily but > > not with a smooth circle cross-section. > > > I am doing this in both linuxcnc and in openscad, by rendering each > "slice" of a buttress thread at a slight tilt angle, thereby blending > the resultant surface areas effectively at the thread angle. Actually > its rendered once, then rotated into place. Speeds rendering when the > spiral is 20 turns of the screw long in 2 start and the slice is a half > a degree thick. More than one way to skin that cat. ;o)> > Gene. > > Mike > > > > > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to discuss-leave@lists.openscad.org > > Cheers, Gene Heskett, CET. > -- > "There are four boxes to be used in defense of liberty: > soap, ballot, jury, and ammo. Please use in that order." > -Ed Howdershelt (Author, 1940) > If we desire respect for the law, we must first make the law respectable. > - Louis D. Brandeis > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
NH
nop head
Fri, Oct 25, 2024 5:28 PM

I don't think that is quite right because if you slice a helix you don't
get an ellipse. It is an ellipse bent around the circle of the spiral.

On Fri, 25 Oct 2024 at 18:10, Father Horton via Discuss <
discuss@lists.openscad.org> wrote:

Let d be the diameter of the circle and alpha be the angle of the helix.
Then create a circle of diameter d, scale it by [1, 1/cos(90-alpha)], and
linear_extrude that. I think that’s what you want.

On Fri, Oct 25, 2024 at 11:43 AM gene heskett via Discuss <
discuss@lists.openscad.org> wrote:

On 10/25/24 07:36, mike.fraser.1945+osc--- via Discuss wrote:

Morning folks,

Is there any way to create a helix with a circular cross-section? I

have

tried linear_extrude with both a circle & various ovals as input. I’ve
tried various BOLS2 threading functions. I can get the helix easily but
not with a smooth circle cross-section.

I am doing this in both linuxcnc and in openscad, by rendering each
"slice" of a buttress thread at a slight tilt angle, thereby blending
the resultant surface areas effectively at the thread angle. Actually
its rendered once, then rotated into place. Speeds rendering when the
spiral is 20 turns of the screw long in 2 start and the slice is a half
a degree thick. More than one way to skin that cat. ;o)>
Gene.

Mike


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Cheers, Gene Heskett, CET.

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.

  • Louis D. Brandeis

OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

I don't think that is quite right because if you slice a helix you don't get an ellipse. It is an ellipse bent around the circle of the spiral. On Fri, 25 Oct 2024 at 18:10, Father Horton via Discuss < discuss@lists.openscad.org> wrote: > Let d be the diameter of the circle and alpha be the angle of the helix. > Then create a circle of diameter d, scale it by [1, 1/cos(90-alpha)], and > linear_extrude that. I think that’s what you want. > > On Fri, Oct 25, 2024 at 11:43 AM gene heskett via Discuss < > discuss@lists.openscad.org> wrote: > >> On 10/25/24 07:36, mike.fraser.1945+osc--- via Discuss wrote: >> > Morning folks, >> > >> > Is there any way to create a helix with a circular cross-section? I >> have >> > tried linear_extrude with both a circle & various ovals as input. I’ve >> > tried various BOLS2 threading functions. I can get the helix easily but >> > not with a smooth circle cross-section. >> > >> I am doing this in both linuxcnc and in openscad, by rendering each >> "slice" of a buttress thread at a slight tilt angle, thereby blending >> the resultant surface areas effectively at the thread angle. Actually >> its rendered once, then rotated into place. Speeds rendering when the >> spiral is 20 turns of the screw long in 2 start and the slice is a half >> a degree thick. More than one way to skin that cat. ;o)> >> Gene. >> > Mike >> > >> > >> > _______________________________________________ >> > OpenSCAD mailing list >> > To unsubscribe send an email to discuss-leave@lists.openscad.org >> >> Cheers, Gene Heskett, CET. >> -- >> "There are four boxes to be used in defense of liberty: >> soap, ballot, jury, and ammo. Please use in that order." >> -Ed Howdershelt (Author, 1940) >> If we desire respect for the law, we must first make the law respectable. >> - Louis D. Brandeis >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
FH
Father Horton
Fri, Oct 25, 2024 6:12 PM

I think what he wants is what you’d get if you wrapped a wire with a
circular cross section around a cylinder. And I think that’s what this will
produce.

On Fri, Oct 25, 2024 at 12:28 PM nop head via Discuss <
discuss@lists.openscad.org> wrote:

I don't think that is quite right because if you slice a helix you don't
get an ellipse. It is an ellipse bent around the circle of the spiral.

On Fri, 25 Oct 2024 at 18:10, Father Horton via Discuss <
discuss@lists.openscad.org> wrote:

Let d be the diameter of the circle and alpha be the angle of the helix.
Then create a circle of diameter d, scale it by [1, 1/cos(90-alpha)], and
linear_extrude that. I think that’s what you want.

On Fri, Oct 25, 2024 at 11:43 AM gene heskett via Discuss <
discuss@lists.openscad.org> wrote:

On 10/25/24 07:36, mike.fraser.1945+osc--- via Discuss wrote:

Morning folks,

Is there any way to create a helix with a circular cross-section? I

have

tried linear_extrude with both a circle & various ovals as input. I’ve
tried various BOLS2 threading functions. I can get the helix easily

but

not with a smooth circle cross-section.

I am doing this in both linuxcnc and in openscad, by rendering each
"slice" of a buttress thread at a slight tilt angle, thereby blending
the resultant surface areas effectively at the thread angle. Actually
its rendered once, then rotated into place. Speeds rendering when the
spiral is 20 turns of the screw long in 2 start and the slice is a half
a degree thick. More than one way to skin that cat. ;o)>
Gene.

Mike


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Cheers, Gene Heskett, CET.

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.

  • Louis D. Brandeis

OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

I think what he wants is what you’d get if you wrapped a wire with a circular cross section around a cylinder. And I think that’s what this will produce. On Fri, Oct 25, 2024 at 12:28 PM nop head via Discuss < discuss@lists.openscad.org> wrote: > I don't think that is quite right because if you slice a helix you don't > get an ellipse. It is an ellipse bent around the circle of the spiral. > > On Fri, 25 Oct 2024 at 18:10, Father Horton via Discuss < > discuss@lists.openscad.org> wrote: > >> Let d be the diameter of the circle and alpha be the angle of the helix. >> Then create a circle of diameter d, scale it by [1, 1/cos(90-alpha)], and >> linear_extrude that. I think that’s what you want. >> >> On Fri, Oct 25, 2024 at 11:43 AM gene heskett via Discuss < >> discuss@lists.openscad.org> wrote: >> >>> On 10/25/24 07:36, mike.fraser.1945+osc--- via Discuss wrote: >>> > Morning folks, >>> > >>> > Is there any way to create a helix with a circular cross-section? I >>> have >>> > tried linear_extrude with both a circle & various ovals as input. I’ve >>> > tried various BOLS2 threading functions. I can get the helix easily >>> but >>> > not with a smooth circle cross-section. >>> > >>> I am doing this in both linuxcnc and in openscad, by rendering each >>> "slice" of a buttress thread at a slight tilt angle, thereby blending >>> the resultant surface areas effectively at the thread angle. Actually >>> its rendered once, then rotated into place. Speeds rendering when the >>> spiral is 20 turns of the screw long in 2 start and the slice is a half >>> a degree thick. More than one way to skin that cat. ;o)> >>> Gene. >>> > Mike >>> > >>> > >>> > _______________________________________________ >>> > OpenSCAD mailing list >>> > To unsubscribe send an email to discuss-leave@lists.openscad.org >>> >>> Cheers, Gene Heskett, CET. >>> -- >>> "There are four boxes to be used in defense of liberty: >>> soap, ballot, jury, and ammo. Please use in that order." >>> -Ed Howdershelt (Author, 1940) >>> If we desire respect for the law, we must first make the law respectable. >>> - Louis D. Brandeis >>> _______________________________________________ >>> OpenSCAD mailing list >>> To unsubscribe send an email to discuss-leave@lists.openscad.org >>> >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
NH
nop head
Fri, Oct 25, 2024 6:43 PM

If you are using sweep the profile is just a circle but if you are linear
extruding with a twist then the profile is what you would get if you slice
a spiral spring horizontally. That isn't an ellipse. An ellipse is what you
would get if you sliced an inclined cylinder but a helix bends so it's
cross section is an ellipse bent around the helix diameter.

On Fri, 25 Oct 2024, 19:12 Father Horton via Discuss, <
discuss@lists.openscad.org> wrote:

I think what he wants is what you’d get if you wrapped a wire with a
circular cross section around a cylinder. And I think that’s what this will
produce.

On Fri, Oct 25, 2024 at 12:28 PM nop head via Discuss <
discuss@lists.openscad.org> wrote:

I don't think that is quite right because if you slice a helix you don't
get an ellipse. It is an ellipse bent around the circle of the spiral.

On Fri, 25 Oct 2024 at 18:10, Father Horton via Discuss <
discuss@lists.openscad.org> wrote:

Let d be the diameter of the circle and alpha be the angle of the helix.
Then create a circle of diameter d, scale it by [1, 1/cos(90-alpha)], and
linear_extrude that. I think that’s what you want.

On Fri, Oct 25, 2024 at 11:43 AM gene heskett via Discuss <
discuss@lists.openscad.org> wrote:

On 10/25/24 07:36, mike.fraser.1945+osc--- via Discuss wrote:

Morning folks,

Is there any way to create a helix with a circular cross-section? I

have

tried linear_extrude with both a circle & various ovals as input.

I’ve

tried various BOLS2 threading functions. I can get the helix easily

but

not with a smooth circle cross-section.

I am doing this in both linuxcnc and in openscad, by rendering each
"slice" of a buttress thread at a slight tilt angle, thereby blending
the resultant surface areas effectively at the thread angle. Actually
its rendered once, then rotated into place. Speeds rendering when the
spiral is 20 turns of the screw long in 2 start and the slice is a half
a degree thick. More than one way to skin that cat. ;o)>
Gene.

Mike


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Cheers, Gene Heskett, CET.

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law
respectable.

  • Louis D. Brandeis

OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

If you are using sweep the profile is just a circle but if you are linear extruding with a twist then the profile is what you would get if you slice a spiral spring horizontally. That isn't an ellipse. An ellipse is what you would get if you sliced an inclined cylinder but a helix bends so it's cross section is an ellipse bent around the helix diameter. On Fri, 25 Oct 2024, 19:12 Father Horton via Discuss, < discuss@lists.openscad.org> wrote: > I think what he wants is what you’d get if you wrapped a wire with a > circular cross section around a cylinder. And I think that’s what this will > produce. > > On Fri, Oct 25, 2024 at 12:28 PM nop head via Discuss < > discuss@lists.openscad.org> wrote: > >> I don't think that is quite right because if you slice a helix you don't >> get an ellipse. It is an ellipse bent around the circle of the spiral. >> >> On Fri, 25 Oct 2024 at 18:10, Father Horton via Discuss < >> discuss@lists.openscad.org> wrote: >> >>> Let d be the diameter of the circle and alpha be the angle of the helix. >>> Then create a circle of diameter d, scale it by [1, 1/cos(90-alpha)], and >>> linear_extrude that. I think that’s what you want. >>> >>> On Fri, Oct 25, 2024 at 11:43 AM gene heskett via Discuss < >>> discuss@lists.openscad.org> wrote: >>> >>>> On 10/25/24 07:36, mike.fraser.1945+osc--- via Discuss wrote: >>>> > Morning folks, >>>> > >>>> > Is there any way to create a helix with a circular cross-section? I >>>> have >>>> > tried linear_extrude with both a circle & various ovals as input. >>>> I’ve >>>> > tried various BOLS2 threading functions. I can get the helix easily >>>> but >>>> > not with a smooth circle cross-section. >>>> > >>>> I am doing this in both linuxcnc and in openscad, by rendering each >>>> "slice" of a buttress thread at a slight tilt angle, thereby blending >>>> the resultant surface areas effectively at the thread angle. Actually >>>> its rendered once, then rotated into place. Speeds rendering when the >>>> spiral is 20 turns of the screw long in 2 start and the slice is a half >>>> a degree thick. More than one way to skin that cat. ;o)> >>>> Gene. >>>> > Mike >>>> > >>>> > >>>> > _______________________________________________ >>>> > OpenSCAD mailing list >>>> > To unsubscribe send an email to discuss-leave@lists.openscad.org >>>> >>>> Cheers, Gene Heskett, CET. >>>> -- >>>> "There are four boxes to be used in defense of liberty: >>>> soap, ballot, jury, and ammo. Please use in that order." >>>> -Ed Howdershelt (Author, 1940) >>>> If we desire respect for the law, we must first make the law >>>> respectable. >>>> - Louis D. Brandeis >>>> _______________________________________________ >>>> OpenSCAD mailing list >>>> To unsubscribe send an email to discuss-leave@lists.openscad.org >>>> >>> _______________________________________________ >>> OpenSCAD mailing list >>> To unsubscribe send an email to discuss-leave@lists.openscad.org >>> >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >