1 Topics
Revar Desmera edited this page 2024-12-14 02:23:46 -08:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Topic Index

An index of topics, with related functions, modules, and constants.

A: Affine, Angle, Area, Argument Handling, Arrays, Attachable, Attachment, Attachments

B: Bearings, Bezier Curves, Bezier Patches, Bezier Paths, Boolean Operations, Boolean Testing, Bottles, Bounding Boxes, Bounds

C: Calculus, Centroid, Chamfers, Circles, Clockwise, Closest, Collinearity, Collision, Colors, Colorspace, Comparators, Comparison, Comparisons, Complex Numbers, Constants, Convexity, Coordinates, Copiers, Coplanarity, CubeTruss, Cylinders

D: Data Structures, Debugging, Descriptions, Dictionaries, Distance, Distributors, Drawing Tools

E: Error Checking, Extrusion, Extrusions

F: FDM Optimized, Filters, Function Literals

G: Gears, Geometry

H: Hashing, Heightfield, Hinges, Hulling

I: Indexing, Interpolation, Intersection, Iteration

J: Joiners

K: Knurling

L: Linear Algebra, Lines, List Handling, Lists, Logic, Looping

M: Masking, Masks, Masks (2D), Math, Math Operators, Matrices, Mini-Language, Mirroring, Miscellaneous, Modifiers, Modular Hose, Motors

N: NURBS, NURBS Curves, NURBS Patches

O: Offsets

P: Partitions, Parts, Path Generators, Path Generators (2D), Path Generators (3D), Path Subdivision, Paths, Paths (2D), Paths (3D), Planes, Points, Polygon, Polygons, Polyhedra, Projection

Q: Quantization

R: Random, Reflection, Regions, Revolution, Rotation, Rounding

S: Scaling, Screws, Search, Searching, Segments, Set Handling, Shapes, Shapes (2D), Shapes (3D), Shapes2D, Shapes3D, Shearing, Shell, Skewing, Skin, Skinning, Sliders, Slop, Spheres, Spiral, Statistics, String Operators, Strings, Sweep

T: Tangents, Test, Testing, Text, Textures, Threading, Transformations, Transforms, Translation, Triangles, Triangulation, Trigonometry, Trusses, Type Checking, Type Conversion, Type Queries

U: Undef Handling

V: VNF Generators, VNF Manipulation, Vectors, Versioning

W: Walls, Wiring

Affine

  • apply() Func Applies a transformation matrix to a point, list of points, array of points, or a VNF. [Path] [VNF] [Mat]
  • back() Func/Mod Translates children backwards (Y+). [Trans] [Path] [VNF] [Mat]
  • diagonal_matrix() Func Make a diagonal matrix.
  • down() Func/Mod Translates children downwards (Z-). [Trans] [Path] [VNF] [Mat]
  • frame_map() Func/Mod Rotates and possibly skews children from one frame of reference to another. [Trans] [Path] [VNF] [Mat]
  • fwd() Func/Mod Translates children forwards (Y-). [Trans] [Path] [VNF] [Mat]
  • IDENT Const A constant containing the 3D identity transformation matrix. [Mat]
  • ident() Func Return identity matrix.
  • is_rotation() Func Check if a transformation matrix represents a rotation.
  • left() Func/Mod Translates children leftwards (X-). [Trans] [Path] [VNF] [Mat]
  • mirror() Func/Mod Reflects children across an arbitrary plane. [Trans] [Path] [VNF] [Mat] [Ext]
  • move() Func/Mod Translates children in an arbitrary direction. [Trans] [Path] [VNF] [Mat]
  • right() Func/Mod Translates children rightwards (X+). [Trans] [Path] [VNF] [Mat]
  • rot() Func/Mod Rotates children in various ways. [Trans] [Path] [VNF] [Mat]
  • rot_decode() Func Extract axis and rotation angle from a rotation matrix.
  • rot_inverse() Func Invert 2d or 3d rotation transformations.
  • scale() Func/Mod Scales children arbitrarily. [Trans] [Path] [VNF] [Mat] [Ext]
  • skew() Func/Mod Skews (or shears) children along various axes. [Trans] [Path] [VNF] [Mat]
  • tilt() Func/Mod Tilts children towards a direction [Trans] [Path] [VNF] [Mat]
  • move() Func/Mod Translates children in an arbitrary direction. [Trans] [Path] [VNF] [Mat]
  • up() Func/Mod Translates children upwards (Z+). [Trans] [Path] [VNF] [Mat]
  • xflip() Func/Mod Reflects children across the YZ plane. [Trans] [Path] [VNF] [Mat]
  • right() Func/Mod Translates children rightwards (X+). [Trans] [Path] [VNF] [Mat]
  • xrot() Func/Mod Rotates children around the X axis using the right-hand rule. [Trans] [Path] [VNF] [Mat]
  • xscale() Func/Mod Scales children along the X axis. [Trans] [Path] [VNF] [Mat]
  • yflip() Func/Mod Reflects children across the XZ plane. [Trans] [Path] [VNF] [Mat]
  • back() Func/Mod Translates children backwards (Y+). [Trans] [Path] [VNF] [Mat]
  • yrot() Func/Mod Rotates children around the Y axis using the right-hand rule. [Trans] [Path] [VNF] [Mat]
  • yscale() Func/Mod Scales children along the Y axis. [Trans] [Path] [VNF] [Mat]
  • zflip() Func/Mod Reflects children across the XY plane. [Trans] [Path] [VNF] [Mat]
  • up() Func/Mod Translates children upwards (Z+). [Trans] [Path] [VNF] [Mat]
  • zrot() Func/Mod Rotates children around the Z axis using the right-hand rule. [Trans] [Path] [VNF] [Mat]
  • zscale() Func/Mod Scales children along the Z axis. [Trans] [Path] [VNF] [Mat]

Angle

Area

  • polygon_area() Func Calculate area of a 2d or 3d polygon.
  • region_area() Func Computes the area of the specified valid region.

Argument Handling

  • get_anchor() Func Returns the correct anchor from anchor and center.
  • get_radius() Func Given various radii and diameters, returns the most specific radius.
  • scalar_vec3() Func Expands a scalar or a list with length less than 3 to a length 3 vector.

Arrays

  • block_matrix() Func Make a new matrix from a block of matrices.
  • column() Func Extract a column from a matrix.
  • hstack() Func Make a new matrix by stacking matrices horizontally.
  • submatrix() Func Extract a submatrix from a matrix
  • submatrix_set() Func Takes a matrix as input and change values in a submatrix.

Attachable

  • cube() Func/Mod Creates a cube with anchors for attaching children. [Geom] [VNF] [Ext]
  • cuboid() Mod Creates a cube with chamfering and roundovers. [Geom]
  • cylinder() Func/Mod Creates an attachable cylinder. [Geom] [VNF] [Ext]
  • egg() Func/Mod Creates an egg-shaped 2d object. [Geom] [Path]
  • ellipse() Func/Mod Creates the approximation of an ellipse or a circle. [Geom] [Path]
  • fillet() Mod Creates a smooth fillet between two faces. [Geom] [VNF]
  • glued_circles() Func/Mod Creates a shape of two circles joined by a curved waist. [Geom] [Path]
  • hexagon() Func/Mod Creates a regular hexagon. [Geom] [Path]
  • keyhole() Func/Mod Creates a 2D keyhole shape. [Geom] [Path]
  • mask2d_chamfer() Func/Mod Produces a 2D chamfer mask shape. [Geom] [Path]
  • mask2d_cove() Func/Mod Creates a 2D cove (quarter-round) mask shape. [Geom] [Path]
  • mask2d_dovetail() Func/Mod Creates a 2D dovetail mask shape. [Geom] [Path]
  • mask2d_ogee() Func/Mod Creates a 2D ogee mask shape. [Geom] [Path]
  • mask2d_rabbet() Func/Mod Creates a rabbet mask shape. [Geom] [Path]
  • mask2d_roundover() Func/Mod Creates a circular mask shape for rounding edges or beading. [Geom] [Path]
  • mask2d_teardrop() Func/Mod Creates a 2D teardrop shape with specified max angle from vertical. [Geom] [Path]
  • octagon() Func/Mod Creates a regular octagon. [Geom] [Path]
  • octahedron() Func/Mod Creates an octahedron with axis-aligned points. [Geom] [VNF]
  • onion() Func/Mod Creates an attachable onion-like shape. [Geom] [VNF]
  • pentagon() Func/Mod Creates a regular pentagon. [Geom] [Path]
  • pie_slice() Func/Mod Creates a pie slice shape. [Geom] [VNF]
  • prismoid() Func/Mod Creates a rectangular prismoid shape with optional roundovers and chamfering. [Geom] [VNF]
  • rect() Func/Mod Creates a 2d rectangle with optional corner rounding. [Geom] [Path]
  • rect_tube() Mod Creates a rectangular tube. [Geom]
  • regular_ngon() Func/Mod Creates a regular N-sided polygon. [Geom] [Path]
  • reuleaux_polygon() Func/Mod Creates a constant-width shape that is not circular. [Geom] [Path]
  • right_triangle() Func/Mod Creates a right triangle. [Geom] [Path]
  • ring() Func/Mod Draws a 2D ring or partial ring or returns a region or path [Geom] [Region] [Path]
  • sphere() Func/Mod Creates an attachable spherical object. [Geom] [VNF] [Ext]
  • spheroid() Func/Mod Creates an attachable spherical object with controllable triangulation. [Geom] [VNF]
  • squircle() Func/Mod Creates a shape between a circle and a square, centered on the origin. [Geom] [Path]
  • star() Func/Mod Creates a star-shaped polygon or returns a star-shaped region. [Geom] [Path]
  • supershape() Func/Mod Creates a 2D Superformula shape. [Geom] [Path]
  • teardrop() Func/Mod Creates a teardrop shape. [Geom] [VNF]
  • teardrop2d() Func/Mod Creates a 2D teardrop shape. [Geom] [Path]
  • torus() Func/Mod Creates an attachable torus. [Geom] [VNF]
  • trapezoid() Func/Mod Creates a trapezoid with parallel top and bottom sides. [Geom] [Path]
  • tube() Mod Creates a cylindrical or conical tube. [Geom]
  • wedge() Func/Mod Creates a 3d triangular wedge. [Geom] [VNF]

Attachment

  • EDGE() Func Named edge anchor constants
  • FACE() Func Named face anchor constants

Attachments

  • align() Mod Position children with alignment to parent edges. [Trans]
  • anchor_arrow() Mod Shows a 3d anchor orientation arrow. [Geom]
  • anchor_arrow2d() Mod Shows a 2d anchor orientation arrow. [Geom]
  • attach() Mod Attaches children to a parent object at an anchor point and with anchor orientation. [Trans]
  • attach_geom() Func Returns the internal geometry description of an attachable object.
  • attachable() Mod Manages the anchoring, spin, orientation, and attachments for an object.
  • color_this() Mod Sets the color for children at the current level only. [Trans]
  • conv_hull() Mod Performs a hull operation on the children using tags to determine what happens.
  • corner_mask() Mod Attaches a 3d mask shape to the given corners of the parent. [Trans]
  • corner_profile() Mod Rotationally extrudes a 2d edge profile into corner mask on the given corners of the parent. [Geom]
  • default_tag() Mod Sets a default tag for all children.
  • diff() Mod Performs a differencing operation using tags rather than hierarchy to control what happens.
  • edge_mask() Mod Attaches a 3D mask shape to the given edges of the parent. [Trans]
  • edge_profile() Mod Extrudes a 2d edge profile into a mask on the given edges of the parent. [Geom]
  • edge_profile_asym() Mod Extrudes an asymmetric 2D profile into a mask on the given edges and corners of the parent. [Geom]
  • expose_anchors() Mod Used to show a transparent object with solid color anchor arrows.
  • face_mask() Mod Ataches a 3d mask shape to the given faces of the parent. [Trans]
  • face_profile() Mod Extrudes a 2D edge profile into a mask for all edges and corners of the given faces on the parent. [Geom]
  • force_tag() Mod Assigns a tag to a non-attachable object.
  • frame_ref() Mod Shows axis orientation arrows. [Geom]
  • generic_airplane() Mod Shows a generic airplane shape, useful for viewing orientations. [Geom]
  • ghost() Mod Sets % modifier for attachable children and their descendents. [Trans]
  • ghost_this() Mod Apply % modifier to children at a single level. [Trans]
  • hide() Mod Hides attachable children with the given tags.
  • hide_this() Mod Hides attachable children at the current level
  • highlight() Mod Sets # modifier for attachable children and their descendents. [Trans]
  • highlight_this() Mod Apply # modifier to children at a single level. [Trans]
  • intersect() Mod Perform an intersection operation on children using tags rather than hierarchy to control what happens.
  • named_anchor() Func Creates an anchor data structure.
  • orient() Mod Orients children's tops in the directon of the specified anchor. [Trans]
  • parent() Func Returns a description (transformation state and attachment geometry) of the parent
  • position() Mod Attaches children to a parent object at an anchor point. [Trans]
  • recolor() Mod Sets the color for attachable children and their descendants. [Trans]
  • reorient() Func Calculates the transformation matrix needed to reorient an object. [Trans] [Path] [VNF]
  • restore() Mod Restores transformation state and attachment geometry from a description [Trans]
  • show_all() Mod Shows all children and clears tags.
  • show_anchors() Mod Shows anchors for the parent object. [Geom]
  • show_int() Mod Shows children with the listed tags which were already shown in the parent context.
  • show_only() Mod Show only the children with the listed tags.
  • show_transform_list() Mod Shows a list of transforms and how they connect. [Geom]
  • tag() Mod Assigns a tag to an object
  • tag_conv_hull() Mod Performs a conv_hull() and then sets a tag on the result.
  • tag_diff() Mod Performs a diff() and then sets a tag on the result.
  • tag_intersect() Mod Performs an intersect() and then tags the result.
  • tag_scope() Mod Creates a new tag scope.
  • tag_this() Mod Assigns a tag to an object at the current level only.
  • text() Mod Creates an attachable block of text. [Geom]
  • text3d() Mod Creates an attachable 3d text block. [Geom]

Bearings

  • ball_bearing() Mod Creates a standardized ball bearing assembly. [Geom]
  • ball_bearing_info() Func Returns size info for a standardized ball bearing assembly.
  • linear_bearing() Mod Creates a generic linear bearing cartridge. [Geom]
  • linear_bearing_housing() Mod Creates a generic linear bearing mount clamp. [Geom]
  • lmXuu_bearing() Mod Creates a standardized LM*UU linear bearing cartridge. [Geom]
  • lmXuu_housing() Mod Creates a standardized LM*UU linear bearing mount clamp. [Geom]
  • lmXuu_info() Func Returns the sizes of a standard LM*UU linear bearing cartridge.

Bezier Curves

  • bezier_closest_point() Func Finds the closest position on a bezier curve to a given point.
  • bezier_curvature() Func Returns the curvature at one or more given positions along a bezier curve.
  • bezier_curve() Func Computes a specified number of points on a bezier curve. [Path]
  • bezier_derivative() Func Evaluates the derivative of the bezier curve at the given point or points.
  • bezier_length() Func Approximate the length of part of a bezier curve.
  • bezier_line_intersection() Func Calculates where a bezier curve intersects a line.
  • bezier_points() Func Computes one or more specified points along a bezier curve. [Path]
  • bezier_tangent() Func Calculates unit tangent vectors along the bezier curve at one or more given positions.

Bezier Patches

Bezier Paths

  • bez_begin() Func Calculates starting bezier path control points.
  • bez_end() Func Calculates ending bezier path control points.
  • bez_joint() Func Calculates control points for a disjointed corner bezier path joint.
  • bez_tang() Func Calculates control points for a smooth bezier path joint.
  • bezpath_close_to_axis() Func Closes a 2D bezier path to the specified axis. [Path]
  • bezpath_closest_point() Func Finds the closest point on a bezier path to a given point.
  • bezpath_curve() Func Converts bezier path into a path of points. [Path]
  • bezpath_length() Func Approximate the length of a bezier path.
  • bezpath_offset() Func Forms a closed bezier path loop with a translated and reversed copy of itself. [Path]
  • bezpath_points() Func Computes one or more specified points along a bezier path. [Path]
  • debug_bezier() Mod Shows a bezier path and its associated control points. [Geom]
  • path_to_bezpath() Func Generates a bezier path that passes through all points in a given linear path. [Path]

Boolean Operations

  • difference() Func/Mod Performs a Boolean difference operation. [Geom] [Region]
  • exclusive_or() Func/Mod Performs a Boolean exclusive-or operation. [Geom] [Region]
  • f_and() Func Returns a function to check if both a and b are true.
  • f_nand() Func Returns a function to check if a and b are not both true.
  • f_nor() Func Returns a function to check if neither a nor b are true.
  • f_not() Func Returns a function to check if a is not true.
  • f_or() Func Returns a function to check if either a or b is true.
  • f_xor() Func Returns a function to check if either a or b, but not both, are true.
  • intersection() Func/Mod Performs a Boolean intersection operation. [Geom] [Region]
  • union() Func/Mod Performs a Boolean union operation. [Geom] [Region]

Boolean Testing

  • is_bool_list() Func Returns true if the argument list contains only booleans.
  • num_true() Func Returns the number of true entries in the arguemnt list.

Bottles

Bounding Boxes

  • bounding_box() Mod Creates the smallest bounding box that contains all the children. [Geom]
  • pointlist_bounds() Func Returns the min and max bounding coordinates for the given list of points.

