KE
Karl Exler
Fri, Apr 14, 2023 3:00 PM
Gentlemen!
Sometimes I use the import function in Openscad. I draw something in
Inkscape and then I import it and rotate(_extrude) it. This works great
and is a quick hack.
BUT.... If there are dependencies, variables and so on it is not the
best way. Is there an easy way to draw one (!) path and make it
afterwards a bit "thicker" ?
Example:
I cannot rotate A=([-5,0]) : B([5,0]), because this is not an geometric
figure, only a line. But If I could define a thickness to those both
coordinates it should be possible to rotate them.
What is your oppinion?
Thanks
Karl
Gentlemen!
Sometimes I use the import function in Openscad. I draw something in
Inkscape and then I import it and rotate(_extrude) it. This works great
and is a quick hack.
BUT.... If there are dependencies, variables and so on it is not the
best way. Is there an easy way to draw one (!) path and make it
afterwards a bit "thicker" ?
Example:
I cannot rotate A=([-5,0]) : B([5,0]), because this is not an geometric
figure, only a line. But If I could define a thickness to those both
coordinates it should be possible to rotate them.
What is your oppinion?
Thanks
Karl
DP
David Phillip Oster
Fri, Apr 14, 2023 3:56 PM
The usual technique is to hull a pair of tiny circles, each translated to
your coordinates to make an object that is close enough to a line segment
for your purpose, but you can also just multiply your coordinate pairs by a
translation matrix to give a list of rotated coordinates.
On Fri, Apr 14, 2023 at 8:01 AM Karl Exler karl.exler@meinklang.cc wrote:
Gentlemen!
Sometimes I use the import function in Openscad. I draw something in
Inkscape and then I import it and rotate(_extrude) it. This works great
and is a quick hack.
BUT.... If there are dependencies, variables and so on it is not the
best way. Is there an easy way to draw one (!) path and make it
afterwards a bit "thicker" ?
Example:
I cannot rotate A=([-5,0]) : B([5,0]), because this is not an geometric
figure, only a line. But If I could define a thickness to those both
coordinates it should be possible to rotate them.
What is your oppinion?
Thanks
Karl
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
The usual technique is to hull a pair of tiny circles, each translated to
your coordinates to make an object that is close enough to a line segment
for your purpose, but you can also just multiply your coordinate pairs by a
translation matrix to give a list of rotated coordinates.
On Fri, Apr 14, 2023 at 8:01 AM Karl Exler <karl.exler@meinklang.cc> wrote:
> Gentlemen!
>
>
> Sometimes I use the import function in Openscad. I draw something in
> Inkscape and then I import it and rotate(_extrude) it. This works great
> and is a quick hack.
>
> BUT.... If there are dependencies, variables and so on it is not the
> best way. Is there an easy way to draw one (!) path and make it
> afterwards a bit "thicker" ?
>
> Example:
>
> I cannot rotate A=([-5,0]) : B([5,0]), because this is not an geometric
> figure, only a line. But If I could define a thickness to those both
> coordinates it should be possible to rotate them.
>
> What is your oppinion?
> Thanks
> Karl
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
AM
Adrian Mariano
Fri, Apr 14, 2023 8:35 PM
The BOSL2 library has stroke() which does this---it takes a list of points
and turns it into a 2d line of specified width. If you prefer to reinvent
the wheel, then you can accomplish this by taking the union of hulls of
pairs of circles of the desired width located at each point. As already
noted, if you want to rotate the actual point data, you can do that by
using a transformation matrix. In BOSL2 you can do
zrot(angle,point_list)
to rotate a list of points around the z axis.
On Fri, Apr 14, 2023 at 11:01 AM Karl Exler karl.exler@meinklang.cc wrote:
Gentlemen!
Sometimes I use the import function in Openscad. I draw something in
Inkscape and then I import it and rotate(_extrude) it. This works great
and is a quick hack.
BUT.... If there are dependencies, variables and so on it is not the
best way. Is there an easy way to draw one (!) path and make it
afterwards a bit "thicker" ?
Example:
I cannot rotate A=([-5,0]) : B([5,0]), because this is not an geometric
figure, only a line. But If I could define a thickness to those both
coordinates it should be possible to rotate them.
What is your oppinion?
Thanks
Karl
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
The BOSL2 library has stroke() which does this---it takes a list of points
and turns it into a 2d line of specified width. If you prefer to reinvent
the wheel, then you can accomplish this by taking the union of hulls of
pairs of circles of the desired width located at each point. As already
noted, if you want to rotate the actual point data, you can do that by
using a transformation matrix. In BOSL2 you can do
`zrot(angle,point_list)` to rotate a list of points around the z axis.
On Fri, Apr 14, 2023 at 11:01 AM Karl Exler <karl.exler@meinklang.cc> wrote:
> Gentlemen!
>
>
> Sometimes I use the import function in Openscad. I draw something in
> Inkscape and then I import it and rotate(_extrude) it. This works great
> and is a quick hack.
>
> BUT.... If there are dependencies, variables and so on it is not the
> best way. Is there an easy way to draw one (!) path and make it
> afterwards a bit "thicker" ?
>
> Example:
>
> I cannot rotate A=([-5,0]) : B([5,0]), because this is not an geometric
> figure, only a line. But If I could define a thickness to those both
> coordinates it should be possible to rotate them.
>
> What is your oppinion?
> Thanks
> Karl
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
KE
Karl Exler
Sat, Apr 15, 2023 2:26 PM
Sorry Gents!
The syntax is not sooo selfexplaining ;-)
include <bosl2/std.scad>
A=[-5,5];
B=[-4,5];
C=[-3,0];
D=[0,0];
path=[A,B,C,D];
rotate_extrude();
stroke(path, closed=false);
In deed I can draw a path with stroke.. but rotate_extrude() does not
work... As I want to create something similar like a cup.
Thanks in advance
Karl
Am 14.04.23 um 22:35 schrieb Adrian Mariano:
The BOSL2 library has stroke() which does this---it takes a list of
points and turns it into a 2d line of specified width. If you prefer
to reinvent the wheel, then you can accomplish this by taking the
union of hulls of pairs of circles of the desired width located at
each point. As already noted, if you want to rotate the actual point
data, you can do that by using a transformation matrix. In BOSL2 you
can do zrot(angle,point_list)
to rotate a list of points around the
z axis.
On Fri, Apr 14, 2023 at 11:01 AM Karl Exler karl.exler@meinklang.cc
wrote:
Gentlemen!
Sometimes I use the import function in Openscad. I draw something in
Inkscape and then I import it and rotate(_extrude) it. This works
great
and is a quick hack.
BUT.... If there are dependencies, variables and so on it is not the
best way. Is there an easy way to draw one (!) path and make it
afterwards a bit "thicker" ?
Example:
I cannot rotate A=([-5,0]) : B([5,0]), because this is not an
geometric
figure, only a line. But If I could define a thickness to those both
coordinates it should be possible to rotate them.
What is your oppinion?
Thanks
Karl
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org
Sorry Gents!
The syntax is not sooo selfexplaining ;-)
---------
include <bosl2/std.scad>
A=[-5,5];
B=[-4,5];
C=[-3,0];
D=[0,0];
path=[A,B,C,D];
rotate_extrude();
stroke(path, closed=false);
-------------------------------------------------------
In deed I can draw a path with stroke.. but rotate_extrude() does not
work... As I want to create something similar like a cup.
Thanks in advance
Karl
Am 14.04.23 um 22:35 schrieb Adrian Mariano:
> The BOSL2 library has stroke() which does this---it takes a list of
> points and turns it into a 2d line of specified width. If you prefer
> to reinvent the wheel, then you can accomplish this by taking the
> union of hulls of pairs of circles of the desired width located at
> each point. As already noted, if you want to rotate the actual point
> data, you can do that by using a transformation matrix. In BOSL2 you
> can do `zrot(angle,point_list)` to rotate a list of points around the
> z axis.
>
>
> On Fri, Apr 14, 2023 at 11:01 AM Karl Exler <karl.exler@meinklang.cc>
> wrote:
>
> Gentlemen!
>
>
> Sometimes I use the import function in Openscad. I draw something in
> Inkscape and then I import it and rotate(_extrude) it. This works
> great
> and is a quick hack.
>
> BUT.... If there are dependencies, variables and so on it is not the
> best way. Is there an easy way to draw one (!) path and make it
> afterwards a bit "thicker" ?
>
> Example:
>
> I cannot rotate A=([-5,0]) : B([5,0]), because this is not an
> geometric
> figure, only a line. But If I could define a thickness to those both
> coordinates it should be possible to rotate them.
>
> What is your oppinion?
> Thanks
> Karl
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email todiscuss-leave@lists.openscad.org
AM
Adrian Mariano
Sat, Apr 15, 2023 2:48 PM
rotate_extrude() is "failing" because you put a semi-colon after it, so
you've given it no children. It's fairly easy to screw up your code with
either an extra or missing semicolon. One way to avoid the problem in
cases like this would be to always use braces. (In BOSL2 we make it an
error to give no children to a module that needs children to produce
output.)
On Sat, Apr 15, 2023 at 10:27 AM Karl Exler karl.exler@meinklang.cc wrote:
Sorry Gents!
The syntax is not sooo selfexplaining ;-)
include <bosl2/std.scad>
A=[-5,5];
B=[-4,5];
C=[-3,0];
D=[0,0];
path=[A,B,C,D];
rotate_extrude();
stroke(path, closed=false);
In deed I can draw a path with stroke.. but rotate_extrude() does not
work... As I want to create something similar like a cup.
Thanks in advance
Karl
Am 14.04.23 um 22:35 schrieb Adrian Mariano:
The BOSL2 library has stroke() which does this---it takes a list of points
and turns it into a 2d line of specified width. If you prefer to reinvent
the wheel, then you can accomplish this by taking the union of hulls of
pairs of circles of the desired width located at each point. As already
noted, if you want to rotate the actual point data, you can do that by
using a transformation matrix. In BOSL2 you can do
zrot(angle,point_list)
to rotate a list of points around the z axis.
On Fri, Apr 14, 2023 at 11:01 AM Karl Exler karl.exler@meinklang.cc
wrote:
Gentlemen!
Sometimes I use the import function in Openscad. I draw something in
Inkscape and then I import it and rotate(_extrude) it. This works great
and is a quick hack.
BUT.... If there are dependencies, variables and so on it is not the
best way. Is there an easy way to draw one (!) path and make it
afterwards a bit "thicker" ?
Example:
I cannot rotate A=([-5,0]) : B([5,0]), because this is not an geometric
figure, only a line. But If I could define a thickness to those both
coordinates it should be possible to rotate them.
What is your oppinion?
Thanks
Karl
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
rotate_extrude() is "failing" because you put a semi-colon after it, so
you've given it no children. It's fairly easy to screw up your code with
either an extra or missing semicolon. One way to avoid the problem in
cases like this would be to always use braces. (In BOSL2 we make it an
error to give no children to a module that needs children to produce
output.)
On Sat, Apr 15, 2023 at 10:27 AM Karl Exler <karl.exler@meinklang.cc> wrote:
> Sorry Gents!
>
> The syntax is not sooo selfexplaining ;-)
>
> ---------
> include <bosl2/std.scad>
>
> A=[-5,5];
> B=[-4,5];
> C=[-3,0];
> D=[0,0];
>
> path=[A,B,C,D];
>
> rotate_extrude();
> stroke(path, closed=false);
>
> -------------------------------------------------------
>
> In deed I can draw a path with stroke.. but rotate_extrude() does not
> work... As I want to create something similar like a cup.
>
> Thanks in advance
> Karl
> Am 14.04.23 um 22:35 schrieb Adrian Mariano:
>
> The BOSL2 library has stroke() which does this---it takes a list of points
> and turns it into a 2d line of specified width. If you prefer to reinvent
> the wheel, then you can accomplish this by taking the union of hulls of
> pairs of circles of the desired width located at each point. As already
> noted, if you want to rotate the actual point data, you can do that by
> using a transformation matrix. In BOSL2 you can do
> `zrot(angle,point_list)` to rotate a list of points around the z axis.
>
>
> On Fri, Apr 14, 2023 at 11:01 AM Karl Exler <karl.exler@meinklang.cc>
> wrote:
>
>> Gentlemen!
>>
>>
>> Sometimes I use the import function in Openscad. I draw something in
>> Inkscape and then I import it and rotate(_extrude) it. This works great
>> and is a quick hack.
>>
>> BUT.... If there are dependencies, variables and so on it is not the
>> best way. Is there an easy way to draw one (!) path and make it
>> afterwards a bit "thicker" ?
>>
>> Example:
>>
>> I cannot rotate A=([-5,0]) : B([5,0]), because this is not an geometric
>> figure, only a line. But If I could define a thickness to those both
>> coordinates it should be possible to rotate them.
>>
>> What is your oppinion?
>> Thanks
>> Karl
>> _______________________________________________
>> 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
>
KE
Karl Exler
Sat, Apr 15, 2023 3:24 PM
of course I had no semicolon at first:
include <bosl2/std.scad>
A=[-5,5];
B=[-4,5];
C=[-3,0];
D=[0,0];
path=[A,B,C,D];
rotate_extrude()
stroke(path, closed=false);
But without semicolon really nothing happens... not even the stroke appears
BR
Karl
And many thanks for your patience
Am 15.04.23 um 16:48 schrieb Adrian Mariano:
rotate_extrude() is "failing" because you put a semi-colon after it,
so you've given it no children. It's fairly easy to screw up your
code with either an extra or missing semicolon. One way to avoid the
problem in cases like this would be to always use braces. (In BOSL2
we make it an error to give no children to a module that needs
children to produce output.)
On Sat, Apr 15, 2023 at 10:27 AM Karl Exler karl.exler@meinklang.cc
wrote:
Sorry Gents!
The syntax is not sooo selfexplaining ;-)
---------
include <bosl2/std.scad>
A=[-5,5];
B=[-4,5];
C=[-3,0];
D=[0,0];
path=[A,B,C,D];
rotate_extrude();
stroke(path, closed=false);
-------------------------------------------------------
In deed I can draw a path with stroke.. but rotate_extrude() does
not work... As I want to create something similar like a cup.
Thanks in advance
Karl
Am 14.04.23 um 22:35 schrieb Adrian Mariano:
The BOSL2 library has stroke() which does this---it takes a list
of points and turns it into a 2d line of specified width. If you
prefer to reinvent the wheel, then you can accomplish this by
taking the union of hulls of pairs of circles of the desired
width located at each point. As already noted, if you want to
rotate the actual point data, you can do that by using a
transformation matrix. In BOSL2 you can do
`zrot(angle,point_list)` to rotate a list of points around the z
axis.
On Fri, Apr 14, 2023 at 11:01 AM Karl Exler
<karl.exler@meinklang.cc> wrote:
Gentlemen!
Sometimes I use the import function in Openscad. I draw
something in
Inkscape and then I import it and rotate(_extrude) it. This
works great
and is a quick hack.
BUT.... If there are dependencies, variables and so on it is
not the
best way. Is there an easy way to draw one (!) path and make it
afterwards a bit "thicker" ?
Example:
I cannot rotate A=([-5,0]) : B([5,0]), because this is not an
geometric
figure, only a line. But If I could define a thickness to
those both
coordinates it should be possible to rotate them.
What is your oppinion?
Thanks
Karl
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email todiscuss-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 todiscuss-leave@lists.openscad.org
of course I had no semicolon at first:
include <bosl2/std.scad>
A=[-5,5];
B=[-4,5];
C=[-3,0];
D=[0,0];
path=[A,B,C,D];
rotate_extrude()
stroke(path, closed=false);
-------------------------------------------------------
But without semicolon really nothing happens... not even the stroke appears
BR
Karl
And many thanks for your patience
Am 15.04.23 um 16:48 schrieb Adrian Mariano:
> rotate_extrude() is "failing" because you put a semi-colon after it,
> so you've given it no children. It's fairly easy to screw up your
> code with either an extra or missing semicolon. One way to avoid the
> problem in cases like this would be to always use braces. (In BOSL2
> we make it an error to give no children to a module that needs
> children to produce output.)
>
> On Sat, Apr 15, 2023 at 10:27 AM Karl Exler <karl.exler@meinklang.cc>
> wrote:
>
> Sorry Gents!
>
> The syntax is not sooo selfexplaining ;-)
>
> ---------
> include <bosl2/std.scad>
>
> A=[-5,5];
> B=[-4,5];
> C=[-3,0];
> D=[0,0];
>
> path=[A,B,C,D];
>
> rotate_extrude();
> stroke(path, closed=false);
>
> -------------------------------------------------------
>
> In deed I can draw a path with stroke.. but rotate_extrude() does
> not work... As I want to create something similar like a cup.
>
> Thanks in advance
> Karl
>
> Am 14.04.23 um 22:35 schrieb Adrian Mariano:
>> The BOSL2 library has stroke() which does this---it takes a list
>> of points and turns it into a 2d line of specified width. If you
>> prefer to reinvent the wheel, then you can accomplish this by
>> taking the union of hulls of pairs of circles of the desired
>> width located at each point. As already noted, if you want to
>> rotate the actual point data, you can do that by using a
>> transformation matrix. In BOSL2 you can do
>> `zrot(angle,point_list)` to rotate a list of points around the z
>> axis.
>>
>>
>> On Fri, Apr 14, 2023 at 11:01 AM Karl Exler
>> <karl.exler@meinklang.cc> wrote:
>>
>> Gentlemen!
>>
>>
>> Sometimes I use the import function in Openscad. I draw
>> something in
>> Inkscape and then I import it and rotate(_extrude) it. This
>> works great
>> and is a quick hack.
>>
>> BUT.... If there are dependencies, variables and so on it is
>> not the
>> best way. Is there an easy way to draw one (!) path and make it
>> afterwards a bit "thicker" ?
>>
>> Example:
>>
>> I cannot rotate A=([-5,0]) : B([5,0]), because this is not an
>> geometric
>> figure, only a line. But If I could define a thickness to
>> those both
>> coordinates it should be possible to rotate them.
>>
>> What is your oppinion?
>> Thanks
>> Karl
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email todiscuss-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 todiscuss-leave@lists.openscad.org
JB
Jordan Brown
Sat, Apr 15, 2023 3:38 PM
On 4/15/2023 8:24 AM, Karl Exler wrote:
of course I had no semicolon at first:
include <bosl2/std.scad>
A=[-5,5];
B=[-4,5];
C=[-3,0];
D=[0,0];
path=[A,B,C,D];
rotate_extrude()
stroke(path, closed=false);
But without semicolon really nothing happens... not even the stroke
appears
Did you look at the console? I get:
ERROR: all points for rotate_extrude() must have the same X coordinate
sign (range is -5.50 -> 0.35)
The stroke is extending to the +X of [0,0].
I don't think it's quite what you wanted, but I got a reasonable result from
rotate_extrude()
translate([-0.5,0,0])
stroke(path, closed=false);
The problem is the center:
On 4/15/2023 8:24 AM, Karl Exler wrote:
>
> of course I had no semicolon at first:
>
> include <bosl2/std.scad>
>
> A=[-5,5];
> B=[-4,5];
> C=[-3,0];
> D=[0,0];
>
> path=[A,B,C,D];
>
> rotate_extrude()
> stroke(path, closed=false);
>
> -------------------------------------------------------
>
> But without semicolon really nothing happens... not even the stroke
> appears
>
Did you look at the console? I get:
ERROR: all points for rotate_extrude() must have the same X coordinate
sign (range is -5.50 -> 0.35)
The stroke is extending to the +X of [0,0].
I don't think it's quite what you wanted, but I got a reasonable result from
rotate_extrude()
translate([-0.5,0,0])
stroke(path, closed=false);
The problem is the center:
JB
Jordan Brown
Sat, Apr 15, 2023 3:49 PM
On 4/15/2023 8:38 AM, Jordan Brown wrote:
ERROR: all points for rotate_extrude() must have the same X coordinate
sign (range is -5.50 -> 0.35)
It occurs to me that it would be meaningful and maybe not all that hard
to allow the rotate_extrude polygon to cross X=0. Just split it into a
+X polygon and a -X polygon, rotate_extrude both of them, and union them.
Conceptually:
module rx() {
rotate_extrude() {
difference() {
children();
translate([-100,-100])
square([100,200]);
}
}
rotate_extrude() {
difference() {
children();
translate([0,-100])
square([100,200]);
}
}
}
But for reasons that are not obvious to me, Karl's figure gets:
ERROR: The given mesh is not closed! Unable to convert to
CGAL_Nef_Polyhedron.
On 4/15/2023 8:38 AM, Jordan Brown wrote:
> ERROR: all points for rotate_extrude() must have the same X coordinate
> sign (range is -5.50 -> 0.35)
It occurs to me that it would be meaningful and maybe not all that hard
to allow the rotate_extrude polygon to cross X=0. Just split it into a
+X polygon and a -X polygon, rotate_extrude both of them, and union them.
Conceptually:
module rx() {
rotate_extrude() {
difference() {
children();
translate([-100,-100])
square([100,200]);
}
}
rotate_extrude() {
difference() {
children();
translate([0,-100])
square([100,200]);
}
}
}
But for reasons that are not obvious to me, Karl's figure gets:
ERROR: The given mesh is not closed! Unable to convert to
CGAL_Nef_Polyhedron.
JB
Jordan Brown
Sat, Apr 15, 2023 3:52 PM
I get a reasonable result from chopping off the +X part...
rotate_extrude() {
difference() {
stroke(path, closed=false);
translate([0,-100])
square([100,200]);
}
}
I get a reasonable result from chopping off the +X part...
rotate_extrude() {
difference() {
stroke(path, closed=false);
translate([0,-100])
square([100,200]);
}
}
NH
nop head
Sat, Apr 15, 2023 4:32 PM
I think it would only make sense if the angle was less than 180, otherwise
you get a self-intersection.
On Sat, 15 Apr 2023 at 16:50, Jordan Brown openscad@jordan.maileater.net
wrote:
On 4/15/2023 8:38 AM, Jordan Brown wrote:
ERROR: all points for rotate_extrude() must have the same X coordinate
sign (range is -5.50 -> 0.35)
It occurs to me that it would be meaningful and maybe not all that hard to
allow the rotate_extrude polygon to cross X=0. Just split it into a +X
polygon and a -X polygon, rotate_extrude both of them, and union them.
Conceptually:
module rx() {
rotate_extrude() {
difference() {
children();
translate([-100,-100])
square([100,200]);
}
}
rotate_extrude() {
difference() {
children();
translate([0,-100])
square([100,200]);
}
}
}
But for reasons that are not obvious to me, Karl's figure gets:
ERROR: The given mesh is not closed! Unable to convert to
CGAL_Nef_Polyhedron.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
I think it would only make sense if the angle was less than 180, otherwise
you get a self-intersection.
On Sat, 15 Apr 2023 at 16:50, Jordan Brown <openscad@jordan.maileater.net>
wrote:
> On 4/15/2023 8:38 AM, Jordan Brown wrote:
>
> ERROR: all points for rotate_extrude() must have the same X coordinate
> sign (range is -5.50 -> 0.35)
>
>
> It occurs to me that it would be meaningful and maybe not all that hard to
> allow the rotate_extrude polygon to cross X=0. Just split it into a +X
> polygon and a -X polygon, rotate_extrude both of them, and union them.
>
> Conceptually:
>
> module rx() {
> rotate_extrude() {
> difference() {
> children();
> translate([-100,-100])
> square([100,200]);
> }
> }
> rotate_extrude() {
> difference() {
> children();
> translate([0,-100])
> square([100,200]);
> }
> }
> }
>
> But for reasons that are not obvious to me, Karl's figure gets:
> ERROR: The given mesh is not closed! Unable to convert to
> CGAL_Nef_Polyhedron.
>
>
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>