Skip to content
Revar Desmera edited this page Dec 14, 2024 · 1 revision

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

Search

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]
Clone this wiki locally