Bounds

  • bounding_box() Mod Creates the smallest bounding box that contains all the children. [Geom]
  • pointlist_bounds() Func Returns the min and max bounding coordinates for the given list of points.

Calculus

  • deriv() Func Returns the first derivative estimate of a list of data.
  • deriv2() Func Returns the second derivative estimate of a list of data.
  • deriv3() Func Returns the third derivative estimate of a list of data.

Centroid

  • centroid() Func Compute centroid of a 2d or 3d polygon or a VNF.

Chamfers

  • chamfer_corner_mask() Mod Creates a shape to chamfer a 90° corner. [Geom]
  • chamfer_cylinder_mask() Mod Creates a shape to chamfer the end of a cylinder. [Geom]
  • chamfer_edge_mask() Mod Creates a shape to chamfer a 90° edge. [Geom]
  • cyl() Func/Mod Creates an attachable cylinder with roundovers and chamfering. [Geom] [VNF]
  • regular_prism() Func/Mod Creates a regular prism with roundovers and chamfering [Geom] [VNF]
  • xcyl() Mod creates a cylinder oriented along the X axis. [Geom]
  • ycyl() Mod Creates a cylinder oriented along the y axis. [Geom]
  • zcyl() Mod Creates a cylinder oriented along the Z axis. [Geom]

Circles

Clockwise

Closest

Collinearity

Collision

  • convex_collision() Func Check whether the convex hulls of two point lists intersect.

Colors

  • hsl() Func/Mod Sets the color of children to a specified hue, saturation, lightness and optional alpha channel value. [Trans]
  • hsv() Func/Mod Sets the color of children to a hue, saturation, value and optional alpha channel value. [Trans]

Colorspace

  • hsl() Func/Mod Sets the color of children to a specified hue, saturation, lightness and optional alpha channel value. [Trans]
  • hsv() Func/Mod Sets the color of children to a hue, saturation, value and optional alpha channel value. [Trans]

Comparators

  • are_polygons_equal() Func Check if two polygons (not necessarily in the same point order) are equal.
  • f_approx() Func Returns a function to compare if a is approximately equal to b.
  • f_cmp() Func Returns a function to compare values.
  • f_eq() Func Returns a function to compare if a is exactly equal to b.
  • f_gt() Func Returns a function to compare if a is greater than b.
  • f_gte() Func Returns a function to compare if a is greater than or equal to b.
  • f_lt() Func Returns a function to compare if a is less than b.
  • f_lte() Func Returns a function to compare if a is less than or equal to b.
  • f_napprox() Func Returns a function to compare if a is not approximately equal to b.
  • f_neq() Func Returns a function to compare if a is not exactly equal to b.

Comparison

Comparisons

  • all_equal() Func Returns true if all items in a list are approximately equal to each other.
  • all_negative() Func Returns true if the value(s) given are less than zero.
  • all_nonnegative() Func Returns true if the value(s) given are greater than or equal to zero.
  • all_nonpositive() Func Returns true if the value(s) given are less than or equal to zero.
  • all_nonzero() Func Returns true if the value(s) given are not aproximately zero.
  • all_positive() Func Returns true if the value(s) given are greater than zero.
  • all_zero() Func Returns true if the value(s) given are aproximately zero.
  • approx() Func Returns true if two values are equal to within a small epsilon value.
  • are_ends_equal() Func Returns true if the first and last items in a list are approximately equal.
  • compare_lists() Func Compares two lists of values, possibly of different type.
  • compare_vals() Func Compares two values, possibly of different type.
  • is_decreasing() Func Returns true if exery item in a list is less than the previous item.
  • is_increasing() Func Returns true if every item in a list is greater than the previous item.

Complex Numbers

  • c_conj() Func Returns the complex conjugate of the input.
  • c_div() Func Divides two complex numbers.
  • c_ident() Func Returns an n by n complex identity matrix.
  • c_imag() Func Returns the imaginary part of a complex number, vector or matrix..
  • c_mul() Func Multiplies two complex numbers.
  • c_norm() Func Returns the norm of a complex number or vector.
  • c_real() Func Returns the real part of a complex number, vector or matrix..
  • complex() Func Replaces scalars in a list or matrix with complex number 2-vectors.
  • poly_roots() Func Returns all complex valued roots of the given real polynomial.
  • polynomial() Func Evaluate a polynomial at a real or complex value.
  • quadratic_roots() Func Computes roots for the quadratic equation.
  • real_roots() Func Returns all real roots of the given real polynomial.

Constants

  • $slop Const The slop amount to make printed items fit closely. 0.0 by default.
  • BACK Const The backwards (Y+) direction vector constant [0,1,0].
  • BOTTOM Const The down-wards (Z-) direction vector constant [0,0,-1].
  • BOTTOM Const The down-wards (Z-) direction vector constant [0,0,-1].
  • CENTER Const The center vector constant [0,0,0].
  • CENTER Const The center vector constant [0,0,0].
  • CENTER Const The center vector constant [0,0,0].
  • BOTTOM Const The down-wards (Z-) direction vector constant [0,0,-1].
  • EDGE() Func Named edge anchor constants
  • EPSILON Const A tiny value to compare floating point values. 1e-9
  • FACE() Func Named face anchor constants
  • FRONT Const The front-wards (Y-) direction vector constant [0,-1,0].
  • FRONT Const The front-wards (Y-) direction vector constant [0,-1,0].
  • FRONT Const The front-wards (Y-) direction vector constant [0,-1,0].
  • IDENT Const A constant containing the 3D identity transformation matrix. [Mat]
  • INCH Const A constant containing the number of millimeters in an inch. 25.4
  • INF Const The floating point value for Infinite.
  • LEFT Const The left-wards (X-) direction vector constant [-1,0,0].
  • LINE Const A constant for specifying an unbounded line in various geometry.scad functions. [false,false]
  • NAN Const The floating point value for Not a Number.
  • PHI Const The golden ratio φ (phi). Approximately 1.6180339887
  • RAY Const A constant for specifying a ray line in various geometry.scad functions. [true,false]
  • RIGHT Const The right-wards (X+) direction vector constant [1,0,0].
  • SEGMENT Const A constant for specifying a line segment in various geometry.scad functions. [true,true]
  • TOP Const The top-wards (Z+) direction vector constant [0,0,1].
  • TOP Const The top-wards (Z+) direction vector constant [0,0,1].

Convexity

Coordinates

  • altaz_to_xyz() Func Convert altitude/azimuth/range to 3D cartesian coordinates. [Path]
  • cylindrical_to_xyz() Func Convert cylindrical coordinates to cartesian coordinates. [Path]
  • lift_plane() Func Map a list of 2D points onto a plane in 3D. [Path]
  • path2d() Func Convert a path to 2D. [Path]
  • path3d() Func Convert a path to 3D. [Path]
  • path4d() Func Convert a path to 4d. [Path]
  • point2d() Func Convert a vector to 2D.
  • point3d() Func Convert a vector to 3D.
  • point4d() Func Convert a vector to 4d.
  • polar_to_xy() Func Convert 2D polar coordinates to cartesian coordinates. [Path]
  • project_plane() Func Project a set of points onto a specified plane, returning 2D points. [Path]
  • spherical_to_xyz() Func Convert spherical coordinates to 3D cartesian coordinates. [Path]
  • xy_to_polar() Func Convert 2D cartesian coordinates to polar coordinates (radius and angle)
  • xyz_to_altaz() Func Convert 3D cartesian coordinates to [altitude,azimuth,range].
  • xyz_to_cylindrical() Func Convert 3D cartesian coordinates to cylindrical coordinates.
  • xyz_to_spherical() Func Convert 3D cartesian coordinates to spherical coordinates.

Copiers

  • arc_copies() Func/Mod Distributes duplicates of children along an arc. [MatList] [Trans]
  • grid_copies() Func/Mod Places copies of children in an [X,Y] grid. [MatList] [Trans]
  • line_copies() Func/Mod Places copies of children along an arbitrary line. [MatList] [Trans]
  • mirror_copy() Func/Mod Makes a copy of children mirrored across a given plane. [MatList] [Trans]
  • move_copies() Func/Mod Translates copies of all children. [MatList] [Trans]
  • path_copies() Func/Mod Uniformly distributes copies of children along a path. [MatList] [Trans]
  • rot_copies() Func/Mod Rotates copies of children. [MatList] [Trans]
  • sphere_copies() Func/Mod Distributes copies of children over the surface of a sphere. [MatList] [Trans]
  • xcopies() Func/Mod Places copies of children along the X axis. [MatList] [Trans]
  • xflip_copy() Func/Mod Makes a copy of children mirrored across the X axis. [MatList] [Trans]
  • xrot_copies() Func/Mod Rotates copies of children around the X axis. [MatList] [Trans]
  • ycopies() Func/Mod Places copies of children along the Y axis. [MatList] [Trans]
  • yflip_copy() Func/Mod Makes a copy of children mirrored across the Y axis. [MatList] [Trans]
  • yrot_copies() Func/Mod Rotates copies of children around the Y axis. [MatList] [Trans]
  • zcopies() Func/Mod Places copies of children along the Z axis. [MatList] [Trans]
  • zflip_copy() Func/Mod Makes a copy of children mirrored across the Z axis. [MatList] [Trans]
  • zrot_copies() Func/Mod Rotates copies of children around the Z axis. [MatList] [Trans]

Coplanarity

  • is_coplanar() Func Check if 3d points are coplanar and not collinear.

CubeTruss

  • cubetruss() Mod Creates a multi-cube straight cubetruss shape. [Geom]
  • cubetruss_clip() Mod Creates a clip for the end of a cubetruss to snap-lock it to another cubetruss. [Geom]
  • cubetruss_corner() Mod Creates a multi-cube corner cubetruss shape. [Geom]
  • cubetruss_dist() Func Returns the length of a cubetruss truss.
  • cubetruss_foot() Mod Creates a foot that can connect two cubetrusses. [Geom]
  • cubetruss_joiner() Mod Creates a joiner that can connect two cubetrusses end-to-end. [Geom]
  • cubetruss_segment() Mod Creates a single cubetruss cube. [Geom]
  • cubetruss_support() Mod Creates a cubetruss support structure shape. [Geom]
  • cubetruss_uclip() Mod Creates a joiner that can connect two cubetrusses end-to-end. [Geom]

Cylinders

  • chamfer_cylinder_mask() Mod Creates a shape to chamfer the end of a cylinder. [Geom]
  • cyl() Func/Mod Creates an attachable cylinder with roundovers and chamfering. [Geom] [VNF]
  • rounding_cylinder_mask() Mod Creates a shape to round the end of a cylinder. [Geom]
  • xcyl() Mod creates a cylinder oriented along the X axis. [Geom]
  • ycyl() Mod Creates a cylinder oriented along the y axis. [Geom]
  • zcyl() Mod Creates a cylinder oriented along the Z axis. [Geom]

Data Structures

  • binsearch() Func Does a binary search of a sorted list to find the index of a given value.
  • echo_struct() Func/Mod Echoes the struct to the console in a formatted manner.
  • hashmap() Func Creates a hashmap manipulation function.
  • is_struct() Func Returns true if the value is a struct.
  • simple_hash() Func Returns an integer hash of a given value.
  • struct_keys() Func Returns a list of keys for a struct.
  • struct_remove() Func Removes one or more keys from a struct.
  • struct_set() Func Sets one or more key-value pairs in a struct.
  • struct_val() Func Returns the value for an key in a struct.

Debugging

  • assert_approx() Mod Assert that a value is approximately what was expected.
  • assert_equal() Mod Assert that a value is expected.
  • color_overlaps() Mod Shows ghostly children, with overlaps highlighted in color. [Trans]
  • debug_bezier() Mod Shows a bezier path and its associated control points. [Geom]
  • debug_bezier_patches() Mod Shows a bezier surface patch and its associated control points. [Geom]
  • debug_nurbs() Mod Shows a NURBS curve and its control points, knots and weights [Geom]
  • debug_vnf() Mod A replacement for vnf_polyhedron() to help with debugging. [VNF]
  • shape_compare() Mod Compares two child shapes. [Geom]
  • vnf_validate() Mod Echos non-manifold VNF errors to the console. [VNF]

Descriptions

  • parent() Func Returns a description (transformation state and attachment geometry) of the parent
  • restore() Mod Restores transformation state and attachment geometry from a description [Trans]

Dictionaries

  • echo_struct() Func/Mod Echoes the struct to the console in a formatted manner.
  • is_struct() Func Returns true if the value is a struct.
  • struct_keys() Func Returns a list of keys for a struct.
  • struct_remove() Func Removes one or more keys from a struct.
  • struct_set() Func Sets one or more key-value pairs in a struct.
  • struct_val() Func Returns the value for an key in a struct.

Distance

Distributors

  • arc_copies() Func/Mod Distributes duplicates of children along an arc. [MatList] [Trans]
  • grid_copies() Func/Mod Places copies of children in an [X,Y] grid. [MatList] [Trans]
  • line_copies() Func/Mod Places copies of children along an arbitrary line. [MatList] [Trans]
  • mirror_copy() Func/Mod Makes a copy of children mirrored across a given plane. [MatList] [Trans]
  • move_copies() Func/Mod Translates copies of all children. [MatList] [Trans]
  • path_copies() Func/Mod Uniformly distributes copies of children along a path. [MatList] [Trans]
  • rot_copies() Func/Mod Rotates copies of children. [MatList] [Trans]
  • sphere_copies() Func/Mod Distributes copies of children over the surface of a sphere. [MatList] [Trans]
  • xcopies() Func/Mod Places copies of children along the X axis. [MatList] [Trans]
  • xflip_copy() Func/Mod Makes a copy of children mirrored across the X axis. [MatList] [Trans]
  • xrot_copies() Func/Mod Rotates copies of children around the X axis. [MatList] [Trans]
  • ycopies() Func/Mod Places copies of children along the Y axis. [MatList] [Trans]
  • yflip_copy() Func/Mod Makes a copy of children mirrored across the Y axis. [MatList] [Trans]
  • yrot_copies() Func/Mod Rotates copies of children around the Y axis. [MatList] [Trans]
  • zcopies() Func/Mod Places copies of children along the Z axis. [MatList] [Trans]
  • zflip_copy() Func/Mod Makes a copy of children mirrored across the Z axis. [MatList] [Trans]
  • zrot_copies() Func/Mod Rotates copies of children around the Z axis. [MatList] [Trans]

Drawing Tools

  • dashed_stroke() Func/Mod Draws a dashed line along a path or region boundry. [Geom] [PathList]
  • helix() Func Creates a 2d spiral or 3d helical path. [Path]
  • stroke() Mod Draws a line along a path or region boundry. [Geom]

Error Checking

  • assert_approx() Mod Assert that a value is approximately what was expected.
  • assert_equal() Mod Assert that a value is expected.
  • deprecate() Mod Display a console note that a module is deprecated and suggest a replacement.
  • no_children() Mod Assert that the calling module does not support children.
  • no_function() Func Assert that the argument exists only as a module and not as a function.
  • no_module() Mod Assert that the argument exists only as a function and not as a module.
  • req_children() Mod Assert that the calling module requires children.
  • shape_compare() Mod Compares two child shapes. [Geom]

Extrusion

  • associate_vertices() Func Create vertex association to control how skin() links vertices. [PathList]
  • cylindrical_extrude() Mod Extrudes 2D children outwards around a cylinder. [Geom]
  • cylindrical_heightfield() Func/Mod Generates a cylindrical 3d surface from a 2D grid of values. [Geom] [VNF]
  • extrude_from_to() Mod Extrudes 2D children between two points in 3D space. [Geom]
  • linear_sweep() Func/Mod Create a linear extrusion from a path, with optional texturing. [VNF] [Geom]
  • path_extrude() Mod Extrudes 2D children along a 3D path. [Geom]
  • path_extrude2d() Mod Extrudes 2D children along a 2D path. [Geom]
  • path_sweep() Func/Mod Sweep a 2d polygon path along a 2d or 3d path. [VNF] [Geom]
  • path_sweep2d() Func/Mod Sweep a 2d polygon path along a 2d path allowing self-intersection. [VNF] [Geom]
  • rotate_sweep() Func/Mod Create a surface of revolution from a path with optional texturing. [VNF] [Geom]
  • skin() Func/Mod Connect a sequence of arbitrary polygons into a 3D object. [VNF] [Geom]
  • spiral_sweep() Func/Mod Sweep a path along a helix. [VNF] [Geom]
  • sweep() Func/Mod Construct a 3d object from arbitrary transformations of a 2d polygon path. [VNF] [Geom]
  • sweep_attach() Mod Attach children to sides of a path_sweep parent object [Geom]
  • texture() Func Produce a standard texture.

Extrusions

  • jittered_poly() Mod Creates a polygon with extra points for smoother twisted extrusions. [Geom]

