mirror of
https://github.com/BelfrySCAD/BOSL2.git
synced 2025-01-01 09:49:45 +00:00
Updated docs and examples for spreads and distributes.
This commit is contained in:
parent
f074c63cf2
commit
b8c53219d5
1 changed files with 27 additions and 2 deletions
|
@ -659,7 +659,8 @@ module line_of(p1=[0,0,0], p2=[10,0,0], n=2)
|
||||||
// Module: spread()
|
// Module: spread()
|
||||||
//
|
//
|
||||||
// Description:
|
// Description:
|
||||||
// Evenly distributes `n` copies of the children along a line.
|
// Evenly distributes `n` copies of all children along a line.
|
||||||
|
// Copies every child at each position.
|
||||||
//
|
//
|
||||||
// Usage:
|
// Usage:
|
||||||
// spread(l, [n], [p1]) ...
|
// spread(l, [n], [p1]) ...
|
||||||
|
@ -686,6 +687,11 @@ module line_of(p1=[0,0,0], p2=[10,0,0], n=2)
|
||||||
// spread(l=[15,30], n=6) cube(size=[3,2,1],center=true);
|
// spread(l=[15,30], n=6) cube(size=[3,2,1],center=true);
|
||||||
// spread(l=40, spacing=10) cube(size=[3,2,1],center=true);
|
// spread(l=40, spacing=10) cube(size=[3,2,1],center=true);
|
||||||
// spread(spacing=[5,5,0], n=5) cube(size=[3,2,1],center=true);
|
// spread(spacing=[5,5,0], n=5) cube(size=[3,2,1],center=true);
|
||||||
|
// Example:
|
||||||
|
// spread(l=30, n=4) {
|
||||||
|
// cube(size=[1,3,1],center=true);
|
||||||
|
// cube(size=[3,1,1],center=true);
|
||||||
|
// }
|
||||||
module spread(p1=undef, p2=undef, spacing=undef, l=undef, n=undef)
|
module spread(p1=undef, p2=undef, spacing=undef, l=undef, n=undef)
|
||||||
{
|
{
|
||||||
ll = (
|
ll = (
|
||||||
|
@ -739,6 +745,11 @@ module spread(p1=undef, p2=undef, spacing=undef, l=undef, n=undef)
|
||||||
// xspread(20, n=3) sphere(3);
|
// xspread(20, n=3) sphere(3);
|
||||||
// xspread(spacing=15, l=50) sphere(3);
|
// xspread(spacing=15, l=50) sphere(3);
|
||||||
// xspread(n=5, l=40, p1=[0,0]) sphere(3);
|
// xspread(n=5, l=40, p1=[0,0]) sphere(3);
|
||||||
|
// Example:
|
||||||
|
// xspread(30, n=4) {
|
||||||
|
// cube(size=[1,3,1],center=true);
|
||||||
|
// cube(size=[3,1,1],center=true);
|
||||||
|
// }
|
||||||
module xspread(spacing=undef, n=undef, l=undef, p1=undef)
|
module xspread(spacing=undef, n=undef, l=undef, p1=undef)
|
||||||
{
|
{
|
||||||
spread(l=l*V_RIGHT, spacing=spacing*V_RIGHT, n=n, p1=p1) children();
|
spread(l=l*V_RIGHT, spacing=spacing*V_RIGHT, n=n, p1=p1) children();
|
||||||
|
@ -769,6 +780,11 @@ module xspread(spacing=undef, n=undef, l=undef, p1=undef)
|
||||||
// yspread(20, n=3) sphere(3);
|
// yspread(20, n=3) sphere(3);
|
||||||
// yspread(spacing=15, l=50) sphere(3);
|
// yspread(spacing=15, l=50) sphere(3);
|
||||||
// yspread(n=5, l=40, p1=[0,0]) sphere(3);
|
// yspread(n=5, l=40, p1=[0,0]) sphere(3);
|
||||||
|
// Example:
|
||||||
|
// yspread(30, n=4) {
|
||||||
|
// cube(size=[1,3,1],center=true);
|
||||||
|
// cube(size=[3,1,1],center=true);
|
||||||
|
// }
|
||||||
module yspread(spacing=undef, n=undef, l=undef, p1=undef)
|
module yspread(spacing=undef, n=undef, l=undef, p1=undef)
|
||||||
{
|
{
|
||||||
spread(l=l*V_BACK, spacing=spacing*V_BACK, n=n, p1=p1) children();
|
spread(l=l*V_BACK, spacing=spacing*V_BACK, n=n, p1=p1) children();
|
||||||
|
@ -799,6 +815,11 @@ module yspread(spacing=undef, n=undef, l=undef, p1=undef)
|
||||||
// zspread(20, n=3) sphere(3);
|
// zspread(20, n=3) sphere(3);
|
||||||
// zspread(spacing=15, l=50) sphere(3);
|
// zspread(spacing=15, l=50) sphere(3);
|
||||||
// zspread(n=5, l=40, p1=[0,0]) sphere(3);
|
// zspread(n=5, l=40, p1=[0,0]) sphere(3);
|
||||||
|
// Example:
|
||||||
|
// zspread(30, n=4) {
|
||||||
|
// cube(size=[1,3,1],center=true);
|
||||||
|
// cube(size=[3,1,1],center=true);
|
||||||
|
// }
|
||||||
module zspread(spacing=undef, n=undef, l=undef, p1=undef)
|
module zspread(spacing=undef, n=undef, l=undef, p1=undef)
|
||||||
{
|
{
|
||||||
spread(l=l*V_UP, spacing=spacing*V_UP, n=n, p1=p1) children();
|
spread(l=l*V_UP, spacing=spacing*V_UP, n=n, p1=p1) children();
|
||||||
|
@ -810,6 +831,7 @@ module zspread(spacing=undef, n=undef, l=undef, p1=undef)
|
||||||
//
|
//
|
||||||
// Description:
|
// Description:
|
||||||
// Spreads out each individual child along the direction `dir`.
|
// Spreads out each individual child along the direction `dir`.
|
||||||
|
// Every child is placed at a different position, in order.
|
||||||
// This is useful for laying out groups of disparate objects
|
// This is useful for laying out groups of disparate objects
|
||||||
// where you only really care about the spacing between them.
|
// where you only really care about the spacing between them.
|
||||||
//
|
//
|
||||||
|
@ -854,6 +876,7 @@ module distribute(spacing=undef, sizes=undef, dir=V_RIGHT, l=undef)
|
||||||
//
|
//
|
||||||
// Description:
|
// Description:
|
||||||
// Spreads out each individual child along the X axis.
|
// Spreads out each individual child along the X axis.
|
||||||
|
// Every child is placed at a different position, in order.
|
||||||
// This is useful for laying out groups of disparate objects
|
// This is useful for laying out groups of disparate objects
|
||||||
// where you only really care about the spacing between them.
|
// where you only really care about the spacing between them.
|
||||||
//
|
//
|
||||||
|
@ -898,6 +921,7 @@ module xdistribute(spacing=10, sizes=undef, l=undef)
|
||||||
//
|
//
|
||||||
// Description:
|
// Description:
|
||||||
// Spreads out each individual child along the Y axis.
|
// Spreads out each individual child along the Y axis.
|
||||||
|
// Every child is placed at a different position, in order.
|
||||||
// This is useful for laying out groups of disparate objects
|
// This is useful for laying out groups of disparate objects
|
||||||
// where you only really care about the spacing between them.
|
// where you only really care about the spacing between them.
|
||||||
//
|
//
|
||||||
|
@ -942,6 +966,7 @@ module ydistribute(spacing=10, sizes=undef, l=undef)
|
||||||
//
|
//
|
||||||
// Description:
|
// Description:
|
||||||
// Spreads out each individual child along the Z axis.
|
// Spreads out each individual child along the Z axis.
|
||||||
|
// Every child is placed at a different position, in order.
|
||||||
// This is useful for laying out groups of disparate objects
|
// This is useful for laying out groups of disparate objects
|
||||||
// where you only really care about the spacing between them.
|
// where you only really care about the spacing between them.
|
||||||
//
|
//
|
||||||
|
@ -1002,7 +1027,7 @@ module zdistribute(spacing=10, sizes=undef, l=undef)
|
||||||
// rows = How many rows of copies to make. If staggered, count both staggered and unstaggered rows.
|
// rows = How many rows of copies to make. If staggered, count both staggered and unstaggered rows.
|
||||||
// stagger = If true, make a staggered (hexagonal) grid. If false, make square grid. If "alt", makes alternate staggered pattern. Default: false
|
// stagger = If true, make a staggered (hexagonal) grid. If false, make square grid. If "alt", makes alternate staggered pattern. Default: false
|
||||||
// scale = [X,Y] scaling factors to reshape grid.
|
// scale = [X,Y] scaling factors to reshape grid.
|
||||||
// in_poly = If given a list of polygon points, only creates copies whose center would be inside the polygon.
|
// in_poly = If given a list of polygon points, only creates copies whose center would be inside the polygon. Polygon can be concave and/or self crossing.
|
||||||
// orient = Orientation axis for the grid. Orientation is NOT applied to individual children.
|
// orient = Orientation axis for the grid. Orientation is NOT applied to individual children.
|
||||||
// align = Alignment of the grid. Alignment is NOT applies to individual children.
|
// align = Alignment of the grid. Alignment is NOT applies to individual children.
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in a new issue