discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Re: Rotating a cylinder along its own axis

GS
Guenther Sohler
Thu, Jul 20, 2023 9:22 AM

rotate rotates, x, then y, then z.

But you want to rotate z on the cylinder first, then y

This is why you can't do  it in one rotate.

with the current openscad syntax it's difficult to read because you need
to write the operations in reversed order.

it appears that python for openscad is coming soon. there you can code in
object oriented style like:

cylinder(r=2,h,5).rotate([0,0,10]).rotate([0,10,0])

On Thu, Jul 20, 2023 at 11:01 AM jpm2nice-tech--- via Discuss <
discuss@lists.openscad.org> wrote:

---------- Forwarded message ----------
From: jpm2nice-tech@yahoo.fr
To: discuss@lists.openscad.org
Cc:
Bcc:
Date: Thu, 20 Jul 2023 09:01:14 +0000
Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis

Thanks, Gene, but its exactly what I was doing.

Finally, to obtain what I wanted, I had to write TWO consecutive rotates:
rotate ([0,90,0]) rotate([0,0,45]) cylinder(h=1,d1=3,d2=4,
center=true,$fn=4)
I dont understand why...

(Something else I dont understand is when I “reply to the list” from my
mailer, it sometimes works, and sometimes not.)

Regards

---------- Forwarded message ----------
From: jpm2nice-tech--- via Discuss discuss@lists.openscad.org
To: discuss@lists.openscad.org
Cc: jpm2nice-tech@yahoo.fr
Bcc:
Date: Thu, 20 Jul 2023 09:01:14 +0000
Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis


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

rotate rotates, x, then y, then z. But you want to rotate z on the cylinder first, then y This is why you can't do it in one rotate. with the current openscad syntax it's difficult to read because you need to write the operations in reversed order. it appears that python for openscad is coming soon. there you can code in object oriented style like: cylinder(r=2,h,5).rotate([0,0,10]).rotate([0,10,0]) On Thu, Jul 20, 2023 at 11:01 AM jpm2nice-tech--- via Discuss < discuss@lists.openscad.org> wrote: > > > > ---------- Forwarded message ---------- > From: jpm2nice-tech@yahoo.fr > To: discuss@lists.openscad.org > Cc: > Bcc: > Date: Thu, 20 Jul 2023 09:01:14 +0000 > Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis > > Thanks, Gene, but its exactly what I was doing. > > > Finally, to obtain what I wanted, I had to write TWO consecutive rotates: > rotate ([0,90,0]) rotate([0,0,45]) cylinder(h=1,d1=3,d2=4, > center=true,$fn=4) > I dont understand why... > > (Something else I dont understand is when I “reply to the list” from my > mailer, it sometimes works, and sometimes not.) > > > Regards > > > > > ---------- Forwarded message ---------- > From: jpm2nice-tech--- via Discuss <discuss@lists.openscad.org> > To: discuss@lists.openscad.org > Cc: jpm2nice-tech@yahoo.fr > Bcc: > Date: Thu, 20 Jul 2023 09:01:14 +0000 > Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
NH
nop head
Thu, Jul 20, 2023 11:33 AM

In fact you can always do it in a single rotation. In this case rotate (
[90, 45, 90]) does the same thing but is totally non-intuitive.

I worked it out with this:

include <NopSCADlib/lib.scad>

echo(euler(rotate([0, 90, 0]) * rotate(45)));

I often struggle with rotations so I added the Euler function to convert a
rotation matrix back to a vector.

On Thu, 20 Jul 2023 at 10:23, Guenther Sohler guenther.sohler@gmail.com
wrote:

rotate rotates, x, then y, then z.

But you want to rotate z on the cylinder first, then y

This is why you can't do  it in one rotate.

with the current openscad syntax it's difficult to read because you need
to write the operations in reversed order.

it appears that python for openscad is coming soon. there you can code in
object oriented style like:

cylinder(r=2,h,5).rotate([0,0,10]).rotate([0,10,0])

On Thu, Jul 20, 2023 at 11:01 AM jpm2nice-tech--- via Discuss <
discuss@lists.openscad.org> wrote:

---------- Forwarded message ----------
From: jpm2nice-tech@yahoo.fr
To: discuss@lists.openscad.org
Cc:
Bcc:
Date: Thu, 20 Jul 2023 09:01:14 +0000
Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis

Thanks, Gene, but its exactly what I was doing.