FDM Optimized

  • corrugated_wall() Mod Makes a corrugated rectangular wall. [Geom]
  • cubetruss() Mod Creates a multi-cube straight cubetruss shape. [Geom]
  • cubetruss_clip() Mod Creates a clip for the end of a cubetruss to snap-lock it to another cubetruss. [Geom]
  • cubetruss_corner() Mod Creates a multi-cube corner cubetruss shape. [Geom]
  • cubetruss_dist() Func Returns the length of a cubetruss truss.
  • cubetruss_foot() Mod Creates a foot that can connect two cubetrusses. [Geom]
  • cubetruss_joiner() Mod Creates a joiner that can connect two cubetrusses end-to-end. [Geom]
  • cubetruss_segment() Mod Creates a single cubetruss cube. [Geom]
  • cubetruss_support() Mod Creates a cubetruss support structure shape. [Geom]
  • cubetruss_uclip() Mod Creates a joiner that can connect two cubetrusses end-to-end. [Geom]
  • hex_panel() Mod Create a hexagon braced panel of any shape [Geom]
  • mask2d_teardrop() Func/Mod Creates a 2D teardrop shape with specified max angle from vertical. [Geom] [Path]
  • narrowing_strut() Mod Makes a strut like an extruded baseball home plate. [Geom]
  • onion() Func/Mod Creates an attachable onion-like shape. [Geom] [VNF]
  • sparse_cuboid() Mod Makes an open cross-braced cuboid [Geom]
  • sparse_wall() Mod Makes an open cross-braced rectangular wall. [Geom]
  • sparse_wall2d() Mod Makes an open cross-braced rectangular wall. [Geom]
  • teardrop() Func/Mod Creates a teardrop shape. [Geom] [VNF]
  • teardrop_corner_mask() Mod Creates a shape to round a 90° corner but limit the angle of overhang. [Geom]
  • teardrop_edge_mask() Mod Creates a shape to round a 90° edge but limit the angle of overhang. [Geom]
  • thinning_triangle() Mod Makes a triangular wall with a thin middle. [Geom]
  • thinning_wall() Mod Makes a rectangular wall with a thin middle. [Geom]

Filters

  • filter() Func Returns just the list items which the given function returns true for.
  • find_all() Func Returns the indices of all items in a list that a given function returns true for.

Function Literals

  • accumulate() Func Applies a 2-arg function cumulatively to the items of a list, returning a list of every result.
  • binsearch() Func Does a binary search of a sorted list to find the index of a given value.
  • f_1arg() Func Creates a factory for a 2-arg function literal, where you can optionally pre-fill the arg.
  • f_2arg() Func Creates a factory for a 2-arg function literal, where you can optionally pre-fill the args.
  • f_2arg_simple() Func Creates a factory for a 2-arg function literal, where you can optionally pre-fill the args.
  • f_3arg() Func Creates a factory for a 3-arg function literal, where you can optionally pre-fill the args.
  • f_abs() Func Returns a function to calculate the absolute value of a given number.
  • f_acos() Func Returns a function to calculate the arccosine of a value.
  • f_add() Func Returns a function to add a and b.
  • f_and() Func Returns a function to check if both a and b are true.
  • f_approx() Func Returns a function to compare if a is approximately equal to b.
  • f_asin() Func Returns a function to calculate the arcsine of a value.
  • f_atan() Func Returns a function to calculate the arctangent of a value.
  • f_atan2() Func Returns a function to calculate the arctangent of y and x
  • f_ceil() Func Returns a function to calculate the integer ceiling of a given number.
  • f_chr() Func Returns a function to get a string character from its ordinal number.
  • f_cmp() Func Returns a function to compare values.
  • f_cos() Func Returns a function to calculate the cosine of a value.
  • f_cross() Func Returns a function to calculate the norm of a given vector.
  • f_div() Func Returns a function to divide a by b.
  • f_eq() Func Returns a function to compare if a is exactly equal to b.
  • f_even() Func Returns a function to check if a is an even number.
  • f_exp() Func Returns a function to calculate the natural exponent of a given number.
  • f_floor() Func Returns a function to calculate the integer floor of a given number.
  • f_gt() Func Returns a function to compare if a is greater than b.
  • f_gte() Func Returns a function to compare if a is greater than or equal to b.
  • f_is_bool() Func Returns a function to determine if a value is a boolean.
  • f_is_def() Func Returns a function to determine if a value is not undef.
  • f_is_finite() Func Returns a function to determine if a value is a number type that is finite.
  • f_is_function() Func Returns a function to determine if a value is a function literal.
  • f_is_int() Func Returns a function to determine if a value is an integer number.
  • f_is_list() Func Returns a function to determine if a value is a list.
  • f_is_nan() Func Returns a function to determine if a value is a number type that is Not a Number (NaN).
  • f_is_num() Func Returns a function to determine if a value is a number.
  • f_is_patch() Func Returns a function to determine if a value is a Bezier Patch structure.
  • f_is_path() Func Returns a function to determine if a value is a Path (a list of points).
  • f_is_range() Func Returns a function to determine if a value is a range.
  • f_is_region() Func Returns a function to determine if a value is a Region (a list of Paths).
  • f_is_string() Func Returns a function to determine if a value is a string.
  • f_is_undef() Func Returns a function to determine if a value is undef.
  • f_is_vector() Func Returns a function to determine if a value is a list of numbers.
  • f_is_vnf() Func Returns a function to determine if a value is a VNF structure.
  • f_len() Func Returns a function to calculate the length of a string or list.
  • f_ln() Func Returns a function to calculate the natural logarithm of a given number.
  • f_log() Func Returns a function to calculate the base 10 logarithm of a given number.
  • f_lt() Func Returns a function to compare if a is less than b.
  • f_lte() Func Returns a function to compare if a is less than or equal to b.
  • f_max() Func Returns a function to calculate the maximum value of a list.
  • f_max2() Func Returns a function to calculate the maximum of two values.
  • f_max3() Func Returns a function to calculate the maximum of three values.
  • f_min() Func Returns a function to calculate the minimum value of a list.
  • f_min2() Func Returns a function to calculate the minimum of two values.
  • f_min3() Func Returns a function to calculate the minimum of three values.
  • f_mod() Func Returns a function to calculate the modulo of a divided by b.
  • f_mul() Func Returns a function to multiply a by b.
  • f_nand() Func Returns a function to check if a and b are not both true.
  • f_napprox() Func Returns a function to compare if a is not approximately equal to b.
  • f_neg() Func Returns a function to calculate -a
  • f_neq() Func Returns a function to compare if a is not exactly equal to b.
  • f_nor() Func Returns a function to check if neither a nor b are true.
  • f_norm() Func Returns a function to calculate the norm of a given vector.
  • f_not() Func Returns a function to check if a is not true.
  • f_odd() Func Returns a function to check if a is an odd number.
  • f_or() Func Returns a function to check if either a or b is true.
  • f_ord() Func Returns a function to get the ordinal number of a string character.
  • f_pow() Func Returns a function to calculate a to the power of b.
  • f_round() Func Returns a function to calculate the integer rounding of a given number.
  • f_sign() Func Returns a function to calculate the sign of a given number.
  • f_sin() Func Returns a function to calculate the sine of a value.
  • f_sqr() Func Returns a function to calculate the square of a given number.
  • f_sqrt() Func Returns a function to calculate the square root of a given number.
  • f_str() Func Returns a function to get the string representation of an arbitrary value.
  • f_str2() Func Returns a function to concatenate the string representations of two arbitrary values.
  • f_str3() Func Returns a function to concatenate the string representations of three arbitrary values.
  • f_sub() Func Returns a function to subtract a from b.
  • f_tan() Func Returns a function to calculate the tangent of a value.
  • f_xor() Func Returns a function to check if either a or b, but not both, are true.
  • filter() Func Returns just the list items which the given function returns true for.
  • find_all() Func Returns the indices of all items in a list that a given function returns true for.
  • find_first() Func Returns the index of the first item in a list, after start, that a given function returns true for.
  • for_n() Func Iteratively calls a work function n times, returning the final result.
  • hashmap() Func Creates a hashmap manipulation function.
  • is_func() Func Returns true if the argument is a function literal.
  • ival() Func Generates a function with signature (i,x) that calls func(i)
  • map() Func Applies a function to each item in a list.
  • reduce() Func Applies a 2-arg function cumulatively to the items of a list, returning the final result.
  • simple_hash() Func Returns an integer hash of a given value.
  • while() Func While a cond function returns true, iteratively calls a work function, returning the final result.
  • xval() Func Generates a function with signature (i,x) that calls func(x)

Gears

  • auto_profile_shift() Func Returns the recommended profile shift for a gear.
  • bevel_gear() Func/Mod Creates a straight, zerol, or spiral bevel gear. [Geom] [VNF]
  • bevel_pitch_angle() Func Returns the pitch cone angle for a bevel gear.
  • circular_pitch() Func Returns tooth density expressed as "circular pitch".
  • crown_gear() Func/Mod Creates a crown gear that can mesh with a spur gear. [Geom] [VNF]
  • diametral_pitch() Func Returns tooth density expressed as "diametral pitch".
  • enveloping_worm() Func/Mod Creates a double-enveloping worm that will mate with a worm gear. [Geom] [VNF]
  • gear_dist() Func Returns the distance between two gear centers for spur gears or parallel axis helical gears.
  • gear_dist_skew() Func Returns the distance between two helical gear centers with skew axes.
  • module_value() Func Returns tooth density expressed as "module"
  • outer_radius() Func Returns the outer radius for a gear.
  • pitch_radius() Func Returns the pitch radius for a gear.
  • rack() Func/Mod Creates a straight or helical gear rack. [Geom] [VNF]
  • rack2d() Func/Mod Creates a 2D gear rack. [Geom] [Path]
  • ring_gear() Mod Creates a 3D ring gear. [Geom]
  • ring_gear2d() Mod Creates a 2D ring gear. [Geom]
  • spur_gear() Func/Mod Creates a spur gear, helical gear, or internal ring gear. [Geom] [VNF]
  • spur_gear2d() Func/Mod Creates a 2D spur gear or internal ring gear. [Geom] [Region]
  • worm() Func/Mod Creates a worm that will mate with a worm gear. [Geom] [VNF]
  • worm_dist() Func Returns the distance between a worm and a worm gear
  • worm_gear() Func/Mod Creates a worm gear that will mate with a worm. [Geom] [VNF]
  • worm_gear_thickness() Func Returns the thickness for a worm gear.

Geometry

  • adj_ang_to_hyp() Func Returns the hypotenuse length from the length of the adjacent and the angle.
  • adj_ang_to_opp() Func Returns the opposite side length from the length of the adjacent side and the angle.
  • hyp_adj_to_ang() Func Returns the angle from the lengths of the hypotenuse and the adjacent side.
  • hyp_adj_to_opp() Func Returns the opposite side length from the lengths of the hypotenuse and the adjacent side.
  • adj_opp_to_ang() Func Returns the angle from the lengths of the adjacent and opposite sides.
  • adj_opp_to_hyp() Func Returns the hypotenuse length from the lengths of the adjacent and opposite sides.
  • align_polygon() Func Find best alignment of a 2d polygon to a reference 2d polygon over a set of transformations.
  • adj_ang_to_hyp() Func Returns the hypotenuse length from the length of the adjacent and the angle.
  • adj_ang_to_opp() Func Returns the opposite side length from the length of the adjacent side and the angle.
  • hyp_ang_to_adj() Func Returns the adjacent side length from the length of the hypotenuse and the angle.
  • hyp_ang_to_opp() Func Returns the opposite side length from the length of the hypotenuse and the angle.
  • opp_ang_to_adj() Func Returns the adjacent side length from the length of the opposite side and the angle.
  • opp_ang_to_hyp() Func Returns the hypotenuse length from the length of the opposite side and the angle.
  • are_points_on_plane() Func Determine if all of the listed points are on a plane.
  • are_polygons_equal() Func Check if two polygons (not necessarily in the same point order) are equal.
  • bezier_line_intersection() Func Calculates where a bezier curve intersects a line.
  • ccw_polygon() Func Return counter-clockwise version of a polygon.
  • centroid() Func Compute centroid of a 2d or 3d polygon or a VNF.
  • circle_2tangents() Func Given two 2d or 3d rays, find a circle tangent to both.
  • circle_3points() Func Find a circle passing through three 2d or 3d points.
  • circle_circle_intersection() Func Find the intersection points of two 2d circles.
  • circle_circle_tangents() Func Find tangents to a pair of circles in 2d.
  • circle_line_intersection() Func Find the intersection points between a 2d circle and a line, ray or segment.
  • circle_point_tangents() Func Given a circle and point, find tangents to circle passing through the point.
  • clockwise_polygon() Func Return clockwise version of a polygon.
  • closest_point() Func Finds the closest point in a list of points.
  • convex_collision() Func Check whether the convex hulls of two point lists intersect.
  • convex_distance() Func Compute distance between convex hull of two point lists.
  • furthest_point() Func Finds the furthest point in a list of points.
  • hull() Func Convex hull of a list of 2d or 3d points. [Ext]
  • hull2d_path() Func Convex hull of a list of 2d points.
  • hull3d_faces() Func Convex hull of a list of 3d points.
  • hull_points() Mod Convex hull of a list of 2d or 3d points.
  • hyp_adj_to_ang() Func Returns the angle from the lengths of the hypotenuse and the adjacent side.
  • hyp_adj_to_opp() Func Returns the opposite side length from the lengths of the hypotenuse and the adjacent side.
  • hyp_ang_to_adj() Func Returns the adjacent side length from the length of the hypotenuse and the angle.
  • hyp_ang_to_opp() Func Returns the opposite side length from the length of the hypotenuse and the angle.
  • hyp_opp_to_adj() Func Returns the adjacent side length from the lengths of the hypotenuse and the opposite side.
  • hyp_opp_to_ang() Func Returns the angle from the lengths of the hypotenuse and the opposite side.
  • is_collinear() Func Determine if points are collinear.
  • is_coplanar() Func Check if 3d points are coplanar and not collinear.
  • is_point_on_line() Func Determine if a point is on a line, ray or segment.
  • is_polygon_clockwise() Func Determine if a 2d polygon winds clockwise.
  • is_polygon_convex() Func Check if a polygon is convex.
  • law_of_cosines() Func Applies the Law of Cosines for an arbitrary triangle.
  • law_of_sines() Func Applies the Law of Sines for an arbitrary triangle.
  • line_closest_point() Func Find point on given line, segment or ray that is closest to a given point.
  • line_from_points() Func Given a list of collinear points, return the line they define.
  • line_intersection() Func Compute intersection of two lines, segments or rays.
  • line_normal() Func Return normal vector to given line.
  • adj_opp_to_ang() Func Returns the angle from the lengths of the adjacent and opposite sides.
  • adj_opp_to_hyp() Func Returns the hypotenuse length from the lengths of the adjacent and opposite sides.
  • opp_ang_to_adj() Func Returns the adjacent side length from the length of the opposite side and the angle.
  • opp_ang_to_hyp() Func Returns the hypotenuse length from the length of the opposite side and the angle.
  • hyp_opp_to_adj() Func Returns the adjacent side length from the lengths of the hypotenuse and the opposite side.
  • hyp_opp_to_ang() Func Returns the angle from the lengths of the hypotenuse and the opposite side.
  • plane3pt() Func Return a plane from 3 points.
  • plane3pt_indexed() Func Given list of 3d points and 3 indices, return the plane they define.
  • plane_closest_point() Func Returns the orthogonal projection of points onto a plane.
  • plane_from_normal() Func Return plane defined by normal vector and a point.
  • plane_from_points() Func Return plane defined by a set of coplanar 3d points, with arbitrary normal direction.
  • plane_from_polygon() Func Given a 3d planar polygon, returns directed plane.
  • plane_intersection() Func Returns the intersection of two or three planes.
  • plane_line_angle() Func Returns the angle between a plane and a 3d line.
  • plane_line_intersection() Func Returns the intersection of a plane and 3d line, segment or ray.
  • plane_normal() Func Returns the normal vector to a plane.
  • plane_offset() Func Returns the signed offset of the plane from the origin.
  • point_in_polygon() Func Checks if a 2d point is inside or on the boundary of a 2d polygon.
  • point_line_distance() Func Find shortest distance from point to a line, segment or ray.
  • point_plane_distance() Func Determine distance between a point and plane.
  • pointlist_bounds() Func Returns the min and max bounding coordinates for the given list of points.
  • polygon_area() Func Calculate area of a 2d or 3d polygon.
  • polygon_line_intersection() Func Find intersection between 2d or 3d polygon and a line, segment or ray.
  • polygon_normal() Func Return normal to a polygon.
  • polygon_triangulate() Func Divide a polygon into triangles.
  • quadratic_roots() Func Computes roots for the quadratic equation.
  • reindex_polygon() Func Adjust point indexing of polygon to minimize pointwise distance to a reference polygon.
  • reverse_polygon() Func Reverse winding direction of polygon.
  • segment_distance() Func Find smallest distance between two line semgnets.
  • segs() Func Returns the number of sides for a circle given $fn, $fa, and $fs.
  • sphere_line_intersection() Func Find intersection between a sphere and line, ray or segment.

Hashing

  • hashmap() Func Creates a hashmap manipulation function.
  • simple_hash() Func Returns an integer hash of a given value.

Heightfield

  • cylindrical_heightfield() Func/Mod Generates a cylindrical 3d surface from a 2D grid of values. [Geom] [VNF]
  • heightfield() Func/Mod Generates a 3D surface from a 2D grid of values. [Geom] [VNF]

Hinges

Hulling

  • conv_hull() Mod Performs a hull operation on the children using tags to determine what happens.
  • hull() Func Convex hull of a list of 2d or 3d points. [Ext]
  • hull2d_path() Func Convex hull of a list of 2d points.
  • hull3d_faces() Func Convex hull of a list of 3d points.
  • hull_points() Mod Convex hull of a list of 2d or 3d points.

Indexing

  • count() Func Creates a list of incrementing numbers.

Interpolation

  • lerp() Func Linearly interpolates between two values.
  • lerpn() Func Returns exactly n values, linearly interpolated between a and b.
  • rot_resample() Func Resample a list of rotation operators. [MatList]

