mirror of
https://github.com/BelfrySCAD/BOSL2.git
synced 2024-12-29 16:29:40 +00:00
skin.scad docs fixes.
This commit is contained in:
parent
4a42da2159
commit
e3369b6b6e
1 changed files with 12 additions and 12 deletions
24
skin.scad
24
skin.scad
|
@ -784,14 +784,14 @@ function _find_one_tangent(curve, edge, curve_offset=[0,0,0], closed=true) =
|
||||||
// sq = regular_ngon(4,side=2);
|
// sq = regular_ngon(4,side=2);
|
||||||
// hex = apply(rot(60),hexagon(side=2));
|
// hex = apply(rot(60),hexagon(side=2));
|
||||||
// skin(associate_vertices([sq,hex],[[0,0]]), slices=10, refine=10, sampling="segment", z=[0,4]);
|
// skin(associate_vertices([sq,hex],[[0,0]]), slices=10, refine=10, sampling="segment", z=[0,4]);
|
||||||
// Example: This example shows several polygons, with only a single vertex split at each step:
|
// Example(3D): This example shows several polygons, with only a single vertex split at each step:
|
||||||
// sq = regular_ngon(4,side=2);
|
// sq = regular_ngon(4,side=2);
|
||||||
// pent = pentagon(side=2);
|
// pent = pentagon(side=2);
|
||||||
// hex = hexagon(side=2);
|
// hex = hexagon(side=2);
|
||||||
// sep = regular_ngon(7,side=2);
|
// sep = regular_ngon(7,side=2);
|
||||||
// profiles = associate_vertices([sq,pent,hex,sep], [1,3,4]);
|
// profiles = associate_vertices([sq,pent,hex,sep], [1,3,4]);
|
||||||
// skin(profiles ,slices=10, refine=10, method="distance", z=[0,2,4,6]);
|
// skin(profiles ,slices=10, refine=10, method="distance", z=[0,2,4,6]);
|
||||||
// Example: The polygons cannot shrink, so if you want to have decreasing polygons you'll need to concatenate multiple results. Note that it is perfectly ok to duplicate a profile as shown here, where the pentagon is duplicated:
|
// Example(3D): The polygons cannot shrink, so if you want to have decreasing polygons you'll need to concatenate multiple results. Note that it is perfectly ok to duplicate a profile as shown here, where the pentagon is duplicated:
|
||||||
// sq = regular_ngon(4,side=2);
|
// sq = regular_ngon(4,side=2);
|
||||||
// pent = pentagon(side=2);
|
// pent = pentagon(side=2);
|
||||||
// grow = associate_vertices([sq,pent], [1]);
|
// grow = associate_vertices([sq,pent], [1]);
|
||||||
|
@ -1142,10 +1142,10 @@ module sweep(shape, transforms, closed=false, caps, convexity=10,
|
||||||
// ushape = [[-10, 0],[-10, 10],[ -7, 10],[ -7, 2],[ 7, 2],[ 7, 7],[ 10, 7],[ 10, 0]];
|
// ushape = [[-10, 0],[-10, 10],[ -7, 10],[ -7, 2],[ 7, 2],[ 7, 7],[ 10, 7],[ 10, 0]];
|
||||||
// path_sweep(ushape, knot_path, closed=true, method="natural");
|
// path_sweep(ushape, knot_path, closed=true, method="natural");
|
||||||
// Example: knot with twist. Note if you twist it the other direction the center section untwists because of the natural twist there. Also compare to the "incremental" method which has less twist in the center.
|
// Example: knot with twist. Note if you twist it the other direction the center section untwists because of the natural twist there. Also compare to the "incremental" method which has less twist in the center.
|
||||||
// function knot(a,b,t) = // rolling knot
|
// function knot(a,b,t) = // rolling knot
|
||||||
// [ a * cos (3 * t) / (1 - b* sin (2 *t)),
|
// [ a * cos (3 * t) / (1 - b* sin (2 *t)),
|
||||||
// a * sin( 3 * t) / (1 - b* sin (2 *t)),
|
// a * sin( 3 * t) / (1 - b* sin (2 *t)),
|
||||||
// 1.8 * b * cos (2 * t) /(1 - b* sin (2 *t))];
|
// 1.8 * b * cos (2 * t) /(1 - b* sin (2 *t))];
|
||||||
// a = 0.8; b = sqrt (1 - a * a);
|
// a = 0.8; b = sqrt (1 - a * a);
|
||||||
// ksteps = 400;
|
// ksteps = 400;
|
||||||
// knot_path = [for (i=[0:ksteps-1]) 50 * knot(a,b,(i/ksteps)*360)];
|
// knot_path = [for (i=[0:ksteps-1]) 50 * knot(a,b,(i/ksteps)*360)];
|
||||||
|
@ -1155,10 +1155,10 @@ module sweep(shape, transforms, closed=false, caps, convexity=10,
|
||||||
// [ a * cos (3 * t) / (1 - b* sin (2 *t)),
|
// [ a * cos (3 * t) / (1 - b* sin (2 *t)),
|
||||||
// a * sin( 3 * t) / (1 - b* sin (2 *t)),
|
// a * sin( 3 * t) / (1 - b* sin (2 *t)),
|
||||||
// 1.8 * b * cos (2 * t) /(1 - b* sin (2 *t))];
|
// 1.8 * b * cos (2 * t) /(1 - b* sin (2 *t))];
|
||||||
// a = 0.8; b = sqrt (1 - a * a);
|
// a = 0.8; b = sqrt (1 - a * a);
|
||||||
// ksteps = 400;
|
// ksteps = 400;
|
||||||
// knot_path = [for (i=[0:ksteps-1]) 50 * knot(a,b,(i/ksteps)*360)];
|
// knot_path = [for (i=[0:ksteps-1]) 50 * knot(a,b,(i/ksteps)*360)];
|
||||||
// path_sweep(subdivide_path(pentagon(r=12),30), knot_path, closed=true, twist=-360*8, symmetry=5, method="natural", twist_by_length=false);
|
// path_sweep(subdivide_path(pentagon(r=12),30), knot_path, closed=true, twist=-360*8, symmetry=5, method="natural", twist_by_length=false);
|
||||||
// Example: This torus knot example comes from list-comprehension-demos. The knot lies on the surface of a torus. When we use the "natural" method the swept figure is angled compared to the surface of the torus because the curve doesn't follow geodesics of the torus.
|
// Example: This torus knot example comes from list-comprehension-demos. The knot lies on the surface of a torus. When we use the "natural" method the swept figure is angled compared to the surface of the torus because the curve doesn't follow geodesics of the torus.
|
||||||
// function knot(phi,R,r,p,q) =
|
// function knot(phi,R,r,p,q) =
|
||||||
// [ (r * cos(q * phi) + R) * cos(p * phi),
|
// [ (r * cos(q * phi) + R) * cos(p * phi),
|
||||||
|
@ -1168,7 +1168,7 @@ module sweep(shape, transforms, closed=false, caps, convexity=10,
|
||||||
// points = 50; // points per loop
|
// points = 50; // points per loop
|
||||||
// R = 400; r = 150; // Torus size
|
// R = 400; r = 150; // Torus size
|
||||||
// p = 2; q = 5; // Knot parameters
|
// p = 2; q = 5; // Knot parameters
|
||||||
// %torus(r=R,r2=r);
|
// %torus(r_maj=R,r_min=r);
|
||||||
// k = max(p,q) / gcd(p,q) * points;
|
// k = max(p,q) / gcd(p,q) * points;
|
||||||
// knot_path = [ for (i=[0:k-1]) knot(360*i/k/gcd(p,q),R,r,p,q) ];
|
// knot_path = [ for (i=[0:k-1]) knot(360*i/k/gcd(p,q),R,r,p,q) ];
|
||||||
// path_sweep(rot(90,p=ushape),knot_path, method="natural", closed=true);
|
// path_sweep(rot(90,p=ushape),knot_path, method="natural", closed=true);
|
||||||
|
@ -1185,7 +1185,7 @@ module sweep(shape, transforms, closed=false, caps, convexity=10,
|
||||||
// points = 50; // points per loop
|
// points = 50; // points per loop
|
||||||
// R = 400; r = 150; // Torus size
|
// R = 400; r = 150; // Torus size
|
||||||
// p = 2; q = 5; // Knot parameters
|
// p = 2; q = 5; // Knot parameters
|
||||||
// %torus(r=R,r2=r);
|
// %torus(r_maj=R,r_min=r);
|
||||||
// k = max(p,q) / gcd(p,q) * points;
|
// k = max(p,q) / gcd(p,q) * points;
|
||||||
// knot_path = [ for (i=[0:k-1]) knot(360*i/k/gcd(p,q),R,r,p,q) ];
|
// knot_path = [ for (i=[0:k-1]) knot(360*i/k/gcd(p,q),R,r,p,q) ];
|
||||||
// normals = [ for (i=[0:k-1]) knot_normal(360*i/k/gcd(p,q),R,r,p,q) ];
|
// normals = [ for (i=[0:k-1]) knot_normal(360*i/k/gcd(p,q),R,r,p,q) ];
|
||||||
|
|
Loading…
Reference in a new issue