Finally, to obtain what I wanted, I had to write TWO consecutive rotates:
rotate ([0,90,0]) rotate([0,0,45]) cylinder(h=1,d1=3,d2=4,
center=true,$fn=4)
I dont understand why...

(Something else I dont understand is when I “reply to the list” from my
mailer, it sometimes works, and sometimes not.)

Regards

---------- Forwarded message ----------
From: jpm2nice-tech--- via Discuss discuss@lists.openscad.org
To: discuss@lists.openscad.org
Cc: jpm2nice-tech@yahoo.fr
Bcc:
Date: Thu, 20 Jul 2023 09:01:14 +0000
Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis


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

In fact you can always do it in a single rotation. In this case rotate ( [90, 45, 90]) does the same thing but is totally non-intuitive. I worked it out with this: include <NopSCADlib/lib.scad> echo(euler(rotate([0, 90, 0]) * rotate(45))); I often struggle with rotations so I added the Euler function to convert a rotation matrix back to a vector. On Thu, 20 Jul 2023 at 10:23, Guenther Sohler <guenther.sohler@gmail.com> wrote: > rotate rotates, x, then y, then z. > > But you want to rotate z on the cylinder first, then y > > This is why you can't do it in one rotate. > > with the current openscad syntax it's difficult to read because you need > to write the operations in reversed order. > > it appears that python for openscad is coming soon. there you can code in > object oriented style like: > > cylinder(r=2,h,5).rotate([0,0,10]).rotate([0,10,0]) > > > > > On Thu, Jul 20, 2023 at 11:01 AM jpm2nice-tech--- via Discuss < > discuss@lists.openscad.org> wrote: > >> >> >> >> ---------- Forwarded message ---------- >> From: jpm2nice-tech@yahoo.fr >> To: discuss@lists.openscad.org >> Cc: >> Bcc: >> Date: Thu, 20 Jul 2023 09:01:14 +0000 >> Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis >> >> Thanks, Gene, but its exactly what I was doing. >> >> >> Finally, to obtain what I wanted, I had to write TWO consecutive rotates: >> rotate ([0,90,0]) rotate([0,0,45]) cylinder(h=1,d1=3,d2=4, >> center=true,$fn=4) >> I dont understand why... >> >> (Something else I dont understand is when I “reply to the list” from my >> mailer, it sometimes works, and sometimes not.) >> >> >> Regards >> >> >> >> >> ---------- Forwarded message ---------- >> From: jpm2nice-tech--- via Discuss <discuss@lists.openscad.org> >> To: discuss@lists.openscad.org >> Cc: jpm2nice-tech@yahoo.fr >> Bcc: >> Date: Thu, 20 Jul 2023 09:01:14 +0000 >> Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis >> _______________________________________________ >> 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 >
GS
Guenther Sohler
Thu, Jul 20, 2023 11:59 AM

i like this topic.
can you share a link explaining the math behind ?

On Thu, Jul 20, 2023 at 1:35 PM nop head nop.head@gmail.com wrote:

In fact you can always do it in a single rotation. In this case rotate (
[90, 45, 90]) does the same thing but is totally non-intuitive.

I worked it out with this:

include <NopSCADlib/lib.scad>

echo(euler(rotate([0, 90, 0]) * rotate(45)));

I often struggle with rotations so I added the Euler function to convert a
rotation matrix back to a vector.

On Thu, 20 Jul 2023 at 10:23, Guenther Sohler guenther.sohler@gmail.com
wrote:

rotate rotates, x, then y, then z.

But you want to rotate z on the cylinder first, then y

This is why you can't do  it in one rotate.

with the current openscad syntax it's difficult to read because you need
to write the operations in reversed order.

it appears that python for openscad is coming soon. there you can code in
object oriented style like:

cylinder(r=2,h,5).rotate([0,0,10]).rotate([0,10,0])

On Thu, Jul 20, 2023 at 11:01 AM jpm2nice-tech--- via Discuss <
discuss@lists.openscad.org> wrote:

---------- Forwarded message ----------
From: jpm2nice-tech@yahoo.fr
To: discuss@lists.openscad.org
Cc:
Bcc:
Date: Thu, 20 Jul 2023 09:01:14 +0000
Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis

Thanks, Gene, but its exactly what I was doing.