Intersection

Iteration

  • combinations() Func Returns a list of all combinations of the list entries.
  • for_n() Func Iteratively calls a work function n times, returning the final result.
  • idx() Func Returns a range useful for iterating over a list.
  • loop_done() Func Returns true if the argument indicates the current C-style loop is finishing.
  • loop_while() Func Returns true if both arguments indicate the current C-style loop should continue.
  • looping() Func Returns true if the argument indicates the current C-style loop should continue.
  • pair() Func Returns a list of overlapping consecutive pairs in a list.
  • permutations() Func Returns a list of all permutations of the list entries.
  • triplet() Func Returns a list of overlapping consecutive triplets in a list.
  • while() Func While a cond function returns true, iteratively calls a work function, returning the final result.

Joiners

Knurling

Linear Algebra

  • back_substitute() Func Solve an upper triangular system, Rx=b.
  • cholesky() Func Compute the Cholesky factorization of a matrix.
  • det2() Func Compute determinant of 2x2 matrix.
  • det3() Func Compute determinant of 3x3 matrix.
  • det4() Func Compute determinant of 4x4 matrix.
  • determinant() Func compute determinant of an arbitrary square matrix.
  • linear_solve() Func Solve Ax=b or, for overdetermined case, solve the least square problem.
  • linear_solve3() Func Fast solution to Ax=b where A is 3x3.
  • matrix_inverse() Func General matrix inverse.
  • matrix_trace() Func Compute the trace of a square matrix.
  • norm_fro() Func Compute Frobenius norm of a matrix
  • null_space() Func Return basis for the null space of A.
  • outer_product() Func Compute the outer product of two vectors.
  • qr_factor() Func Compute QR factorization of a matrix.
  • rot_inverse() Func Invert 2d or 3d rotation transformations.
  • transpose() Func Transpose a matrix

Lines

  • circle_line_intersection() Func Find the intersection points between a 2d circle and a line, ray or segment.
  • LINE Const A constant for specifying an unbounded line in various geometry.scad functions. [false,false]
  • line_closest_point() Func Find point on given line, segment or ray that is closest to a given point.
  • line_from_points() Func Given a list of collinear points, return the line they define.
  • line_intersection() Func Compute intersection of two lines, segments or rays.
  • line_normal() Func Return normal vector to given line.
  • plane_line_angle() Func Returns the angle between a plane and a 3d line.
  • plane_line_intersection() Func Returns the intersection of a plane and 3d line, segment or ray.
  • point_line_distance() Func Find shortest distance from point to a line, segment or ray.
  • polygon_line_intersection() Func Find intersection between 2d or 3d polygon and a line, segment or ray.
  • RAY Const A constant for specifying a ray line in various geometry.scad functions. [true,false]
  • SEGMENT Const A constant for specifying a line segment in various geometry.scad functions. [true,true]
  • sphere_line_intersection() Func Find intersection between a sphere and line, ray or segment.

List Handling

  • all_equal() Func Returns true if all items in a list are approximately equal to each other.
  • all_negative() Func Returns true if the value(s) given are less than zero.
  • all_nonnegative() Func Returns true if the value(s) given are greater than or equal to zero.
  • all_nonpositive() Func Returns true if the value(s) given are less than or equal to zero.
  • all_nonzero() Func Returns true if the value(s) given are not aproximately zero.
  • all_positive() Func Returns true if the value(s) given are greater than zero.
  • all_zero() Func Returns true if the value(s) given are aproximately zero.
  • are_ends_equal() Func Returns true if the first and last items in a list are approximately equal.
  • bselect() Func Select list items using boolean index list.
  • column() Func Extract a column from a matrix.
  • combinations() Func Returns a list of all combinations of the list entries.
  • compare_lists() Func Compares two lists of values, possibly of different type.
  • compare_vals() Func Compares two values, possibly of different type.
  • deduplicate() Func Returns a list with all consecutive duplicate values removed.
  • deduplicate_indexed() Func Takes a list of indices into a list of values, and returns a list of indices whose values are not consecutively the same.
  • find_approx() Func Finds the indexes of the item(s) in the given list that are aproximately the given value.
  • flatten() Func Flattens a list of sublists into a single list.
  • force_list() Func Coerces non-list values into a list.
  • force_region() Func Given a polygon returns a region. [Region]
  • full_flatten() Func Recursively flattens nested sublists into a single list of non-list values.
  • group_data() Func Groups list data by integer group numbers.
  • group_sort() Func Returns a sorted list of groups of values.
  • idx() Func Returns a range useful for iterating over a list.
  • in_list() Func Returns true if a value is in a list.
  • is_decreasing() Func Returns true if exery item in a list is less than the previous item.
  • is_homogeneous() Func Returns true if all members of a list are of the same type.
  • is_homogeneous() Func Returns true if all members of a list are of the same type.
  • is_increasing() Func Returns true if every item in a list is greater than the previous item.
  • is_region() Func Returns true if the input appears to be a region.
  • is_region_simple() Func Returns true if the input is a region with no corner contact.
  • is_valid_region() Func Returns true if the input is a valid region.
  • last() Func Returns the last item of a list.
  • list() Func Expands a range into a full list.
  • list_bset() Func Returns a list where values are spread to locations indicated by a boolean index list.
  • list_head() Func Returns the elements at the beginning of a list.
  • list_insert() Func Inserts values into the middle of a list.
  • list_pad() Func Extend list to specified length.
  • list_remove() Func Removes items by index from a list.
  • list_remove_values() Func Removes items by value from a list.
  • list_rotate() Func Rotates the ordering of a list.
  • list_set() Func Sets the value of specific list items.
  • list_shape() Func Returns the dimensions of an array.
  • list_smallest() Func Returns the k smallest values in the list, in arbitrary order.
  • list_tail() Func Returns the elements at the end of a list.
  • list_to_matrix() Func Groups items in a list into sublists.
  • list_unwrap() Func Removes the last item of a list if its first and last values are equal.
  • list_wrap() Func Returns a list whose last value is the same as the first.
  • make_region() Func Converts lists of intersecting polygons into valid regions. [Region]
  • max_index() Func Returns the index of the minimal value in the given list.
  • max_length() Func Given a list of sublists, returns the length of the longest sublist.
  • min_index() Func Returns the index of the minimal value in the given list.
  • min_length() Func Given a list of sublists, returns the length of the shortest sublist.
  • pair() Func Returns a list of overlapping consecutive pairs in a list.
  • permutations() Func Returns a list of all permutations of the list entries.
  • rainbow() Mod Iterates through a list, displaying children in different colors. [Trans]
  • region() Mod Creates the 2D polygons described by the given region or list of polygons. [Geom]
  • region_parts() Func Splits a region into a list of connected regions. [RegList]
  • repeat() Func Returns a list of repeated copies of a value.
  • repeat_entries() Func Repeats list entries (as uniformly as possible) to make list of specified length.
  • reverse() Func Reverses the elements of a list.
  • select() Func Returns one or more items from a list, with wrapping.
  • set_difference() Func Returns a list of unique items that are in list A, but not in list B.
  • set_intersection() Func Returns a list of unique items that are in both given lists.
  • set_union() Func Merges two lists, returning a list of unique items.
  • shuffle() Func Randomizes the order of a list.
  • slice() Func Returns part of a list without wrapping.
  • sort() Func Returns a sorted list.
  • sortidx() Func Returns a list of sorted indices into a list.
  • split_region_at_region_crossings() Func Splits regions where polygons touch and at intersections.
  • triplet() Func Returns a list of overlapping consecutive triplets in a list.
  • unique() Func Returns a sorted list with all duplicates removed.
  • unique_count() Func Returns a sorted list of unique items with counts.

Lists

  • vnf_from_polygons() Func Returns a VNF from a list of 3D polygons. [VNF]
  • vnf_from_region() Func Returns a 3D VNF given a 2D region. [VNF]
  • vnf_join() Func Returns a single VNF structure from a list of VNF structures. [VNF]
  • vnf_tri_array() Func Returns a VNF from an array of points. The array need not be rectangular. [VNF]
  • vnf_vertex_array() Func Returns a VNF structure from a rectangular vertex list. [VNF]

Logic

  • f_and() Func Returns a function to check if both a and b are true.
  • f_nand() Func Returns a function to check if a and b are not both true.
  • f_nor() Func Returns a function to check if neither a nor b are true.
  • f_not() Func Returns a function to check if a is not true.
  • f_or() Func Returns a function to check if either a or b is true.
  • f_xor() Func Returns a function to check if either a or b, but not both, are true.

Looping

  • accumulate() Func Applies a 2-arg function cumulatively to the items of a list, returning a list of every result.
  • filter() Func Returns just the list items which the given function returns true for.
  • find_all() Func Returns the indices of all items in a list that a given function returns true for.
  • for_n() Func Iteratively calls a work function n times, returning the final result.
  • map() Func Applies a function to each item in a list.
  • reduce() Func Applies a 2-arg function cumulatively to the items of a list, returning the final result.
  • while() Func While a cond function returns true, iteratively calls a work function, returning the final result.

Masking

  • back_half() Func/Mod Masks the front half of an object along the X-Z plane, leaving the back half. [Geom] [VNF] [Path] [Region]
  • bottom_half() Func/Mod Masks the top half of an object along the X-Y plane, leaving the bottom half. [Geom] [VNF] [Path] [Region]
  • chamfer_corner_mask() Mod Creates a shape to chamfer a 90° corner. [Geom]
  • chamfer_cylinder_mask() Mod Creates a shape to chamfer the end of a cylinder. [Geom]
  • chamfer_edge_mask() Mod Creates a shape to chamfer a 90° edge. [Geom]
  • corner_mask() Mod Attaches a 3d mask shape to the given corners of the parent. [Trans]
  • corner_profile() Mod Rotationally extrudes a 2d edge profile into corner mask on the given corners of the parent. [Geom]
  • edge_mask() Mod Attaches a 3D mask shape to the given edges of the parent. [Trans]
  • edge_profile() Mod Extrudes a 2d edge profile into a mask on the given edges of the parent. [Geom]
  • edge_profile_asym() Mod Extrudes an asymmetric 2D profile into a mask on the given edges and corners of the parent. [Geom]
  • face_mask() Mod Ataches a 3d mask shape to the given faces of the parent. [Trans]
  • face_profile() Mod Extrudes a 2D edge profile into a mask for all edges and corners of the given faces on the parent. [Geom]
  • front_half() Func/Mod Masks the back half of an object along the X-Z plane, leaving the front half. [Geom] [VNF] [Path] [Region]
  • half_of() Func/Mod Masks half of an object at a cut plane. [Geom] [VNF] [Path] [Region]
  • left_half() Func/Mod Masks the right half of an object along the Y-Z plane, leaving the left half. [Geom] [VNF] [Path] [Region]
  • partition() Mod Cuts an object in two with matched joining edges, then separates the parts. [Geom] [VNF] [Path] [Region]
  • partition_cut_mask() Mod Creates a mask to cut an object into two subparts that can be reassembled. [Geom]
  • partition_mask() Mod Creates a mask to remove half an object with the remaining half suitable for reassembly. [Geom]
  • right_half() Func/Mod Masks the left half of an object along the Y-Z plane, leaving the right half. [Geom] [VNF] [Path] [Region]
  • rounding_corner_mask() Mod Creates a shape to round 90° corners. [Geom]
  • rounding_cylinder_mask() Mod Creates a shape to round the end of a cylinder. [Geom]
  • rounding_hole_mask() Mod Creates a shape to round the edge of a round hole. [Geom]
  • teardrop_corner_mask() Mod Creates a shape to round a 90° corner but limit the angle of overhang. [Geom]
  • teardrop_edge_mask() Mod Creates a shape to round a 90° edge but limit the angle of overhang. [Geom]
  • top_half() Func/Mod Masks the bottom half of an object along the X-Y plane, leaving the top half. [Geom] [VNF] [Path] [Region]

Masks

  • hex_drive_mask() Mod Creates a mask for a hex drive recess. [Geom]
  • phillips_depth() Func Returns the depth a phillips recess needs to be for a given diameter.
  • phillips_diam() Func Returns the diameter of a phillips recess of a given depth.
  • phillips_mask() Mod Creates a mask for a Philips screw drive. [Geom]
  • robertson_mask() Mod Creates a mask for a Robertson/Square drive recess. [Geom]
  • rounding_edge_mask() Mod Creates a shape to round a 90° edge. [Geom]
  • torx_depth() Func Returns the typical depth of a torx drive recess.
  • torx_diam() Func Returns the diameter of a torx drive.
  • torx_info() Func Returns the dimensions of a torx drive.
  • torx_mask() Mod Creates a mask for a torx drive recess. [Geom]
  • torx_mask2d() Mod Creates the 2D cross section for a torx drive recess. [Geom]

Masks (2D)

  • mask2d_chamfer() Func/Mod Produces a 2D chamfer mask shape. [Geom] [Path]
  • mask2d_cove() Func/Mod Creates a 2D cove (quarter-round) mask shape. [Geom] [Path]
  • mask2d_dovetail() Func/Mod Creates a 2D dovetail mask shape. [Geom] [Path]
  • mask2d_ogee() Func/Mod Creates a 2D ogee mask shape. [Geom] [Path]
  • mask2d_rabbet() Func/Mod Creates a rabbet mask shape. [Geom] [Path]
  • mask2d_roundover() Func/Mod Creates a circular mask shape for rounding edges or beading. [Geom] [Path]
  • mask2d_teardrop() Func/Mod Creates a 2D teardrop shape with specified max angle from vertical. [Geom] [Path]

Math

  • acosh() Func Returns the hyperbolic arc-cosine of the given value.
  • add_scalar() Func Adds a scalar value to every item in a vector.
  • asinh() Func Returns the hyperbolic arc-sine of the given value.
  • atanh() Func Returns the hyperbolic arc-tangent of the given value.
  • binomial() Func Returns the binomial coefficients of the integer n.
  • binomial_coefficient() Func Returns the k-th binomial coefficient of the integer n.
  • c_conj() Func Returns the complex conjugate of the input.
  • c_div() Func Divides two complex numbers.
  • c_ident() Func Returns an n by n complex identity matrix.
  • c_imag() Func Returns the imaginary part of a complex number, vector or matrix..
  • c_mul() Func Multiplies two complex numbers.
  • c_norm() Func Returns the norm of a complex number or vector.
  • c_real() Func Returns the real part of a complex number, vector or matrix..
  • complex() Func Replaces scalars in a list or matrix with complex number 2-vectors.
  • constrain() Func Returns a value constrained between minval and maxval, inclusive.
  • convolve() Func Returns the convolution of p and q.
  • cosh() Func Returns the hyperbolic cosine of the given value.
  • count() Func Creates a list of incrementing numbers.
  • cumprod() Func Returns the running cumulative product of a list of values.
  • cumsum() Func Returns the running cumulative sum of a list of values.
  • deltas() Func Returns the deltas between a list of values.
  • deriv() Func Returns the first derivative estimate of a list of data.
  • deriv2() Func Returns the second derivative estimate of a list of data.
  • deriv3() Func Returns the third derivative estimate of a list of data.
  • EPSILON Const A tiny value to compare floating point values. 1e-9
  • factorial() Func Returns the factorial of the given integer.
  • gcd() Func Returns the Greatest Common Divisor/Factor of two integers.
  • hypot() Func Returns the hypotenuse length of a 2D or 3D triangle.
  • INF Const The floating point value for Infinite.
  • is_vector() Func Returns true if the given value is a vector.
  • lcm() Func Returns the Least Common Multiple of two or more integers.
  • lerp() Func Linearly interpolates between two values.
  • lerpn() Func Returns exactly n values, linearly interpolated between a and b.
  • log2() Func Returns the log base 2 of the given value.
  • mean() Func Returns the mean value of a list of values.
  • median() Func Returns the median value of a list of values.
  • modang() Func Returns an angle normalized to between -180º and 180º.
  • NAN Const The floating point value for Not a Number.
  • PHI Const The golden ratio φ (phi). Approximately 1.6180339887
  • poly_add() Func Returns the polynomial sum of adding two polynomials.
  • poly_div() Func Returns the polynomial quotient and remainder results of dividing two polynomials.
  • poly_mult() Func Compute product of two polynomials, returning a polynomial.
  • poly_roots() Func Returns all complex valued roots of the given real polynomial.
  • polynomial() Func Evaluate a polynomial at a real or complex value.
  • posmod() Func Returns the positive modulo of a value.
  • product() Func Returns the multiplicative product of a list of values.
  • quadratic_roots() Func Computes roots for the quadratic equation.
  • quant() Func Returns x quantized to the nearest integer multiple of y.
  • quantdn() Func Returns x quantized down to an integer multiple of y.
  • quantup() Func Returns x quantized uo to an integer multiple of y.
  • real_roots() Func Returns all real roots of the given real polynomial.
  • root_find() Func Finds a root of the given continuous function.
  • sinh() Func Returns the hyperbolic sine of the given value.
  • sqr() Func Returns the square of the given value.
  • sum() Func Returns the sum of a list of values.
  • sum_of_sines() Func Returns the sum of one or more sine waves at a given angle.
  • tanh() Func Returns the hyperbolic tangent of the given value.
  • unit() Func Returns the unit length of a given vector.
  • v_abs() Func Returns the absolute values of the given vector.
  • v_ceil() Func Returns the values of the given vector, rounded up.
  • v_div() Func Returns the element-wise division of two equal-length vectors.
  • v_floor() Func Returns the values of the given vector, rounded down.
  • v_lookup() Func Like lookup(), but it can interpolate between vector results.
  • v_mul() Func Returns the element-wise multiplication of two equal-length vectors.
  • v_theta() Func Returns the angle counter-clockwise from X+ on the XY plane.
  • vector_angle() Func Returns the minor angle between two vectors.
  • vector_axis() Func Returns the perpendicular axis between two vectors.
  • vector_bisect() Func Returns the vector that bisects two vectors.
  • vector_perp() Func Returns component of a vector perpendicular to a second vector

