attract = p(s, *args, **kwargs)
blend(a, b, amount)
buffer = p(s, *args, **kwargs)
circle(x, y, r)
Defines a circle from a center point and radius.
circle_edge(x0, y0, x1, y1)
Defines a circle from two points on its radius.
clearance(a, b, o)
cone(x, y, z0, z1, r)
cube(xmin, xmax, ymin, ymax, zmin, zmax)
cylinder(x, y, zmin, zmax, r)
cylinder_x(xmin, xmax, y, z, r)
cylinder_y(x, ymin, ymax, z, r)
difference(a, b)
extrude_z = p(s, *args, **kwargs)
function_prefix_xy(fn, xmin, xmax, ymin, ymax)
Takes an arbitrary prefix math-string and makes it a function.
Returns the function intersected with the given bounding rectangle.
function_prefix_xyz(fn, xmin, xmax, ymin, ymax, zmin, zmax)
Takes an arbitrary prefix math-string and makes it a function.
Returns the function intersected with the given bounding cube.
intersection(a, b)
invert = p(s, *args, **kwargs)
iterate2d = p(s, *args, **kwargs)
iterate_polar = p(s, *args, **kwargs)
loft_xy_z(a, b, zmin, zmax)
Creates a blended loft between two shapes.
Input shapes should be 2D (in the XY plane).
The resulting loft will be shape a at zmin and b at zmax.
morph(a, b, weight)
Morphs between two shapes.
move = p(s, *args, **kwargs)
offset(a, o)
Assumes a linear distance field for bounds calculations!
origin_xy = p(s, *args, **kwargs)
origin_xyz = p(s, *args, **kwargs)
polygon_radius(x, y, r, N)
Makes a polygon with a center-to-vertex distance r
The polygon is oriented so that the bottom is always flat.
Function decorator that preserves the color of the first input
(which is expected to be a fab.types.Shape)
pyramid(xmin, xmax, ymin, ymax, z0, z1)
recenter = p(s, *args, **kwargs)
rectangle(xmin, xmax, ymin, ymax)
reflect_x = p(s, *args, **kwargs)
reflect_xy = p(s, *args, **kwargs)
reflect_xz = p(s, *args, **kwargs)
reflect_y = p(s, *args, **kwargs)
reflect_yz = p(s, *args, **kwargs)
reflect_z = p(s, *args, **kwargs)
repel = p(s, *args, **kwargs)
revolve_x = p(s, *args, **kwargs)
revolve_xy_x = p(s, *args, **kwargs)
revolve_xy_y = p(s, *args, **kwargs)
revolve_y = p(s, *args, **kwargs)
right_triangle(x, y, w, h)
rotate = p(s, *args, **kwargs)
rotate_x = p(s, *args, **kwargs)
rotate_y = p(s, *args, **kwargs)
rotate_z = p(s, *args, **kwargs)
rounded_cube(xmin, xmax, ymin, ymax, zmin, zmax, r)
Returns a cube with rounded corners and edges
r is a roundedness fraction between 0 (not rounded)
and 1 (completely rounded)
rounded_rectangle(xmin, xmax, ymin, ymax, r)
Returns a rectangle with rounded corners.
r is a roundedness fraction between 0 (not rounded)
and 1 (completely rounded)
scale_cos_x_y = p(s, *args, **kwargs)
scale_cos_xy_z = p(s, *args, **kwargs)
scale_x = p(s, *args, **kwargs)
scale_xy = p(s, *args, **kwargs)
scale_xyz = p(s, *args, **kwargs)
scale_y = p(s, *args, **kwargs)
scale_z = p(s, *args, **kwargs)
scale_z_r(part, x0, y0, z0, r0, s0, r1, s1)
set_color(a, r, g, b)
Applies a given color to an input shape a and returns it.
shear_cos_x_y = p(s, *args, **kwargs)
shear_cos_xy_z = p(s, *args, **kwargs)
shear_x_y = p(s, *args, **kwargs)
shear_x_z = p(s, *args, **kwargs)
shear_xy_z = p(s, *args, **kwargs)
shell = p(s, *args, **kwargs)
slot(x, y, width, height, angle=0, chamfer=0.2)
sphere(x, y, z, r)
tab(x, y, width, height, angle=0, chamfer=0.2)
taper_x_y = p(s, *args, **kwargs)
taper_xy_z = p(s, *args, **kwargs)
text(text, x, y, height=1, align='LB')
torus_x(x, y, z, R, r)
torus_y(x, y, z, R, r)
torus_z(x, y, z, R, r)
translate = p(s, *args, **kwargs)
triangle(x0, y0, x1, y1, x2, y2)
Defines a triangle from three points.
twist_xy_z = p(s, *args, **kwargs)
union(a, b)