diff --git a/attachments.scad b/attachments.scad index d0e37be..4a9416e 100644 --- a/attachments.scad +++ b/attachments.scad @@ -2978,7 +2978,7 @@ module attachable( assert(is_undef(anchor) || is_vector(anchor) || is_string(anchor), str("Invalid anchor: ",anchor)) assert(is_undef(spin) || is_finite(spin), str("Invalid spin: ",spin)) assert(is_undef(orient) || is_vector(orient,3), str("Invalid orient: ",orient)); - assert(in_list(axis,[UP,RIGHT,BACK]), "axis must be a positive coordinate direction, either UP, BACK or RIGHT"); + assert(in_list(v_abs(axis),[UP,RIGHT,BACK]), "axis must be a coordinate direction"); anchor = default(anchor,CENTER); spin = default(spin,0); orient = is_def($anchor_override)? UP : default(orient, UP); diff --git a/tutorials/Shapes3d.md b/tutorials/Shapes3d.md index 4aa924b..8ff179e 100644 --- a/tutorials/Shapes3d.md +++ b/tutorials/Shapes3d.md @@ -47,22 +47,13 @@ include cube([50,40,20], anchor=TOP+FRONT+LEFT); ``` -You can use `spin=` to rotate around the Z axis: +You can use `spin=` to rotate around the Z axis **after** anchoring: ```openscad-3D include cube([50,40,20], anchor=FRONT, spin=30); ``` -3D objects also gain the ability to use an extra trick with `spin=`; -if you pass a list of `[X,Y,Z]` rotation angles to `spin=`, it will -rotate by the three given axis angles, similar to using `rotate()`: - -```openscad-3D -include -cube([50,40,20], anchor=FRONT, spin=[15,0,30]); -``` - 3D objects also can be given an `orient=` argument as a vector, pointing to where the top of the shape should be rotated towards.