Math Operators

  • f_abs() Func Returns a function to calculate the absolute value of a given number.
  • f_acos() Func Returns a function to calculate the arccosine of a value.
  • f_add() Func Returns a function to add a and b.
  • f_asin() Func Returns a function to calculate the arcsine of a value.
  • f_atan() Func Returns a function to calculate the arctangent of a value.
  • f_atan2() Func Returns a function to calculate the arctangent of y and x
  • f_ceil() Func Returns a function to calculate the integer ceiling of a given number.
  • f_cos() Func Returns a function to calculate the cosine of a value.
  • f_div() Func Returns a function to divide a by b.
  • f_even() Func Returns a function to check if a is an even number.
  • f_exp() Func Returns a function to calculate the natural exponent of a given number.
  • f_floor() Func Returns a function to calculate the integer floor of a given number.
  • f_ln() Func Returns a function to calculate the natural logarithm of a given number.
  • f_log() Func Returns a function to calculate the base 10 logarithm of a given number.
  • f_max() Func Returns a function to calculate the maximum value of a list.
  • f_max2() Func Returns a function to calculate the maximum of two values.
  • f_max3() Func Returns a function to calculate the maximum of three values.
  • f_min() Func Returns a function to calculate the minimum value of a list.
  • f_min2() Func Returns a function to calculate the minimum of two values.
  • f_min3() Func Returns a function to calculate the minimum of three values.
  • f_mod() Func Returns a function to calculate the modulo of a divided by b.
  • f_mul() Func Returns a function to multiply a by b.
  • f_neg() Func Returns a function to calculate -a
  • f_odd() Func Returns a function to check if a is an odd number.
  • f_pow() Func Returns a function to calculate a to the power of b.
  • f_round() Func Returns a function to calculate the integer rounding of a given number.
  • f_sign() Func Returns a function to calculate the sign of a given number.
  • f_sin() Func Returns a function to calculate the sine of a value.
  • f_sqr() Func Returns a function to calculate the square of a given number.
  • f_sqrt() Func Returns a function to calculate the square root of a given number.
  • f_str3() Func Returns a function to concatenate the string representations of three arbitrary values.
  • f_sub() Func Returns a function to subtract a from b.
  • f_tan() Func Returns a function to calculate the tangent of a value.

Matrices

  • apply() Func Applies a transformation matrix to a point, list of points, array of points, or a VNF. [Path] [VNF] [Mat]
  • back() Func/Mod Translates children backwards (Y+). [Trans] [Path] [VNF] [Mat]
  • back_substitute() Func Solve an upper triangular system, Rx=b.
  • block_matrix() Func Make a new matrix from a block of matrices.
  • cholesky() Func Compute the Cholesky factorization of a matrix.
  • column() Func Extract a column from a matrix.
  • det2() Func Compute determinant of 2x2 matrix.
  • det3() Func Compute determinant of 3x3 matrix.
  • det4() Func Compute determinant of 4x4 matrix.
  • determinant() Func compute determinant of an arbitrary square matrix.
  • diagonal_matrix() Func Make a diagonal matrix.
  • down() Func/Mod Translates children downwards (Z-). [Trans] [Path] [VNF] [Mat]
  • echo_matrix() Func/Mod Print a matrix neatly to the console.
  • flatten() Func Flattens a list of sublists into a single list.
  • frame_map() Func/Mod Rotates and possibly skews children from one frame of reference to another. [Trans] [Path] [VNF] [Mat]
  • full_flatten() Func Recursively flattens nested sublists into a single list of non-list values.
  • fwd() Func/Mod Translates children forwards (Y-). [Trans] [Path] [VNF] [Mat]
  • hstack() Func Make a new matrix by stacking matrices horizontally.
  • IDENT Const A constant containing the 3D identity transformation matrix. [Mat]
  • ident() Func Return identity matrix.
  • is_matrix() Func Check if input is a numeric matrix, optionally of specified size
  • is_matrix_symmetric() Func Checks if matrix is symmetric
  • is_rotation() Func Check if a transformation matrix represents a rotation.
  • left() Func/Mod Translates children leftwards (X-). [Trans] [Path] [VNF] [Mat]
  • linear_solve() Func Solve Ax=b or, for overdetermined case, solve the least square problem.
  • linear_solve3() Func Fast solution to Ax=b where A is 3x3.
  • list_shape() Func Returns the dimensions of an array.
  • list_to_matrix() Func Groups items in a list into sublists.
  • matrix_inverse() Func General matrix inverse.
  • matrix_trace() Func Compute the trace of a square matrix.
  • mirror() Func/Mod Reflects children across an arbitrary plane. [Trans] [Path] [VNF] [Mat] [Ext]
  • move() Func/Mod Translates children in an arbitrary direction. [Trans] [Path] [VNF] [Mat]
  • norm_fro() Func Compute Frobenius norm of a matrix
  • null_space() Func Return basis for the null space of A.
  • outer_product() Func Compute the outer product of two vectors.
  • qr_factor() Func Compute QR factorization of a matrix.
  • right() Func/Mod Translates children rightwards (X+). [Trans] [Path] [VNF] [Mat]
  • rot() Func/Mod Rotates children in various ways. [Trans] [Path] [VNF] [Mat]
  • rot_decode() Func Extract axis and rotation angle from a rotation matrix.
  • rot_inverse() Func Invert 2d or 3d rotation transformations.
  • rot_resample() Func Resample a list of rotation operators. [MatList]
  • scale() Func/Mod Scales children arbitrarily. [Trans] [Path] [VNF] [Mat] [Ext]
  • skew() Func/Mod Skews (or shears) children along various axes. [Trans] [Path] [VNF] [Mat]
  • submatrix() Func Extract a submatrix from a matrix
  • submatrix_set() Func Takes a matrix as input and change values in a submatrix.
  • tilt() Func/Mod Tilts children towards a direction [Trans] [Path] [VNF] [Mat]
  • move() Func/Mod Translates children in an arbitrary direction. [Trans] [Path] [VNF] [Mat]
  • transpose() Func Transpose a matrix
  • up() Func/Mod Translates children upwards (Z+). [Trans] [Path] [VNF] [Mat]
  • xflip() Func/Mod Reflects children across the YZ plane. [Trans] [Path] [VNF] [Mat]
  • right() Func/Mod Translates children rightwards (X+). [Trans] [Path] [VNF] [Mat]
  • xrot() Func/Mod Rotates children around the X axis using the right-hand rule. [Trans] [Path] [VNF] [Mat]
  • xscale() Func/Mod Scales children along the X axis. [Trans] [Path] [VNF] [Mat]
  • yflip() Func/Mod Reflects children across the XZ plane. [Trans] [Path] [VNF] [Mat]
  • back() Func/Mod Translates children backwards (Y+). [Trans] [Path] [VNF] [Mat]
  • yrot() Func/Mod Rotates children around the Y axis using the right-hand rule. [Trans] [Path] [VNF] [Mat]
  • yscale() Func/Mod Scales children along the Y axis. [Trans] [Path] [VNF] [Mat]
  • zflip() Func/Mod Reflects children across the XY plane. [Trans] [Path] [VNF] [Mat]
  • up() Func/Mod Translates children upwards (Z+). [Trans] [Path] [VNF] [Mat]
  • zrot() Func/Mod Rotates children around the Z axis using the right-hand rule. [Trans] [Path] [VNF] [Mat]
  • zscale() Func/Mod Scales children along the Z axis. [Trans] [Path] [VNF] [Mat]

Mini-Language

Mirroring

  • mirror() Func/Mod Reflects children across an arbitrary plane. [Trans] [Path] [VNF] [Mat] [Ext]
  • xflip() Func/Mod Reflects children across the YZ plane. [Trans] [Path] [VNF] [Mat]
  • yflip() Func/Mod Reflects children across the XZ plane. [Trans] [Path] [VNF] [Mat]
  • zflip() Func/Mod Reflects children across the XY plane. [Trans] [Path] [VNF] [Mat]

Miscellaneous

  • bounding_box() Mod Creates the smallest bounding box that contains all the children. [Geom]
  • chain_hull() Mod Performs the union of hull operations between consecutive pairs of children. [Geom]
  • cylindrical_extrude() Mod Extrudes 2D children outwards around a cylinder. [Geom]
  • extrude_from_to() Mod Extrudes 2D children between two points in 3D space. [Geom]
  • minkowski_difference() Mod Removes diff shapes from base shape surface. [Geom]
  • offset3d() Mod Expands or contracts the surface of a 3D object. [Geom]
  • path_extrude() Mod Extrudes 2D children along a 3D path. [Geom]
  • path_extrude2d() Mod Extrudes 2D children along a 2D path. [Geom]
  • round3d() Mod Rounds arbitrary 3d objects. [Geom]

Modifiers

  • ghost() Mod Sets % modifier for attachable children and their descendents. [Trans]
  • ghost_this() Mod Apply % modifier to children at a single level. [Trans]
  • highlight() Mod Sets # modifier for attachable children and their descendents. [Trans]
  • highlight_this() Mod Apply # modifier to children at a single level. [Trans]

Modular Hose

Motors

NURBS

  • debug_nurbs() Mod Shows a NURBS curve and its control points, knots and weights [Geom]

NURBS Curves

  • nurbs_curve() Func Computes one more more points on a NURBS curve. [Path]

NURBS Patches

  • is_nurbs_patch() Func Returns true if the given item looks like a NURBS patch.
  • nurbs_patch_points() Func Computes specifies point(s) on a NURBS surface patch
  • nurbs_vnf() Func Generates a (possibly non-manifold) VNF for a single NURBS surface patch. [VNF]

Offsets

  • bent_cutout_mask() Mod Create a mask for making a round-edged cutout in a cylindrical shell. [Geom]
  • convex_offset_extrude() Mod Make a solid from geometry where offset changes along the object's length. [Geom]
  • join_prism() Func/Mod Join an arbitrary prism to a plane, sphere, cylinder or another arbitrary prism with a fillet. [Geom] [VNF]
  • offset_sweep() Func/Mod Make a solid from a polygon with offset that changes along its length. [Geom] [VNF]
  • rounded_prism() Func/Mod Make a rounded 3d object by connecting two polygons with the same vertex count. [Geom] [VNF]

Partitions

  • back_half() Func/Mod Masks the front half of an object along the X-Z plane, leaving the back half. [Geom] [VNF] [Path] [Region]
  • bottom_half() Func/Mod Masks the top half of an object along the X-Y plane, leaving the bottom half. [Geom] [VNF] [Path] [Region]
  • front_half() Func/Mod Masks the back half of an object along the X-Z plane, leaving the front half. [Geom] [VNF] [Path] [Region]
  • half_of() Func/Mod Masks half of an object at a cut plane. [Geom] [VNF] [Path] [Region]
  • left_half() Func/Mod Masks the right half of an object along the Y-Z plane, leaving the left half. [Geom] [VNF] [Path] [Region]
  • partition() Mod Cuts an object in two with matched joining edges, then separates the parts. [Geom] [VNF] [Path] [Region]
  • partition_cut_mask() Mod Creates a mask to cut an object into two subparts that can be reassembled. [Geom]
  • partition_mask() Mod Creates a mask to remove half an object with the remaining half suitable for reassembly. [Geom]
  • right_half() Func/Mod Masks the left half of an object along the Y-Z plane, leaving the right half. [Geom] [VNF] [Path] [Region]
  • top_half() Func/Mod Masks the bottom half of an object along the X-Y plane, leaving the top half. [Geom] [VNF] [Path] [Region]

Parts

Path Generators

  • arc() Func/Mod Draws a 2D pie-slice or returns 2D or 3D path forming an arc. [Geom] [Path]
  • egg() Func/Mod Creates an egg-shaped 2d object. [Geom] [Path]
  • ellipse() Func/Mod Creates the approximation of an ellipse or a circle. [Geom] [Path]
  • glued_circles() Func/Mod Creates a shape of two circles joined by a curved waist. [Geom] [Path]
  • helix() Func Creates a 2d spiral or 3d helical path. [Path]
  • hexagon() Func/Mod Creates a regular hexagon. [Geom] [Path]
  • keyhole() Func/Mod Creates a 2D keyhole shape. [Geom] [Path]
  • mask2d_chamfer() Func/Mod Produces a 2D chamfer mask shape. [Geom] [Path]
  • mask2d_cove() Func/Mod Creates a 2D cove (quarter-round) mask shape. [Geom] [Path]
  • mask2d_dovetail() Func/Mod Creates a 2D dovetail mask shape. [Geom] [Path]
  • mask2d_ogee() Func/Mod Creates a 2D ogee mask shape. [Geom] [Path]
  • mask2d_rabbet() Func/Mod Creates a rabbet mask shape. [Geom] [Path]
  • mask2d_roundover() Func/Mod Creates a circular mask shape for rounding edges or beading. [Geom] [Path]
  • mask2d_teardrop() Func/Mod Creates a 2D teardrop shape with specified max angle from vertical. [Geom] [Path]
  • octagon() Func/Mod Creates a regular octagon. [Geom] [Path]
  • path_text() Mod Creates 2d or 3d text placed along a path. [Geom]
  • pentagon() Func/Mod Creates a regular pentagon. [Geom] [Path]
  • rect() Func/Mod Creates a 2d rectangle with optional corner rounding. [Geom] [Path]
  • regular_ngon() Func/Mod Creates a regular N-sided polygon. [Geom] [Path]
  • reuleaux_polygon() Func/Mod Creates a constant-width shape that is not circular. [Geom] [Path]
  • right_triangle() Func/Mod Creates a right triangle. [Geom] [Path]
  • ring() Func/Mod Draws a 2D ring or partial ring or returns a region or path [Geom] [Region] [Path]
  • squircle() Func/Mod Creates a shape between a circle and a square, centered on the origin. [Geom] [Path]
  • star() Func/Mod Creates a star-shaped polygon or returns a star-shaped region. [Geom] [Path]
  • supershape() Func/Mod Creates a 2D Superformula shape. [Geom] [Path]
  • teardrop2d() Func/Mod Creates a 2D teardrop shape. [Geom] [Path]
  • trapezoid() Func/Mod Creates a trapezoid with parallel top and bottom sides. [Geom] [Path]

Path Generators (2D)

  • circle() Func/Mod Creates the approximation of a circle. [Geom] [Path] [Ext]
  • path_text() Mod Creates 2d or 3d text placed along a path. [Geom]
  • square() Func/Mod Creates a 2D square or rectangle. [Geom] [Path] [Ext]
  • turtle() Func Uses turtle graphics to generate a 2D path. [Path]

Path Generators (3D)

Path Subdivision

  • path_cut() Func Cuts a path into subpaths at various points. [PathList]
  • path_cut_points() Func Returns a list of cut points at a list of distances from the first point in a path.
  • slice_profiles() Func Linearly interpolates between path profiles. [PathList]
  • split_path_at_self_crossings() Func Split a 2D path wherever it crosses itself. [PathList]
  • subdivide_and_slice() Func Resample list of paths to have the same point count and interpolate additional paths. [PathList]
  • subdivide_path() Func Subdivides a path to produce a more finely sampled path. [Path]

