On 1/8/2026 6:40 PM, jon jonbondy.com via Discuss wrote:
Is there any way to move a path once you create it. For example, if I
generate a helix() and I try to apply translate() or up(), I get error
messages.
Sorry. This seems so fundamental.
It is fundamental, but just because it's fundamental doesn't mean you
can't make a mistake using it :-)
include <BOSL2/std.scad>
$fa = 1;
$fs = 0.5;
spiral = helix(turns=1, h=100, r1=50, r2 = 5);
up(10) path_sweep(circle(r=5), spiral);
path_sweep(circle(r=5), left(50, spiral));
path_sweep(circle(r=5), translate([20,20,20], spiral));
Thanks.
This works:
translate([-90, -40, 100], spiral1)
but this does not:
rotate([0, 0, 45], translate([-90, -40, 100], spiral1))
Does this mean that translate() is a function but rotate() is not?
Jon
On 1/8/2026 9:49 PM, Jordan Brown wrote:
On 1/8/2026 6:40 PM, jon jonbondy.com via Discuss wrote:
Is there any way to move a path once you create it. For example, if I generate a helix() and I try to apply translate() or up(), I get error messages.
Sorry. This seems so fundamental.
It is fundamental, but just because it's fundamental doesn't mean you can't make a mistake using it :-)
include <BOSL2/std.scad>
$fa = 1;
$fs = 0.5;
spiral = helix(turns=1, h=100, r1=50, r2 = 5);
up(10) path_sweep(circle(r=5), spiral);
path_sweep(circle(r=5), left(50, spiral));
path_sweep(circle(r=5), translate([20,20,20], spiral));
There is indeed no rotate() function defined by BOSL2.
I recommend using zrot(), xrot() or yrot(). The BOSL2 equivalent of
rotate() is rot() but because it has many arguments, you can't just write
rotate(angle, point_list). You must use a position argument and write
rotate(angle,p=point_list). To avoid this nuisance, use the other ones, so
like in your example, zrot(45,translate(...,spiral1)).
On Fri, Jan 9, 2026 at 8:08 AM jon jonbondy.com via Discuss <
discuss@lists.openscad.org> wrote:
Thanks.
This works:
translate([-90, -40, 100], spiral1)
but this does not:
rotate([0, 0, 45], translate([-90, -40, 100], spiral1))
Does this mean that translate() is a function but rotate() is not?
Jon
On 1/8/2026 9:49 PM, Jordan Brown wrote:
On 1/8/2026 6:40 PM, jon jonbondy.com via Discuss wrote:
Is there any way to move a path once you create it. For example, if I
generate a helix() and I try to apply translate() or up(), I get error
messages.
Sorry. This seems so fundamental.
It is fundamental, but just because it's fundamental doesn't mean you
can't make a mistake using it :-)
include <BOSL2/std.scad>
$fa = 1;
$fs = 0.5;
spiral = helix(turns=1, h=100, r1=50, r2 = 5);
up(10) path_sweep(circle(r=5), spiral);
path_sweep(circle(r=5), left(50, spiral));
path_sweep(circle(r=5), translate([20,20,20], spiral));
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org