Finally, to obtain what I wanted, I had to write TWO consecutive
rotates:
rotate ([0,90,0]) rotate([0,0,45]) cylinder(h=1,d1=3,d2=4,
center=true,$fn=4)
I dont understand why...

(Something else I dont understand is when I “reply to the list” from my
mailer, it sometimes works, and sometimes not.)

Regards

---------- Forwarded message ----------
From: jpm2nice-tech--- via Discuss discuss@lists.openscad.org
To: discuss@lists.openscad.org
Cc: jpm2nice-tech@yahoo.fr
Bcc:
Date: Thu, 20 Jul 2023 09:01:14 +0000
Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis


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 like this topic. can you share a link explaining the math behind ? On Thu, Jul 20, 2023 at 1:35 PM nop head <nop.head@gmail.com> wrote: > In fact you can always do it in a single rotation. In this case rotate ( > [90, 45, 90]) does the same thing but is totally non-intuitive. > > I worked it out with this: > > include <NopSCADlib/lib.scad> > > echo(euler(rotate([0, 90, 0]) * rotate(45))); > > I often struggle with rotations so I added the Euler function to convert a > rotation matrix back to a vector. > > > > On Thu, 20 Jul 2023 at 10:23, Guenther Sohler <guenther.sohler@gmail.com> > wrote: > >> rotate rotates, x, then y, then z. >> >> But you want to rotate z on the cylinder first, then y >> >> This is why you can't do it in one rotate. >> >> with the current openscad syntax it's difficult to read because you need >> to write the operations in reversed order. >> >> it appears that python for openscad is coming soon. there you can code in >> object oriented style like: >> >> cylinder(r=2,h,5).rotate([0,0,10]).rotate([0,10,0]) >> >> >> >> >> On Thu, Jul 20, 2023 at 11:01 AM jpm2nice-tech--- via Discuss < >> discuss@lists.openscad.org> wrote: >> >>> >>> >>> >>> ---------- Forwarded message ---------- >>> From: jpm2nice-tech@yahoo.fr >>> To: discuss@lists.openscad.org >>> Cc: >>> Bcc: >>> Date: Thu, 20 Jul 2023 09:01:14 +0000 >>> Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis >>> >>> Thanks, Gene, but its exactly what I was doing. >>> >>> >>> Finally, to obtain what I wanted, I had to write TWO consecutive >>> rotates: >>> rotate ([0,90,0]) rotate([0,0,45]) cylinder(h=1,d1=3,d2=4, >>> center=true,$fn=4) >>> I dont understand why... >>> >>> (Something else I dont understand is when I “reply to the list” from my >>> mailer, it sometimes works, and sometimes not.) >>> >>> >>> Regards >>> >>> >>> >>> >>> ---------- Forwarded message ---------- >>> From: jpm2nice-tech--- via Discuss <discuss@lists.openscad.org> >>> To: discuss@lists.openscad.org >>> Cc: jpm2nice-tech@yahoo.fr >>> Bcc: >>> Date: Thu, 20 Jul 2023 09:01:14 +0000 >>> Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis >>> _______________________________________________ >>> 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
Thu, Jul 20, 2023 12:54 PM

Here is my code with a  link in the comments to where I got the maths from.

// http://eecs.qmul.ac.uk/~gslabaugh/publications/euler.pdf
function euler(R) = let(ay = asin(-R[2][0]), cy = cos(ay)) //! Convert a
rotation matrix to an Euler rotation vector.
cy ? [ atan2(R[2][1] / cy, R[2][2] / cy), ay, atan2(R[1][0] / cy,
R[0][0] / cy) ]
: R[2][0] < 0 ? [atan2( R[0][1],  R[0][2]),  90, 0]
: [atan2(-R[0][1], -R[0][2]), -90, 0];

On Thu, 20 Jul 2023 at 12:59, Guenther Sohler guenther.sohler@gmail.com
wrote:

i like this topic.
can you share a link explaining the math behind ?

On Thu, Jul 20, 2023 at 1:35 PM nop head nop.head@gmail.com wrote:

In fact you can always do it in a single rotation. In this case rotate (
[90, 45, 90]) does the same thing but is totally non-intuitive.

I worked it out with this:

include <NopSCADlib/lib.scad>

echo(euler(rotate([0, 90, 0]) * rotate(45)));

I often struggle with rotations so I added the Euler function to convert
a rotation matrix back to a vector.

On Thu, 20 Jul 2023 at 10:23, Guenther Sohler guenther.sohler@gmail.com
wrote:

rotate rotates, x, then y, then z.

But you want to rotate z on the cylinder first, then y

This is why you can't do  it in one rotate.

with the current openscad syntax it's difficult to read because you
need  to write the operations in reversed order.

it appears that python for openscad is coming soon. there you can code
in object oriented style like:

cylinder(r=2,h,5).rotate([0,0,10]).rotate([0,10,0])

On Thu, Jul 20, 2023 at 11:01 AM jpm2nice-tech--- via Discuss <
discuss@lists.openscad.org> wrote:

---------- Forwarded message ----------
From: jpm2nice-tech@yahoo.fr
To: discuss@lists.openscad.org
Cc:
Bcc:
Date: Thu, 20 Jul 2023 09:01:14 +0000
Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis

Thanks, Gene, but its exactly what I was doing.

Finally, to obtain what I wanted, I had to write TWO consecutive
rotates:
rotate ([0,90,0]) rotate([0,0,45]) cylinder(h=1,d1=3,d2=4,
center=true,$fn=4)
I dont understand why...

(Something else I dont understand is when I “reply to the list” from my
mailer, it sometimes works, and sometimes not.)

Regards

---------- Forwarded message ----------
From: jpm2nice-tech--- via Discuss discuss@lists.openscad.org
To: discuss@lists.openscad.org
Cc: jpm2nice-tech@yahoo.fr
Bcc:
Date: Thu, 20 Jul 2023 09:01:14 +0000
Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis


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

Here is my code with a link in the comments to where I got the maths from. // http://eecs.qmul.ac.uk/~gslabaugh/publications/euler.pdf function euler(R) = let(ay = asin(-R[2][0]), cy = cos(ay)) //! Convert a rotation matrix to an Euler rotation vector. cy ? [ atan2(R[2][1] / cy, R[2][2] / cy), ay, atan2(R[1][0] / cy, R[0][0] / cy) ] : R[2][0] < 0 ? [atan2( R[0][1], R[0][2]), 90, 0] : [atan2(-R[0][1], -R[0][2]), -90, 0]; On Thu, 20 Jul 2023 at 12:59, Guenther Sohler <guenther.sohler@gmail.com> wrote: > i like this topic. > can you share a link explaining the math behind ? > > > On Thu, Jul 20, 2023 at 1:35 PM nop head <nop.head@gmail.com> wrote: > >> In fact you can always do it in a single rotation. In this case rotate ( >> [90, 45, 90]) does the same thing but is totally non-intuitive. >> >> I worked it out with this: >> >> include <NopSCADlib/lib.scad> >> >> echo(euler(rotate([0, 90, 0]) * rotate(45))); >> >> I often struggle with rotations so I added the Euler function to convert >> a rotation matrix back to a vector. >> >> >> >> On Thu, 20 Jul 2023 at 10:23, Guenther Sohler <guenther.sohler@gmail.com> >> wrote: >> >>> rotate rotates, x, then y, then z. >>> >>> But you want to rotate z on the cylinder first, then y >>> >>> This is why you can't do it in one rotate. >>> >>> with the current openscad syntax it's difficult to read because you >>> need to write the operations in reversed order. >>> >>> it appears that python for openscad is coming soon. there you can code >>> in object oriented style like: >>> >>> cylinder(r=2,h,5).rotate([0,0,10]).rotate([0,10,0]) >>> >>> >>> >>> >>> On Thu, Jul 20, 2023 at 11:01 AM jpm2nice-tech--- via Discuss < >>> discuss@lists.openscad.org> wrote: >>> >>>> >>>> >>>> >>>> ---------- Forwarded message ---------- >>>> From: jpm2nice-tech@yahoo.fr >>>> To: discuss@lists.openscad.org >>>> Cc: >>>> Bcc: >>>> Date: Thu, 20 Jul 2023 09:01:14 +0000 >>>> Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis >>>> >>>> Thanks, Gene, but its exactly what I was doing. >>>> >>>> >>>> Finally, to obtain what I wanted, I had to write TWO consecutive >>>> rotates: >>>> rotate ([0,90,0]) rotate([0,0,45]) cylinder(h=1,d1=3,d2=4, >>>> center=true,$fn=4) >>>> I dont understand why... >>>> >>>> (Something else I dont understand is when I “reply to the list” from my >>>> mailer, it sometimes works, and sometimes not.) >>>> >>>> >>>> Regards >>>> >>>> >>>> >>>> >>>> ---------- Forwarded message ---------- >>>> From: jpm2nice-tech--- via Discuss <discuss@lists.openscad.org> >>>> To: discuss@lists.openscad.org >>>> Cc: jpm2nice-tech@yahoo.fr >>>> Bcc: >>>> Date: Thu, 20 Jul 2023 09:01:14 +0000 >>>> Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis >>>> _______________________________________________ >>>> 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 >
GH
gene heskett
Thu, Jul 20, 2023 3:49 PM