Paths

  • altaz_to_xyz() Func Convert altitude/azimuth/range to 3D cartesian coordinates. [Path]
  • associate_vertices() Func Create vertex association to control how skin() links vertices. [PathList]
  • catenary() Func Returns a 2D Catenary chain or arch path. [Path]
  • cylindrical_to_xyz() Func Convert cylindrical coordinates to cartesian coordinates. [Path]
  • dashed_stroke() Func/Mod Draws a dashed line along a path or region boundry. [Geom] [PathList]
  • force_path() Func Checks that path is a region with one component. [Path]
  • force_region() Func Given a polygon returns a region. [Region]
  • helix() Func Creates a 2d spiral or 3d helical path. [Path]
  • is_1region() Func Returns true if path is a region with one component.
  • is_path() Func Returns True if 'list' is a path.
  • is_path_simple() Func Returns true if a path has no self intersections.
  • is_region() Func Returns true if the input appears to be a region.
  • is_region_simple() Func Returns true if the input is a region with no corner contact.
  • is_valid_region() Func Returns true if the input is a valid region.
  • lift_plane() Func Map a list of 2D points onto a plane in 3D. [Path]
  • list_unwrap() Func Removes the last item of a list if its first and last values are equal.
  • list_wrap() Func Returns a list whose last value is the same as the first.
  • make_region() Func Converts lists of intersecting polygons into valid regions. [Region]
  • offset() Func Takes a 2D path, polygon or region and returns a path offset by an amount. [Path] [Region] [Ext]
  • offset_stroke() Func/Mod Draws a line along a path with options to specify angles and roundings at the ends. [Path] [Region]
  • partition() Mod Cuts an object in two with matched joining edges, then separates the parts. [Geom] [VNF] [Path] [Region]
  • partition_cut_mask() Mod Creates a mask to cut an object into two subparts that can be reassembled. [Geom]
  • partition_mask() Mod Creates a mask to remove half an object with the remaining half suitable for reassembly. [Geom]
  • path2d() Func Convert a path to 2D. [Path]
  • path3d() Func Convert a path to 3D. [Path]
  • path4d() Func Convert a path to 4d. [Path]
  • path_closest_point() Func Returns the closest place on a path to a given point.
  • path_curvature() Func Returns the estimated numerical curvature of the path.
  • path_cut() Func Cuts a path into subpaths at various points. [PathList]
  • path_cut_points() Func Returns a list of cut points at a list of distances from the first point in a path.
  • path_extrude() Mod Extrudes 2D children along a 3D path. [Geom]
  • path_join() Func Join paths end to end with optional rounding. [Path]
  • path_length() Func Returns the path length.
  • path_length_fractions() Func Returns the fractional distance of each point along the length of a path.
  • path_merge_collinear() Func Removes unnecessary points from a path. [Path]
  • path_normals() Func Returns normal vectors for each point along a path.
  • path_segment_lengths() Func Returns a list of the lengths of segments in a path.
  • path_sweep() Func/Mod Sweep a 2d polygon path along a 2d or 3d path. [VNF] [Geom]
  • path_sweep2d() Func/Mod Sweep a 2d polygon path along a 2d path allowing self-intersection. [VNF] [Geom]
  • path_tangents() Func Returns tangent vectors for each point along a path.
  • path_text() Mod Creates 2d or 3d text placed along a path. [Geom]
  • path_torsion() Func Returns the estimated numerical torsion of the path.
  • polar_to_xy() Func Convert 2D polar coordinates to cartesian coordinates. [Path]
  • polygon_parts() Func Parses a self-intersecting polygon into a list of non-intersecting polygons. [PathList]
  • project_plane() Func Project a set of points onto a specified plane, returning 2D points. [Path]
  • region() Mod Creates the 2D polygons described by the given region or list of polygons. [Geom]
  • resample_path() Func Returns an equidistant set of points along a path. [Path]
  • round_corners() Func Round or chamfer the corners of a path (clipping them off). [Path]
  • slice_profiles() Func Linearly interpolates between path profiles. [PathList]
  • smooth_path() Func Create smoothed path that passes through all the points of a given path. [Path]
  • spherical_to_xyz() Func Convert spherical coordinates to 3D cartesian coordinates. [Path]
  • split_path_at_self_crossings() Func Split a 2D path wherever it crosses itself. [PathList]
  • subdivide_and_slice() Func Resample list of paths to have the same point count and interpolate additional paths. [PathList]
  • subdivide_path() Func Subdivides a path to produce a more finely sampled path. [Path]
  • sweep() Func/Mod Construct a 3d object from arbitrary transformations of a 2d polygon path. [VNF] [Geom]
  • sweep_attach() Mod Attach children to sides of a path_sweep parent object [Geom]
  • xy_to_polar() Func Convert 2D cartesian coordinates to polar coordinates (radius and angle)
  • xyz_to_altaz() Func Convert 3D cartesian coordinates to [altitude,azimuth,range].
  • xyz_to_cylindrical() Func Convert 3D cartesian coordinates to cylindrical coordinates.
  • xyz_to_spherical() Func Convert 3D cartesian coordinates to spherical coordinates.

Paths (2D)

  • arc() Func/Mod Draws a 2D pie-slice or returns 2D or 3D path forming an arc. [Geom] [Path]
  • egg() Func/Mod Creates an egg-shaped 2d object. [Geom] [Path]
  • ellipse() Func/Mod Creates the approximation of an ellipse or a circle. [Geom] [Path]
  • glued_circles() Func/Mod Creates a shape of two circles joined by a curved waist. [Geom] [Path]
  • hexagon() Func/Mod Creates a regular hexagon. [Geom] [Path]
  • keyhole() Func/Mod Creates a 2D keyhole shape. [Geom] [Path]
  • mask2d_chamfer() Func/Mod Produces a 2D chamfer mask shape. [Geom] [Path]
  • mask2d_cove() Func/Mod Creates a 2D cove (quarter-round) mask shape. [Geom] [Path]
  • mask2d_dovetail() Func/Mod Creates a 2D dovetail mask shape. [Geom] [Path]
  • mask2d_ogee() Func/Mod Creates a 2D ogee mask shape. [Geom] [Path]
  • mask2d_rabbet() Func/Mod Creates a rabbet mask shape. [Geom] [Path]
  • mask2d_roundover() Func/Mod Creates a circular mask shape for rounding edges or beading. [Geom] [Path]
  • mask2d_teardrop() Func/Mod Creates a 2D teardrop shape with specified max angle from vertical. [Geom] [Path]
  • octagon() Func/Mod Creates a regular octagon. [Geom] [Path]
  • path_text() Mod Creates 2d or 3d text placed along a path. [Geom]
  • pentagon() Func/Mod Creates a regular pentagon. [Geom] [Path]
  • rect() Func/Mod Creates a 2d rectangle with optional corner rounding. [Geom] [Path]
  • regular_ngon() Func/Mod Creates a regular N-sided polygon. [Geom] [Path]
  • reuleaux_polygon() Func/Mod Creates a constant-width shape that is not circular. [Geom] [Path]
  • right_triangle() Func/Mod Creates a right triangle. [Geom] [Path]
  • ring() Func/Mod Draws a 2D ring or partial ring or returns a region or path [Geom] [Region] [Path]
  • squircle() Func/Mod Creates a shape between a circle and a square, centered on the origin. [Geom] [Path]
  • star() Func/Mod Creates a star-shaped polygon or returns a star-shaped region. [Geom] [Path]
  • stroke() Mod Draws a line along a path or region boundry. [Geom]
  • supershape() Func/Mod Creates a 2D Superformula shape. [Geom] [Path]
  • teardrop2d() Func/Mod Creates a 2D teardrop shape. [Geom] [Path]
  • trapezoid() Func/Mod Creates a trapezoid with parallel top and bottom sides. [Geom] [Path]

Paths (3D)

  • arc() Func/Mod Draws a 2D pie-slice or returns 2D or 3D path forming an arc. [Geom] [Path]
  • path_text() Mod Creates 2d or 3d text placed along a path. [Geom]
  • stroke() Mod Draws a line along a path or region boundry. [Geom]

Planes

Points

  • altaz_to_xyz() Func Convert altitude/azimuth/range to 3D cartesian coordinates. [Path]
  • are_points_on_plane() Func Determine if all of the listed points are on a plane.
  • closest_point() Func Finds the closest point in a list of points.
  • cylindrical_to_xyz() Func Convert cylindrical coordinates to cartesian coordinates. [Path]
  • furthest_point() Func Finds the furthest point in a list of points.
  • is_collinear() Func Determine if points are collinear.
  • is_point_on_line() Func Determine if a point is on a line, ray or segment.
  • lift_plane() Func Map a list of 2D points onto a plane in 3D. [Path]
  • line_from_points() Func Given a list of collinear points, return the line they define.
  • path2d() Func Convert a path to 2D. [Path]
  • path3d() Func Convert a path to 3D. [Path]
  • path4d() Func Convert a path to 4d. [Path]
  • plane_from_points() Func Return plane defined by a set of coplanar 3d points, with arbitrary normal direction.
  • point2d() Func Convert a vector to 2D.
  • point3d() Func Convert a vector to 3D.
  • point4d() Func Convert a vector to 4d.
  • point_in_region() Func Tests if a point is inside, outside, or on the border of a region.
  • point_line_distance() Func Find shortest distance from point to a line, segment or ray.
  • polar_to_xy() Func Convert 2D polar coordinates to cartesian coordinates. [Path]
  • project_plane() Func Project a set of points onto a specified plane, returning 2D points. [Path]
  • random_points() Func Returns a list of random points.
  • spherical_random_points() Func Returns a list of random points on the surface of a sphere.
  • spherical_to_xyz() Func Convert spherical coordinates to 3D cartesian coordinates. [Path]
  • vector_nearest() Func Finds the k nearest points in a list to a given point.
  • vector_search() Func Finds points in a list that are close to a given point.
  • vector_search_tree() Func Makes a distance search tree for a list of points.
  • xy_to_polar() Func Convert 2D cartesian coordinates to polar coordinates (radius and angle)
  • xyz_to_altaz() Func Convert 3D cartesian coordinates to [altitude,azimuth,range].
  • xyz_to_cylindrical() Func Convert 3D cartesian coordinates to cylindrical coordinates.
  • xyz_to_spherical() Func Convert 3D cartesian coordinates to spherical coordinates.

Polygon

Polygons

  • align_polygon() Func Find best alignment of a 2d polygon to a reference 2d polygon over a set of transformations.
  • are_polygons_equal() Func Check if two polygons (not necessarily in the same point order) are equal.
  • are_regions_equal() Func Returns true if given regions are the same polygons.
  • ccw_polygon() Func Return counter-clockwise version of a polygon.
  • centroid() Func Compute centroid of a 2d or 3d polygon or a VNF.
  • clockwise_polygon() Func Return clockwise version of a polygon.
  • difference() Func/Mod Performs a Boolean difference operation. [Geom] [Region]
  • exclusive_or() Func/Mod Performs a Boolean exclusive-or operation. [Geom] [Region]
  • force_region() Func Given a polygon returns a region. [Region]
  • hull_region() Func/Mod Compute convex hull of region or 2d path [Geom] [Path]
  • intersection() Func/Mod Performs a Boolean intersection operation. [Geom] [Region]
  • is_polygon_clockwise() Func Determine if a 2d polygon winds clockwise.
  • is_region() Func Returns true if the input appears to be a region.
  • is_region_simple() Func Returns true if the input is a region with no corner contact.
  • is_valid_region() Func Returns true if the input is a valid region.
  • make_region() Func Converts lists of intersecting polygons into valid regions. [Region]
  • offset() Func Takes a 2D path, polygon or region and returns a path offset by an amount. [Path] [Region] [Ext]
  • plane_from_polygon() Func Given a 3d planar polygon, returns directed plane.
  • point_in_polygon() Func Checks if a 2d point is inside or on the boundary of a 2d polygon.
  • polygon_area() Func Calculate area of a 2d or 3d polygon.
  • polygon_line_intersection() Func Find intersection between 2d or 3d polygon and a line, segment or ray.
  • polygon_normal() Func Return normal to a polygon.
  • polygon_parts() Func Parses a self-intersecting polygon into a list of non-intersecting polygons. [PathList]
  • region() Mod Creates the 2D polygons described by the given region or list of polygons. [Geom]
  • reindex_polygon() Func Adjust point indexing of polygon to minimize pointwise distance to a reference polygon.
  • reverse_polygon() Func Reverse winding direction of polygon.
  • split_region_at_region_crossings() Func Splits regions where polygons touch and at intersections.
  • union() Func/Mod Performs a Boolean union operation. [Geom] [Region]

Polyhedra

Projection

Quantization

  • quant() Func Returns x quantized to the nearest integer multiple of y.
  • quantdn() Func Returns x quantized down to an integer multiple of y.
  • quantup() Func Returns x quantized uo to an integer multiple of y.

Random

Reflection

  • mirror() Func/Mod Reflects children across an arbitrary plane. [Trans] [Path] [VNF] [Mat] [Ext]
  • xflip() Func/Mod Reflects children across the YZ plane. [Trans] [Path] [VNF] [Mat]
  • yflip() Func/Mod Reflects children across the XZ plane. [Trans] [Path] [VNF] [Mat]
  • zflip() Func/Mod Reflects children across the XY plane. [Trans] [Path] [VNF] [Mat]

Regions

  • are_regions_equal() Func Returns true if given regions are the same polygons.
  • difference() Func/Mod Performs a Boolean difference operation. [Geom] [Region]
  • exclusive_or() Func/Mod Performs a Boolean exclusive-or operation. [Geom] [Region]
  • force_path() Func Checks that path is a region with one component. [Path]
  • force_region() Func Given a polygon returns a region. [Region]
  • hull_region() Func/Mod Compute convex hull of region or 2d path [Geom] [Path]
  • intersection() Func/Mod Performs a Boolean intersection operation. [Geom] [Region]
  • is_1region() Func Returns true if path is a region with one component.
  • is_region() Func Returns true if the input appears to be a region.
  • is_region_simple() Func Returns true if the input is a region with no corner contact.
  • is_valid_region() Func Returns true if the input is a valid region.
  • make_region() Func Converts lists of intersecting polygons into valid regions. [Region]
  • offset() Func Takes a 2D path, polygon or region and returns a path offset by an amount. [Path] [Region] [Ext]
  • path_merge_collinear() Func Removes unnecessary points from a path. [Path]
  • point_in_region() Func Tests if a point is inside, outside, or on the border of a region.
  • region() Mod Creates the 2D polygons described by the given region or list of polygons. [Geom]
  • region_area() Func Computes the area of the specified valid region.
  • region_parts() Func Splits a region into a list of connected regions. [RegList]
  • ring() Func/Mod Draws a 2D ring or partial ring or returns a region or path [Geom] [Region] [Path]
  • split_region_at_region_crossings() Func Splits regions where polygons touch and at intersections.
  • union() Func/Mod Performs a Boolean union operation. [Geom] [Region]

Revolution

  • rotate_sweep() Func/Mod Create a surface of revolution from a path with optional texturing. [VNF] [Geom]

Rotation

  • arc_copies() Func/Mod Distributes duplicates of children along an arc. [MatList] [Trans]
  • cylindrical_extrude() Mod Extrudes 2D children outwards around a cylinder. [Geom]
  • frame_map() Func/Mod Rotates and possibly skews children from one frame of reference to another. [Trans] [Path] [VNF] [Mat]
  • rot() Func/Mod Rotates children in various ways. [Trans] [Path] [VNF] [Mat]
  • rot_copies() Func/Mod Rotates copies of children. [MatList] [Trans]
  • rot_resample() Func Resample a list of rotation operators. [MatList]
  • sphere_copies() Func/Mod Distributes copies of children over the surface of a sphere. [MatList] [Trans]
  • tilt() Func/Mod Tilts children towards a direction [Trans] [Path] [VNF] [Mat]
  • xrot() Func/Mod Rotates children around the X axis using the right-hand rule. [Trans] [Path] [VNF] [Mat]
  • xrot_copies() Func/Mod Rotates copies of children around the X axis. [MatList] [Trans]
  • yrot() Func/Mod Rotates children around the Y axis using the right-hand rule. [Trans] [Path] [VNF] [Mat]
  • yrot_copies() Func/Mod Rotates copies of children around the Y axis. [MatList] [Trans]
  • zrot() Func/Mod Rotates children around the Z axis using the right-hand rule. [Trans] [Path] [VNF] [Mat]
  • zrot_copies() Func/Mod Rotates copies of children around the Z axis. [MatList] [Trans]

Rounding

  • bent_cutout_mask() Mod Create a mask for making a round-edged cutout in a cylindrical shell. [Geom]
  • convex_offset_extrude() Mod Make a solid from geometry where offset changes along the object's length. [Geom]
  • cyl() Func/Mod Creates an attachable cylinder with roundovers and chamfering. [Geom] [VNF]
  • join_prism() Func/Mod Join an arbitrary prism to a plane, sphere, cylinder or another arbitrary prism with a fillet. [Geom] [VNF]
  • offset_stroke() Func/Mod Draws a line along a path with options to specify angles and roundings at the ends. [Path] [Region]
  • offset_sweep() Func/Mod Make a solid from a polygon with offset that changes along its length. [Geom] [VNF]
  • path_join() Func Join paths end to end with optional rounding. [Path]
  • path_to_bezpath() Func Generates a bezier path that passes through all points in a given linear path. [Path]
  • regular_prism() Func/Mod Creates a regular prism with roundovers and chamfering [Geom] [VNF]
  • round2d() Mod Rounds the corners of 2d objects. [Geom]
  • round3d() Mod Rounds arbitrary 3d objects. [Geom]
  • round_corners() Func Round or chamfer the corners of a path (clipping them off). [Path]
  • rounded_prism() Func/Mod Make a rounded 3d object by connecting two polygons with the same vertex count. [Geom] [VNF]
  • rounding_corner_mask() Mod Creates a shape to round 90° corners. [Geom]
  • rounding_cylinder_mask() Mod Creates a shape to round the end of a cylinder. [Geom]
  • rounding_edge_mask() Mod Creates a shape to round a 90° edge. [Geom]
  • rounding_hole_mask() Mod Creates a shape to round the edge of a round hole. [Geom]
  • smooth_path() Func Create smoothed path that passes through all the points of a given path. [Path]
  • teardrop_corner_mask() Mod Creates a shape to round a 90° corner but limit the angle of overhang. [Geom]
  • teardrop_edge_mask() Mod Creates a shape to round a 90° edge but limit the angle of overhang. [Geom]
  • xcyl() Mod creates a cylinder oriented along the X axis. [Geom]
  • ycyl() Mod Creates a cylinder oriented along the y axis. [Geom]
  • zcyl() Mod Creates a cylinder oriented along the Z axis. [Geom]

Scaling

  • scale() Func/Mod Scales children arbitrarily. [Trans] [Path] [VNF] [Mat] [Ext]
  • xscale() Func/Mod Scales children along the X axis. [Trans] [Path] [VNF] [Mat]
  • yscale() Func/Mod Scales children along the Y axis. [Trans] [Path] [VNF] [Mat]
  • zscale() Func/Mod Scales children along the Z axis. [Trans] [Path] [VNF] [Mat]

Screws

