mirror of
https://github.com/revarbat/BOSL2.git
synced 2025-01-16 13:50:23 +01:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
6bfd105630
@ -508,8 +508,8 @@ module snap_lock(thick, snaplen=5, snapdiam=5, layerheight=0.2, foldangle=90, hi
|
||||
attachable(anchor,spin,orient, size=size) {
|
||||
back(snap_x) {
|
||||
cube([snaplen, snapdiam, snapdiam/2+thick], anchor=BOT) {
|
||||
attach(TOP) xcyl(l=snaplen, d=snapdiam, $fn=16);
|
||||
attach(TOP) xcopies(snaplen-snapdiam/4/3) xscale(0.333) sphere(d=snapdiam*0.8, $fn=12);
|
||||
attach(TOP) xcyl(l=snaplen, d=snapdiam, $fn = max(16,quant(segs(snapdiam/2),4)));
|
||||
attach(TOP) xcopies(snaplen-snapdiam/4/3) xscale(0.333) sphere(d=snapdiam*0.8, $fn = max(12,quant(segs(snapdiam/2),4)));
|
||||
}
|
||||
}
|
||||
children();
|
||||
@ -550,8 +550,8 @@ module snap_socket(thick, snaplen=5, snapdiam=5, layerheight=0.2, foldangle=90,
|
||||
zrot_copies([0,180], r=snaplen+get_slop()) {
|
||||
diff("divot")
|
||||
cube([snaplen, snapdiam, snapdiam/2+thick], anchor=BOT) {
|
||||
attach(TOP) xcyl(l=snaplen, d=snapdiam, $fn=16);
|
||||
tag("divot") attach(TOP) left((snaplen+snapdiam/4/3)/2) xscale(0.333) sphere(d=snapdiam*0.8, $fn=12);
|
||||
attach(TOP) xcyl(l=snaplen, d=snapdiam, $fn=max(16,quant(segs(snapdiam/2),4)));
|
||||
tag("divot") attach(TOP) left((snaplen+snapdiam/4/3)/2) xscale(0.333) sphere(d=snapdiam*0.8, $fn = max(12,quant(segs(snapdiam/2),4)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -986,7 +986,7 @@ function rotate_sweep(
|
||||
style=style
|
||||
) :
|
||||
let(
|
||||
steps = ceil(segs(max_x) * angle / 360) + 1,
|
||||
steps = ceil(segs(max_x) * angle / 360) + (angle<360? 1 : 0),
|
||||
skmat = down(min_y) * skew(sxz=shift.x/h, syz=shift.y/h) * up(min_y),
|
||||
transforms = [
|
||||
if (angle==360) for (i=[0:1:steps-1]) skmat * rot([90,0,360-i*360/steps]),
|
||||
@ -1046,7 +1046,7 @@ module rotate_sweep(
|
||||
spin=spin, orient=orient
|
||||
) children();
|
||||
} else {
|
||||
steps = ceil(segs(max_x) * angle / 360) + 1;
|
||||
steps = ceil(segs(max_x) * angle / 360) + (angle<360? 1 : 0);
|
||||
skmat = down(min_y) * skew(sxz=shift.x/h, syz=shift.y/h) * up(min_y);
|
||||
transforms = [
|
||||
if (angle==360) for (i=[0:1:steps-1]) skmat * rot([90,0,360-i*360/steps]),
|
||||
|
@ -779,7 +779,7 @@ function scalar_vec3(v, dflt) =
|
||||
// r = Radius of circle to get the number of segments for.
|
||||
// Example:
|
||||
// $fn=12; sides=segs(10); // Returns: 12
|
||||
// $fa=2; $fs=3, sides=segs(10); // Returns: 21
|
||||
// $fa=2; $fs=3; sides=segs(10); // Returns: 21
|
||||
function segs(r) =
|
||||
$fn>0? ($fn>3? $fn : 3) :
|
||||
let( r = is_finite(r)? r : 0 )
|
||||
|
@ -9,7 +9,7 @@
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
BOSL_VERSION = [2,0,665];
|
||||
BOSL_VERSION = [2,0,670];
|
||||
|
||||
|
||||
// Section: BOSL Library Version Functions
|
||||
|
Loading…
x
Reference in New Issue
Block a user