On 7/20/23 05:23, Guenther Sohler wrote:

rotate rotates, x, then y, then z.

But you want to rotate z on the cylinder first, then y

This is why you can't do  it in one rotate.

with the current openscad syntax it's difficult to read because you need
to write the operations in reversed order.

it appears that python for openscad is coming soon. there you can code in
object oriented style like:

cylinder(r=2,h,5).rotate([0,0,10]).rotate([0,10,0])

That will be neat, so would a global, single statement of "center=true;"
which would shorten up the rest of the statement lines.
Even just making it true by default would be nice, but would break all
old code. Suggestion, set $fc once at the top of the file?

On Thu, Jul 20, 2023 at 11:01 AM jpm2nice-tech--- via Discuss <
discuss@lists.openscad.org> wrote:

---------- Forwarded message ----------
From: jpm2nice-tech@yahoo.fr
To: discuss@lists.openscad.org
Cc:
Bcc:
Date: Thu, 20 Jul 2023 09:01:14 +0000
Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis

Thanks, Gene, but its exactly what I was doing.

Finally, to obtain what I wanted, I had to write TWO consecutive rotates:
rotate ([0,90,0]) rotate([0,0,45]) cylinder(h=1,d1=3,d2=4,
center=true,$fn=4)
I dont understand why...

(Something else I dont understand is when I “reply to the list” from my
mailer, it sometimes works, and sometimes not.)

Regards

---------- Forwarded message ----------
From: jpm2nice-tech--- via Discuss discuss@lists.openscad.org
To: discuss@lists.openscad.org
Cc: jpm2nice-tech@yahoo.fr
Bcc:
Date: Thu, 20 Jul 2023 09:01:14 +0000
Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis


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

Cheers, Gene Heskett.

"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.

On 7/20/23 05:23, Guenther Sohler wrote: > rotate rotates, x, then y, then z. > > But you want to rotate z on the cylinder first, then y > > This is why you can't do it in one rotate. > > with the current openscad syntax it's difficult to read because you need > to write the operations in reversed order. > > it appears that python for openscad is coming soon. there you can code in > object oriented style like: > > cylinder(r=2,h,5).rotate([0,0,10]).rotate([0,10,0]) > That will be neat, so would a global, single statement of "center=true;" which would shorten up the rest of the statement lines. Even just making it true by default would be nice, but would break all old code. Suggestion, set $fc once at the top of the file? > > > > On Thu, Jul 20, 2023 at 11:01 AM jpm2nice-tech--- via Discuss < > discuss@lists.openscad.org> wrote: > >> >> >> >> ---------- Forwarded message ---------- >> From: jpm2nice-tech@yahoo.fr >> To: discuss@lists.openscad.org >> Cc: >> Bcc: >> Date: Thu, 20 Jul 2023 09:01:14 +0000 >> Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis >> >> Thanks, Gene, but its exactly what I was doing. >> >> >> Finally, to obtain what I wanted, I had to write TWO consecutive rotates: >> rotate ([0,90,0]) rotate([0,0,45]) cylinder(h=1,d1=3,d2=4, >> center=true,$fn=4) >> I dont understand why... >> >> (Something else I dont understand is when I “reply to the list” from my >> mailer, it sometimes works, and sometimes not.) >> >> >> Regards >> >> >> >> >> ---------- Forwarded message ---------- >> From: jpm2nice-tech--- via Discuss <discuss@lists.openscad.org> >> To: discuss@lists.openscad.org >> Cc: jpm2nice-tech@yahoo.fr >> Bcc: >> Date: Thu, 20 Jul 2023 09:01:14 +0000 >> Subject: [OpenSCAD] Re: Rotating a cylinder along its own axis >> _______________________________________________ >> 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 Cheers, Gene Heskett. -- "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 Genes Web page <http://geneslinuxbox.net:6309/>