Searching

  • binsearch() Func Does a binary search of a sorted list to find the index of a given value.
  • find_first() Func Returns the index of the first item in a list, after start, that a given function returns true for.

Segments

Set Handling

  • set_difference() Func Returns a list of unique items that are in list A, but not in list B.
  • set_intersection() Func Returns a list of unique items that are in both given lists.
  • set_union() Func Merges two lists, returning a list of unique items.

Shapes

Shapes (2D)

  • arc() Func/Mod Draws a 2D pie-slice or returns 2D or 3D path forming an arc. [Geom] [Path]
  • circle() Func/Mod Creates the approximation of a circle. [Geom] [Path] [Ext]
  • debug_polygon() Mod Draws an annotated polygon. [Geom]
  • debug_region() Mod Draws an annotated region. [Geom]
  • egg() Func/Mod Creates an egg-shaped 2d object. [Geom] [Path]
  • ellipse() Func/Mod Creates the approximation of an ellipse or a circle. [Geom] [Path]
  • glued_circles() Func/Mod Creates a shape of two circles joined by a curved waist. [Geom] [Path]
  • hexagon() Func/Mod Creates a regular hexagon. [Geom] [Path]
  • keyhole() Func/Mod Creates a 2D keyhole shape. [Geom] [Path]
  • mask2d_chamfer() Func/Mod Produces a 2D chamfer mask shape. [Geom] [Path]
  • mask2d_cove() Func/Mod Creates a 2D cove (quarter-round) mask shape. [Geom] [Path]
  • mask2d_dovetail() Func/Mod Creates a 2D dovetail mask shape. [Geom] [Path]
  • mask2d_ogee() Func/Mod Creates a 2D ogee mask shape. [Geom] [Path]
  • mask2d_rabbet() Func/Mod Creates a rabbet mask shape. [Geom] [Path]
  • mask2d_roundover() Func/Mod Creates a circular mask shape for rounding edges or beading. [Geom] [Path]
  • mask2d_teardrop() Func/Mod Creates a 2D teardrop shape with specified max angle from vertical. [Geom] [Path]
  • octagon() Func/Mod Creates a regular octagon. [Geom] [Path]
  • pentagon() Func/Mod Creates a regular pentagon. [Geom] [Path]
  • rect() Func/Mod Creates a 2d rectangle with optional corner rounding. [Geom] [Path]
  • regular_ngon() Func/Mod Creates a regular N-sided polygon. [Geom] [Path]
  • reuleaux_polygon() Func/Mod Creates a constant-width shape that is not circular. [Geom] [Path]
  • right_triangle() Func/Mod Creates a right triangle. [Geom] [Path]
  • ring() Func/Mod Draws a 2D ring or partial ring or returns a region or path [Geom] [Region] [Path]
  • square() Func/Mod Creates a 2D square or rectangle. [Geom] [Path] [Ext]
  • squircle() Func/Mod Creates a shape between a circle and a square, centered on the origin. [Geom] [Path]
  • star() Func/Mod Creates a star-shaped polygon or returns a star-shaped region. [Geom] [Path]
  • supershape() Func/Mod Creates a 2D Superformula shape. [Geom] [Path]
  • teardrop2d() Func/Mod Creates a 2D teardrop shape. [Geom] [Path]
  • trapezoid() Func/Mod Creates a trapezoid with parallel top and bottom sides. [Geom] [Path]
  • turtle() Func Uses turtle graphics to generate a 2D path. [Path]

Shapes (3D)

  • chamfer_corner_mask() Mod Creates a shape to chamfer a 90° corner. [Geom]
  • chamfer_edge_mask() Mod Creates a shape to chamfer a 90° edge. [Geom]
  • cube() Func/Mod Creates a cube with anchors for attaching children. [Geom] [VNF] [Ext]
  • cuboid() Mod Creates a cube with chamfering and roundovers. [Geom]
  • cylinder() Func/Mod Creates an attachable cylinder. [Geom] [VNF] [Ext]
  • fillet() Mod Creates a smooth fillet between two faces. [Geom] [VNF]
  • octahedron() Func/Mod Creates an octahedron with axis-aligned points. [Geom] [VNF]
  • onion() Func/Mod Creates an attachable onion-like shape. [Geom] [VNF]
  • pie_slice() Func/Mod Creates a pie slice shape. [Geom] [VNF]
  • prismoid() Func/Mod Creates a rectangular prismoid shape with optional roundovers and chamfering. [Geom] [VNF]
  • rect_tube() Mod Creates a rectangular tube. [Geom]
  • rounding_corner_mask() Mod Creates a shape to round 90° corners. [Geom]
  • rounding_edge_mask() Mod Creates a shape to round a 90° edge. [Geom]
  • sphere() Func/Mod Creates an attachable spherical object. [Geom] [VNF] [Ext]
  • spheroid() Func/Mod Creates an attachable spherical object with controllable triangulation. [Geom] [VNF]
  • teardrop() Func/Mod Creates a teardrop shape. [Geom] [VNF]
  • teardrop_corner_mask() Mod Creates a shape to round a 90° corner but limit the angle of overhang. [Geom]
  • teardrop_edge_mask() Mod Creates a shape to round a 90° edge but limit the angle of overhang. [Geom]
  • torus() Func/Mod Creates an attachable torus. [Geom] [VNF]
  • tube() Mod Creates a cylindrical or conical tube. [Geom]
  • turtle3d() Func Extends turtle graphics to 3d. Generates a 3D path or returns a list of transforms. [MatList] [Path]
  • wedge() Func/Mod Creates a 3d triangular wedge. [Geom] [VNF]

Shapes2D

  • difference() Func/Mod Performs a Boolean difference operation. [Geom] [Region]
  • exclusive_or() Func/Mod Performs a Boolean exclusive-or operation. [Geom] [Region]
  • hull_region() Func/Mod Compute convex hull of region or 2d path [Geom] [Path]
  • intersection() Func/Mod Performs a Boolean intersection operation. [Geom] [Region]
  • union() Func/Mod Performs a Boolean union operation. [Geom] [Region]

Shapes3D

  • difference() Func/Mod Performs a Boolean difference operation. [Geom] [Region]
  • exclusive_or() Func/Mod Performs a Boolean exclusive-or operation. [Geom] [Region]
  • intersection() Func/Mod Performs a Boolean intersection operation. [Geom] [Region]
  • union() Func/Mod Performs a Boolean union operation. [Geom] [Region]

Shearing

  • skew() Func/Mod Skews (or shears) children along various axes. [Trans] [Path] [VNF] [Mat]

Shell

  • shell2d() Mod Creates a shell from 2D children. [Geom]

Skewing

  • skew() Func/Mod Skews (or shears) children along various axes. [Trans] [Path] [VNF] [Mat]

Skin

  • skin() Func/Mod Connect a sequence of arbitrary polygons into a 3D object. [VNF] [Geom]

Skinning

Sliders

  • rail() Mod Creates a V-groove rail. [Geom]
  • slider() Mod Creates a V-groove slider. [Geom]

Slop

Spheres

Spiral

  • spiral_sweep() Func/Mod Sweep a path along a helix. [VNF] [Geom]

Statistics

  • convolve() Func Returns the convolution of p and q.
  • cumprod() Func Returns the running cumulative product of a list of values.
  • cumsum() Func Returns the running cumulative sum of a list of values.
  • deltas() Func Returns the deltas between a list of values.
  • exponential_rands() Func Returns a list of random numbers with an exponential distribution.
  • gaussian_rands() Func Returns a list of random numbers with a gaussian distribution.
  • mean() Func Returns the mean value of a list of values.
  • median() Func Returns the median value of a list of values.
  • product() Func Returns the multiplicative product of a list of values.
  • sum_of_sines() Func Returns the sum of one or more sine waves at a given angle.

String Operators

  • f_chr() Func Returns a function to get a string character from its ordinal number.
  • f_len() Func Returns a function to calculate the length of a string or list.
  • f_ord() Func Returns a function to get the ordinal number of a string character.
  • f_str() Func Returns a function to get the string representation of an arbitrary value.
  • f_str2() Func Returns a function to concatenate the string representations of two arbitrary values.

Strings

  • downcase() Func Lowercases all characters in a string.
  • ends_with() Func Returns true if the string ends with a given substring.
  • format() Func Formats multiple values into a string with a given format.
  • format_fixed() Func Formats a float into a string with a fixed number of decimal places.
  • format_float() Func Formats a float into a string with a given number of significant digits.
  • format_int() Func Formats an integer into a string, with possible leading zeros.
  • is_digit() Func Returns true if all characters in the string are decimal digits.
  • is_hexdigit() Func Returns true if all characters in the string are hexidecimal digits.
  • is_letter() Func Returns true if all characters in the string are letters.
  • is_lower() Func Returns true if all characters in the string are lowercase.
  • is_upper() Func Returns true if all characters in the string are uppercase.
  • parse_float() Func Parse a float from a string.
  • parse_frac() Func Parse a float from a fraction string.
  • parse_int() Func Parse an integer from a string.
  • parse_num() Func Parse a float from a decimal or fraction string.
  • rand_str() Func Create a randomized string.
  • starts_with() Func Returns true if the string starts with a given substring.
  • str_find() Func Finds a substring in a string.
  • str_join() Func Joints a list of strings into a single string.
  • str_pad() Func Pads a string to a given length.
  • str_replace_char() Func Replace given chars in a string with another substring.
  • str_split() Func Splits a longer string wherever a given substring occurs.
  • str_strip() Func Strips given leading and trailing characters from a string.
  • substr() Func Returns a substring from a string.
  • substr_match() Func Returns true if the string pattern matches the string str.
  • suffix() Func Returns the last few characters of a string.
  • upcase() Func Uppercases all characters in a string.

Sweep

  • linear_sweep() Func/Mod Create a linear extrusion from a path, with optional texturing. [VNF] [Geom]
  • path_sweep() Func/Mod Sweep a 2d polygon path along a 2d or 3d path. [VNF] [Geom]
  • path_sweep2d() Func/Mod Sweep a 2d polygon path along a 2d path allowing self-intersection. [VNF] [Geom]
  • rotate_sweep() Func/Mod Create a surface of revolution from a path with optional texturing. [VNF] [Geom]
  • spiral_sweep() Func/Mod Sweep a path along a helix. [VNF] [Geom]
  • sweep() Func/Mod Construct a 3d object from arbitrary transformations of a 2d polygon path. [VNF] [Geom]
  • sweep_attach() Mod Attach children to sides of a path_sweep parent object [Geom]

Tangents

Test

Testing

  • is_consistent() Func Returns true if the argument is a list with consistent structure and finite numerical data.
  • same_shape() Func Returns true if the argument lists are numeric and of the same shape.
  • shape_compare() Mod Compares two child shapes. [Geom]

Text

  • path_text() Mod Creates 2d or 3d text placed along a path. [Geom]
  • text() Mod Creates an attachable block of text. [Geom]
  • text3d() Mod Creates an attachable 3d text block. [Geom]

Textures

  • cyl() Func/Mod Creates an attachable cylinder with roundovers and chamfering. [Geom] [VNF]
  • cylindrical_heightfield() Func/Mod Generates a cylindrical 3d surface from a 2D grid of values. [Geom] [VNF]
  • heightfield() Func/Mod Generates a 3D surface from a 2D grid of values. [Geom] [VNF]
  • linear_sweep() Func/Mod Create a linear extrusion from a path, with optional texturing. [VNF] [Geom]
  • regular_prism() Func/Mod Creates a regular prism with roundovers and chamfering [Geom] [VNF]
  • rotate_sweep() Func/Mod Create a surface of revolution from a path with optional texturing. [VNF] [Geom]
  • texture() Func Produce a standard texture.
  • xcyl() Mod creates a cylinder oriented along the X axis. [Geom]
  • ycyl() Mod Creates a cylinder oriented along the y axis. [Geom]
  • zcyl() Mod Creates a cylinder oriented along the Z axis. [Geom]

Threading

Transformations

  • arc_copies() Func/Mod Distributes duplicates of children along an arc. [MatList] [Trans]
  • grid_copies() Func/Mod Places copies of children in an [X,Y] grid. [MatList] [Trans]
  • line_copies() Func/Mod Places copies of children along an arbitrary line. [MatList] [Trans]
  • mirror_copy() Func/Mod Makes a copy of children mirrored across a given plane. [MatList] [Trans]
  • move_copies() Func/Mod Translates copies of all children. [MatList] [Trans]
  • path_copies() Func/Mod Uniformly distributes copies of children along a path. [MatList] [Trans]
  • rot_copies() Func/Mod Rotates copies of children. [MatList] [Trans]
  • sphere_copies() Func/Mod Distributes copies of children over the surface of a sphere. [MatList] [Trans]
  • xcopies() Func/Mod Places copies of children along the X axis. [MatList] [Trans]
  • xflip_copy() Func/Mod Makes a copy of children mirrored across the X axis. [MatList] [Trans]
  • xrot_copies() Func/Mod Rotates copies of children around the X axis. [MatList] [Trans]
  • ycopies() Func/Mod Places copies of children along the Y axis. [MatList] [Trans]
  • yflip_copy() Func/Mod Makes a copy of children mirrored across the Y axis. [MatList] [Trans]
  • yrot_copies() Func/Mod Rotates copies of children around the Y axis. [MatList] [Trans]
  • zcopies() Func/Mod Places copies of children along the Z axis. [MatList] [Trans]
  • zflip_copy() Func/Mod Makes a copy of children mirrored across the Z axis. [MatList] [Trans]
  • zrot_copies() Func/Mod Rotates copies of children around the Z axis. [MatList] [Trans]

Transforms

  • apply() Func Applies a transformation matrix to a point, list of points, array of points, or a VNF. [Path] [VNF] [Mat]
  • back() Func/Mod Translates children backwards (Y+). [Trans] [Path] [VNF] [Mat]
  • down() Func/Mod Translates children downwards (Z-). [Trans] [Path] [VNF] [Mat]
  • frame_map() Func/Mod Rotates and possibly skews children from one frame of reference to another. [Trans] [Path] [VNF] [Mat]
  • fwd() Func/Mod Translates children forwards (Y-). [Trans] [Path] [VNF] [Mat]
  • IDENT Const A constant containing the 3D identity transformation matrix. [Mat]
  • ident() Func Return identity matrix.
  • is_rotation() Func Check if a transformation matrix represents a rotation.
  • left() Func/Mod Translates children leftwards (X-). [Trans] [Path] [VNF] [Mat]
  • mirror() Func/Mod Reflects children across an arbitrary plane. [Trans] [Path] [VNF] [Mat] [Ext]
  • move() Func/Mod Translates children in an arbitrary direction. [Trans] [Path] [VNF] [Mat]
  • parent() Func Returns a description (transformation state and attachment geometry) of the parent
  • restore() Mod Restores transformation state and attachment geometry from a description [Trans]
  • right() Func/Mod Translates children rightwards (X+). [Trans] [Path] [VNF] [Mat]
  • rot() Func/Mod Rotates children in various ways. [Trans] [Path] [VNF] [Mat]
  • rot_decode() Func Extract axis and rotation angle from a rotation matrix.
  • scale() Func/Mod Scales children arbitrarily. [Trans] [Path] [VNF] [Mat] [Ext]
  • skew() Func/Mod Skews (or shears) children along various axes. [Trans] [Path] [VNF] [Mat]
  • tilt() Func/Mod Tilts children towards a direction [Trans] [Path] [VNF] [Mat]
  • move() Func/Mod Translates children in an arbitrary direction. [Trans] [Path] [VNF] [Mat]
  • up() Func/Mod Translates children upwards (Z+). [Trans] [Path] [VNF] [Mat]
  • xflip() Func/Mod Reflects children across the YZ plane. [Trans] [Path] [VNF] [Mat]
  • right() Func/Mod Translates children rightwards (X+). [Trans] [Path] [VNF] [Mat]
  • xrot() Func/Mod Rotates children around the X axis using the right-hand rule. [Trans] [Path] [VNF] [Mat]
  • xscale() Func/Mod Scales children along the X axis. [Trans] [Path] [VNF] [Mat]
  • yflip() Func/Mod Reflects children across the XZ plane. [Trans] [Path] [VNF] [Mat]
  • back() Func/Mod Translates children backwards (Y+). [Trans] [Path] [VNF] [Mat]
  • yrot() Func/Mod Rotates children around the Y axis using the right-hand rule. [Trans] [Path] [VNF] [Mat]
  • yscale() Func/Mod Scales children along the Y axis. [Trans] [Path] [VNF] [Mat]
  • zflip() Func/Mod Reflects children across the XY plane. [Trans] [Path] [VNF] [Mat]
  • up() Func/Mod Translates children upwards (Z+). [Trans] [Path] [VNF] [Mat]
  • zrot() Func/Mod Rotates children around the Z axis using the right-hand rule. [Trans] [Path] [VNF] [Mat]
  • zscale() Func/Mod Scales children along the Z axis. [Trans] [Path] [VNF] [Mat]

Translation

  • back() Func/Mod Translates children backwards (Y+). [Trans] [Path] [VNF] [Mat]
  • down() Func/Mod Translates children downwards (Z-). [Trans] [Path] [VNF] [Mat]
  • fwd() Func/Mod Translates children forwards (Y-). [Trans] [Path] [VNF] [Mat]
  • grid_copies() Func/Mod Places copies of children in an [X,Y] grid. [MatList] [Trans]
  • left() Func/Mod Translates children leftwards (X-). [Trans] [Path] [VNF] [Mat]
  • line_copies() Func/Mod Places copies of children along an arbitrary line. [MatList] [Trans]
  • mirror_copy() Func/Mod Makes a copy of children mirrored across a given plane. [MatList] [Trans]
  • move() Func/Mod Translates children in an arbitrary direction. [Trans] [Path] [VNF] [Mat]
  • move_copies() Func/Mod Translates copies of all children. [MatList] [Trans]
  • right() Func/Mod Translates children rightwards (X+). [Trans] [Path] [VNF] [Mat]
  • move() Func/Mod Translates children in an arbitrary direction. [Trans] [Path] [VNF] [Mat]
  • up() Func/Mod Translates children upwards (Z+). [Trans] [Path] [VNF] [Mat]
  • xcopies() Func/Mod Places copies of children along the X axis. [MatList] [Trans]
  • xflip_copy() Func/Mod Makes a copy of children mirrored across the X axis. [MatList] [Trans]
  • right() Func/Mod Translates children rightwards (X+). [Trans] [Path] [VNF] [Mat]
  • ycopies() Func/Mod Places copies of children along the Y axis. [MatList] [Trans]
  • yflip_copy() Func/Mod Makes a copy of children mirrored across the Y axis. [MatList] [Trans]
  • back() Func/Mod Translates children backwards (Y+). [Trans] [Path] [VNF] [Mat]
  • zcopies() Func/Mod Places copies of children along the Z axis. [MatList] [Trans]
  • zflip_copy() Func/Mod Makes a copy of children mirrored across the Z axis. [MatList] [Trans]
  • up() Func/Mod Translates children upwards (Z+). [Trans] [Path] [VNF] [Mat]

Triangles

  • adj_ang_to_hyp() Func Returns the hypotenuse length from the length of the adjacent and the angle.
  • adj_ang_to_opp() Func Returns the opposite side length from the length of the adjacent side and the angle.
  • hyp_adj_to_ang() Func Returns the angle from the lengths of the hypotenuse and the adjacent side.
  • hyp_adj_to_opp() Func Returns the opposite side length from the lengths of the hypotenuse and the adjacent side.
  • adj_opp_to_ang() Func Returns the angle from the lengths of the adjacent and opposite sides.
  • adj_opp_to_hyp() Func Returns the hypotenuse length from the lengths of the adjacent and opposite sides.
  • adj_ang_to_hyp() Func Returns the hypotenuse length from the length of the adjacent and the angle.
  • adj_ang_to_opp() Func Returns the opposite side length from the length of the adjacent side and the angle.
  • hyp_ang_to_adj() Func Returns the adjacent side length from the length of the hypotenuse and the angle.
  • hyp_ang_to_opp() Func Returns the opposite side length from the length of the hypotenuse and the angle.
  • opp_ang_to_adj() Func Returns the adjacent side length from the length of the opposite side and the angle.
  • opp_ang_to_hyp() Func Returns the hypotenuse length from the length of the opposite side and the angle.
  • hyp_adj_to_ang() Func Returns the angle from the lengths of the hypotenuse and the adjacent side.
  • hyp_adj_to_opp() Func Returns the opposite side length from the lengths of the hypotenuse and the adjacent side.
  • hyp_ang_to_adj() Func Returns the adjacent side length from the length of the hypotenuse and the angle.
  • hyp_ang_to_opp() Func Returns the opposite side length from the length of the hypotenuse and the angle.
  • hyp_opp_to_adj() Func Returns the adjacent side length from the lengths of the hypotenuse and the opposite side.
  • hyp_opp_to_ang() Func Returns the angle from the lengths of the hypotenuse and the opposite side.
  • law_of_cosines() Func Applies the Law of Cosines for an arbitrary triangle.
  • law_of_sines() Func Applies the Law of Sines for an arbitrary triangle.
  • adj_opp_to_ang() Func Returns the angle from the lengths of the adjacent and opposite sides.
  • adj_opp_to_hyp() Func Returns the hypotenuse length from the lengths of the adjacent and opposite sides.
  • opp_ang_to_adj() Func Returns the adjacent side length from the length of the opposite side and the angle.
  • opp_ang_to_hyp() Func Returns the hypotenuse length from the length of the opposite side and the angle.
  • hyp_opp_to_adj() Func Returns the adjacent side length from the lengths of the hypotenuse and the opposite side.
  • hyp_opp_to_ang() Func Returns the angle from the lengths of the hypotenuse and the opposite side.

Triangulation

Trigonometry

  • acosh() Func Returns the hyperbolic arc-cosine of the given value.
  • adj_ang_to_hyp() Func Returns the hypotenuse length from the length of the adjacent and the angle.
  • adj_ang_to_opp() Func Returns the opposite side length from the length of the adjacent side and the angle.
  • hyp_adj_to_ang() Func Returns the angle from the lengths of the hypotenuse and the adjacent side.
  • hyp_adj_to_opp() Func Returns the opposite side length from the lengths of the hypotenuse and the adjacent side.
  • adj_opp_to_ang() Func Returns the angle from the lengths of the adjacent and opposite sides.
  • adj_opp_to_hyp() Func Returns the hypotenuse length from the lengths of the adjacent and opposite sides.
  • adj_ang_to_hyp() Func Returns the hypotenuse length from the length of the adjacent and the angle.
  • adj_ang_to_opp() Func Returns the opposite side length from the length of the adjacent side and the angle.
  • hyp_ang_to_adj() Func Returns the adjacent side length from the length of the hypotenuse and the angle.
  • hyp_ang_to_opp() Func Returns the opposite side length from the length of the hypotenuse and the angle.
  • opp_ang_to_adj() Func Returns the adjacent side length from the length of the opposite side and the angle.
  • opp_ang_to_hyp() Func Returns the hypotenuse length from the length of the opposite side and the angle.
  • asinh() Func Returns the hyperbolic arc-sine of the given value.
  • atanh() Func Returns the hyperbolic arc-tangent of the given value.
  • cosh() Func Returns the hyperbolic cosine of the given value.
  • hyp_adj_to_ang() Func Returns the angle from the lengths of the hypotenuse and the adjacent side.
  • hyp_adj_to_opp() Func Returns the opposite side length from the lengths of the hypotenuse and the adjacent side.
  • hyp_ang_to_adj() Func Returns the adjacent side length from the length of the hypotenuse and the angle.
  • hyp_ang_to_opp() Func Returns the opposite side length from the length of the hypotenuse and the angle.
  • hyp_opp_to_adj() Func Returns the adjacent side length from the lengths of the hypotenuse and the opposite side.
  • hyp_opp_to_ang() Func Returns the angle from the lengths of the hypotenuse and the opposite side.
  • law_of_cosines() Func Applies the Law of Cosines for an arbitrary triangle.
  • law_of_sines() Func Applies the Law of Sines for an arbitrary triangle.
  • adj_opp_to_ang() Func Returns the angle from the lengths of the adjacent and opposite sides.
  • adj_opp_to_hyp() Func Returns the hypotenuse length from the lengths of the adjacent and opposite sides.
  • opp_ang_to_adj() Func Returns the adjacent side length from the length of the opposite side and the angle.
  • opp_ang_to_hyp() Func Returns the hypotenuse length from the length of the opposite side and the angle.
  • hyp_opp_to_adj() Func Returns the adjacent side length from the lengths of the hypotenuse and the opposite side.
  • hyp_opp_to_ang() Func Returns the angle from the lengths of the hypotenuse and the opposite side.
  • sinh() Func Returns the hyperbolic sine of the given value.
  • tanh() Func Returns the hyperbolic tangent of the given value.

Trusses

  • cubetruss() Mod Creates a multi-cube straight cubetruss shape. [Geom]
  • cubetruss_clip() Mod Creates a clip for the end of a cubetruss to snap-lock it to another cubetruss. [Geom]
  • cubetruss_corner() Mod Creates a multi-cube corner cubetruss shape. [Geom]
  • cubetruss_dist() Func Returns the length of a cubetruss truss.
  • cubetruss_foot() Mod Creates a foot that can connect two cubetrusses. [Geom]
  • cubetruss_joiner() Mod Creates a joiner that can connect two cubetrusses end-to-end. [Geom]
  • cubetruss_segment() Mod Creates a single cubetruss cube. [Geom]
  • cubetruss_support() Mod Creates a cubetruss support structure shape. [Geom]
  • cubetruss_uclip() Mod Creates a joiner that can connect two cubetrusses end-to-end. [Geom]

Type Checking

  • all() Func Returns true if all items in the argument list are true.
  • all_integer() Func Returns true if all of the numbers in the argument are integers.
  • any() Func Returns true if any item in the argument list is true.
  • is_bezier_patch() Func Returns true if the given item is a bezier patch.
  • is_consistent() Func Returns true if the argument is a list with consistent structure and finite numerical data.
  • is_def() Func Returns true if x is not undef.
  • is_finite() Func Returns true if the argument is a finite number.
  • is_func() Func Returns true if the argument is a function literal.
  • is_homogeneous() Func Returns true if all members of a list are of the same type.
  • is_homogeneous() Func Returns true if all members of a list are of the same type.
  • is_int() Func Returns true if the argument is an integer.
  • is_int() Func Returns true if the argument is an integer.
  • is_nan() Func Return true if the argument is "not a number".
  • is_nurbs_patch() Func Returns true if the given item looks like a NURBS patch.
  • is_range() Func Returns true if the argument is a range.
  • is_str() Func Returns true if the argument is a string.
  • is_type() Func Returns true if the type of 'x' is one of those in the list types.
  • same_shape() Func Returns true if the argument lists are numeric and of the same shape.
  • typeof() Func Returns a string representing the type of the value.
  • valid_range() Func Returns true if the argument is a valid range.

Type Conversion

  • list() Func Expands a range into a full list.

Type Queries

  • f_is_bool() Func Returns a function to determine if a value is a boolean.
  • f_is_def() Func Returns a function to determine if a value is not undef.
  • f_is_finite() Func Returns a function to determine if a value is a number type that is finite.
  • f_is_function() Func Returns a function to determine if a value is a function literal.
  • f_is_int() Func Returns a function to determine if a value is an integer number.
  • f_is_list() Func Returns a function to determine if a value is a list.
  • f_is_nan() Func Returns a function to determine if a value is a number type that is Not a Number (NaN).
  • f_is_num() Func Returns a function to determine if a value is a number.
  • f_is_patch() Func Returns a function to determine if a value is a Bezier Patch structure.
  • f_is_path() Func Returns a function to determine if a value is a Path (a list of points).
  • f_is_range() Func Returns a function to determine if a value is a range.
  • f_is_region() Func Returns a function to determine if a value is a Region (a list of Paths).
  • f_is_string() Func Returns a function to determine if a value is a string.
  • f_is_undef() Func Returns a function to determine if a value is undef.
  • f_is_vector() Func Returns a function to determine if a value is a list of numbers.
  • f_is_vnf() Func Returns a function to determine if a value is a VNF structure.

Undef Handling

  • all_defined() Func Returns true if all items in the given array are defined.
  • any_defined() Func Returns true if any item in the argument list is not undef.
  • default() Func Returns a default value if the argument is 'undef', else returns the argument.
  • first_defined() Func Returns the first value in the argument list that is not 'undef'.
  • num_defined() Func Returns the number of defined values in the the argument list.
  • one_defined() Func Returns the defined value in the argument list if only a single value is defined.
  • u_add() Func Returns the sum of 2 numbers if both are defined, otherwise returns undef.
  • u_div() Func Returns the quotient of 2 numbers if both are defined, otherwise returns undef.
  • u_mul() Func Returns the product of 2 numbers if both are defined, otherwise returns undef.
  • u_sub() Func Returns the difference of 2 numbers if both are defined, otherwise returns undef.

VNF Generators

  • cube() Func/Mod Creates a cube with anchors for attaching children. [Geom] [VNF] [Ext]
  • cuboid() Mod Creates a cube with chamfering and roundovers. [Geom]
  • cylinder() Func/Mod Creates an attachable cylinder. [Geom] [VNF] [Ext]
  • octahedron() Func/Mod Creates an octahedron with axis-aligned points. [Geom] [VNF]
  • onion() Func/Mod Creates an attachable onion-like shape. [Geom] [VNF]
  • pie_slice() Func/Mod Creates a pie slice shape. [Geom] [VNF]
  • prismoid() Func/Mod Creates a rectangular prismoid shape with optional roundovers and chamfering. [Geom] [VNF]
  • rect_tube() Mod Creates a rectangular tube. [Geom]
  • sphere() Func/Mod Creates an attachable spherical object. [Geom] [VNF] [Ext]
  • spheroid() Func/Mod Creates an attachable spherical object with controllable triangulation. [Geom] [VNF]
  • teardrop() Func/Mod Creates a teardrop shape. [Geom] [VNF]
  • torus() Func/Mod Creates an attachable torus. [Geom] [VNF]
  • tube() Mod Creates a cylindrical or conical tube. [Geom]
  • vnf_from_polygons() Func Returns a VNF from a list of 3D polygons. [VNF]
  • vnf_from_region() Func Returns a 3D VNF given a 2D region. [VNF]
  • vnf_join() Func Returns a single VNF structure from a list of VNF structures. [VNF]
  • vnf_tri_array() Func Returns a VNF from an array of points. The array need not be rectangular. [VNF]
  • vnf_vertex_array() Func Returns a VNF structure from a rectangular vertex list. [VNF]
  • wedge() Func/Mod Creates a 3d triangular wedge. [Geom] [VNF]

VNF Manipulation

  • is_vnf() Func Returns true given a VNF-like structure.
  • is_vnf_list() Func Returns true given a list of VNF-like structures.
  • projection() Func Returns projection or intersection of vnf with XY plane [VNF]
  • vnf_area() Func Returns the surface area of a VNF.
  • vnf_bend() Func Bends a VNF around an axis. [VNF]
  • vnf_boundary() Func Returns the boundary of a VNF as an list of paths [VNF]
  • vnf_drop_unused_points() Func Removes unreferenced vertices from a VNF. [VNF]
  • vnf_faces() Func Returns the list of faces from a VNF.
  • vnf_halfspace() Func Returns the intersection of the vnf with a half space. [VNF]
  • vnf_merge_points() Func Consolidates duplicate vertices of a VNF. [VNF]
  • vnf_polyhedron() Mod Returns a polyhedron from a VNF or list of VNFs. [Geom]
  • vnf_quantize() Func Quantizes the vertex coordinates of a VNF. [VNF]
  • vnf_reverse_faces() Func Reverses the faces of a VNF. [VNF]
  • vnf_sheet() Func Extends a VNF into a thin sheet by extruding normal to the VNF [VNF]
  • vnf_slice() Func Slice the faces of a VNF along an axis. [VNF]
  • vnf_small_offset() Func Computes an offset surface to a VNF for small offset distances [VNF]
  • vnf_triangulate() Func Triangulates the faces of a VNF. [VNF]
  • vnf_unify_faces() Func Remove triangulation from VNF, returning a copy with full faces [VNF]
  • vnf_validate() Mod Echos non-manifold VNF errors to the console. [VNF]
  • vnf_vertices() Func Returns the list of vertex points from a VNF.
  • vnf_volume() Func Returns the volume of a VNF.
  • vnf_wireframe() Mod Creates a wireframe model from a VNF. [VNF]

Vectors

  • add_scalar() Func Adds a scalar value to every item in a vector.
  • BACK Const The backwards (Y+) direction vector constant [0,1,0].
  • BOTTOM Const The down-wards (Z-) direction vector constant [0,0,-1].
  • BOTTOM Const The down-wards (Z-) direction vector constant [0,0,-1].
  • CENTER Const The center vector constant [0,0,0].
  • CENTER Const The center vector constant [0,0,0].
  • CENTER Const The center vector constant [0,0,0].
  • BOTTOM Const The down-wards (Z-) direction vector constant [0,0,-1].
  • f_cross() Func Returns a function to calculate the norm of a given vector.
  • f_norm() Func Returns a function to calculate the norm of a given vector.
  • FRONT Const The front-wards (Y-) direction vector constant [0,-1,0].
  • FRONT Const The front-wards (Y-) direction vector constant [0,-1,0].
  • FRONT Const The front-wards (Y-) direction vector constant [0,-1,0].
  • is_vector() Func Returns true if the given value is a vector.
  • LEFT Const The left-wards (X-) direction vector constant [-1,0,0].
  • RIGHT Const The right-wards (X+) direction vector constant [1,0,0].
  • TOP Const The top-wards (Z+) direction vector constant [0,0,1].
  • unit() Func Returns the unit length of a given vector.
  • TOP Const The top-wards (Z+) direction vector constant [0,0,1].
  • v_abs() Func Returns the absolute values of the given vector.
  • v_ceil() Func Returns the values of the given vector, rounded up.
  • v_div() Func Returns the element-wise division of two equal-length vectors.
  • v_floor() Func Returns the values of the given vector, rounded down.
  • v_lookup() Func Like lookup(), but it can interpolate between vector results.
  • v_mul() Func Returns the element-wise multiplication of two equal-length vectors.
  • v_theta() Func Returns the angle counter-clockwise from X+ on the XY plane.
  • vector_angle() Func Returns the minor angle between two vectors.
  • vector_axis() Func Returns the perpendicular axis between two vectors.
  • vector_bisect() Func Returns the vector that bisects two vectors.
  • vector_perp() Func Returns component of a vector perpendicular to a second vector

Versioning

Walls

Wiring

  • wire_bundle() Mod Creates a wire bundle for a given number of wires. [Geom]