Table of Contents
- Topic Index
- Affine
- Angle
- Area
- Argument Handling
- Arrays
- Attachable
- Attachment
- Attachments
- Bearings
- Bezier Curves
- Bezier Patches
- Bezier Paths
- Boolean Operations
- Boolean Testing
- Bottles
- Bounding Boxes
- Bounds
- Calculus
- Centroid
- Chamfers
- Circles
- Clockwise
- Closest
- Collinearity
- Collision
- Colors
- Colorspace
- Comparators
- Comparison
- Comparisons
- Complex Numbers
- Constants
- Convexity
- Coordinates
- Copiers
- Coplanarity
- CubeTruss
- Cylinders
- Data Structures
- Debugging
- Descriptions
- Dictionaries
- Distance
- Distributors
- Drawing Tools
- Error Checking
- Extrusion
- Extrusions
- FDM Optimized
- Filters
- Function Literals
- Gears
- Geometry
- Hashing
- Heightfield
- Hinges
- Hulling
- Indexing
- Interpolation
- Intersection
- Iteration
- Joiners
- Knurling
- Linear Algebra
- Lines
- List Handling
- Lists
- Logic
- Looping
- Masking
- Masks
- Masks (2D)
- Math
- Math Operators
- Matrices
- Mini-Language
- Mirroring
- Miscellaneous
- Modifiers
- Modular Hose
- Motors
- NURBS
- NURBS Curves
- NURBS Patches
- Offsets
- Partitions
- Parts
- Path Generators
- Path Generators (2D)
- Path Generators (3D)
- Path Subdivision
- Paths
- Paths (2D)
- Paths (3D)
- Planes
- Points
- Polygon
- Polygons
- Polyhedra
- Projection
- Quantization
- Random
- Reflection
- Regions
- Revolution
- Rotation
- Rounding
- 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
- Tangents
- Test
- Testing
- Text
- Textures
- Threading
- Transformations
- Transforms
- Translation
- Triangles
- Triangulation
- Trigonometry
- Trusses
- Type Checking
- Type Conversion
- Type Queries
- Undef Handling
- VNF Generators
- VNF Manipulation
- Vectors
- Versioning
- Walls
- Wiring
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Topic Index
An index of topics, with related functions, modules, and constants.
A: Affine, Angle, Area, Argument Handling, Arrays, Attachable, Attachment, Attachments
B: Bearings, Bezier Curves, Bezier Patches, Bezier Paths, Boolean Operations, Boolean Testing, Bottles, Bounding Boxes, Bounds
C: Calculus, Centroid, Chamfers, Circles, Clockwise, Closest, Collinearity, Collision, Colors, Colorspace, Comparators, Comparison, Comparisons, Complex Numbers, Constants, Convexity, Coordinates, Copiers, Coplanarity, CubeTruss, Cylinders
D: Data Structures, Debugging, Descriptions, Dictionaries, Distance, Distributors, Drawing Tools
E: Error Checking, Extrusion, Extrusions
F: FDM Optimized, Filters, Function Literals
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
V: VNF Generators, VNF Manipulation, Vectors, Versioning
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
plane_line_angle()
Func – Returns the angle between a plane and a 3d line.
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 fromanchor
andcenter
.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 matrixsubmatrix_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
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 levelhighlight()
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 parentposition()
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 objecttag_conv_hull()
Mod – Performs aconv_hull()
and then sets a tag on the result.tag_diff()
Mod – Performs adiff()
and then sets a tag on the result.tag_intersect()
Mod – Performs anintersect()
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_patch_flat()
Func – Creates a flat bezier patch.bezier_patch_normals()
Func – Computes surface normals for one or more places on a bezier surface patch.bezier_patch_points()
Func – Computes one or more specified points across a bezier surface patch.bezier_patch_reverse()
Func – Reverses the orientation of a bezier patch.bezier_sheet()
Func – Creates a thin sheet from a bezier patch by extruding in normal to the patch [VNF]bezier_vnf()
Func – Generates a (probably non-manifold) VNF for one or more bezier surface patches. [VNF]bezier_vnf_degenerate_patch()
Func – Generates a VNF for a degenerate bezier surface patch. [VNF]debug_bezier_patches()
Mod – Shows a bezier surface patch and its associated control points. [Geom]is_bezier_patch()
Func – Returns true if the given item is a bezier patch.
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 botha
andb
are true.f_nand()
Func – Returns a function to check ifa
andb
are not both true.f_nor()
Func – Returns a function to check if neithera
norb
are true.f_not()
Func – Returns a function to check ifa
is not true.f_or()
Func – Returns a function to check if eithera
orb
is true.f_xor()
Func – Returns a function to check if eithera
orb
, 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
bottle_adapter_cap_to_cap()
Mod – Creates a generic adaptor between a cap and a cap. [Geom]bottle_adapter_neck_to_cap()
Mod – Creates a generic adaptor between a neck and a cap. [Geom]bottle_adapter_neck_to_neck()
Mod – Creates a generic adaptor between a neck and a neck. [Geom]generic_bottle_cap()
Mod – Creates a generic cap for a bottle. [Geom]generic_bottle_neck()
Mod – Creates a generic neck for a bottle. [Geom]pco1810_cap()
Mod – Creates a cap for a PCO1810 standard bottle. [Geom]pco1810_neck()
Mod – Creates a neck for a PCO1810 standard bottle. [Geom]pco1881_cap()
Mod – Creates a cap for a PCO1881 standard bottle. [Geom]pco1881_neck()
Mod – Creates a neck for a PCO1881 standard bottle. [Geom]sp_cap()
Mod – Creates an SPI threaded bottle cap. [Geom]sp_diameter()
Func – Returns the base diameter of an SPI bottle neck from the nominal diameter and type number.sp_neck()
Mod – Creates an SPI threaded bottle neck. [Geom]
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
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
ccw_polygon()
Func – Return counter-clockwise version of a polygon.clockwise_polygon()
Func – Return clockwise version of a polygon.is_polygon_clockwise()
Func – Determine if a 2d polygon winds clockwise.reverse_polygon()
Func – Reverse winding direction of polygon.
Closest
vector_nearest()
Func – Finds thek
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.
Collinearity
is_collinear()
Func – Determine if points are collinear.
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 ifa
is approximately equal tob
.f_cmp()
Func – Returns a function to compare values.f_eq()
Func – Returns a function to compare ifa
is exactly equal tob
.f_gt()
Func – Returns a function to compare ifa
is greater thanb
.f_gte()
Func – Returns a function to compare ifa
is greater than or equal tob
.f_lt()
Func – Returns a function to compare ifa
is less thanb
.f_lte()
Func – Returns a function to compare ifa
is less than or equal tob
.f_napprox()
Func – Returns a function to compare ifa
is not approximately equal tob
.f_neq()
Func – Returns a function to compare ifa
is not exactly equal tob
.
Comparison
are_regions_equal()
Func – Returns true if given regions are the same polygons.point_in_region()
Func – Tests if a point is inside, outside, or on the border of a region.
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 constantsEPSILON
Const – A tiny value to compare floating point values.1e-9
FACE()
Func – Named face anchor constantsFRONT
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.6180339887RAY
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
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.is_polygon_convex()
Func – Check if a polygon is convex.
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 forvnf_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 parentrestore()
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
closest_point()
Func – Finds the closest point in a list of points.convex_distance()
Func – Compute distance between convex hull of two point lists.furthest_point()
Func – Finds the furthest point in a list of points.line_closest_point()
Func – Find point on given line, segment or ray that is closest to a given point.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.ruler()
Mod – Creates a ruler. [Geom]segment_distance()
Func – Find smallest distance between two line semgnets.
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 howskin()
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 adda
andb
.f_and()
Func – Returns a function to check if botha
andb
are true.f_approx()
Func – Returns a function to compare ifa
is approximately equal tob
.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 ofy
andx
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 dividea
byb
.f_eq()
Func – Returns a function to compare ifa
is exactly equal tob
.f_even()
Func – Returns a function to check ifa
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 ifa
is greater thanb
.f_gte()
Func – Returns a function to compare ifa
is greater than or equal tob
.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 notundef
.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 isundef
.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 ifa
is less thanb
.f_lte()
Func – Returns a function to compare ifa
is less than or equal tob
.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 ofa
divided byb
.f_mul()
Func – Returns a function to multiplya
byb
.f_nand()
Func – Returns a function to check ifa
andb
are not both true.f_napprox()
Func – Returns a function to compare ifa
is not approximately equal tob
.f_neg()
Func – Returns a function to calculate-a
f_neq()
Func – Returns a function to compare ifa
is not exactly equal tob
.f_nor()
Func – Returns a function to check if neithera
norb
are true.f_norm()
Func – Returns a function to calculate the norm of a given vector.f_not()
Func – Returns a function to check ifa
is not true.f_odd()
Func – Returns a function to check ifa
is an odd number.f_or()
Func – Returns a function to check if eithera
orb
is true.f_ord()
Func – Returns a function to get the ordinal number of a string character.f_pow()
Func – Returns a function to calculatea
to the power ofb
.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 subtracta
fromb
.f_tan()
Func – Returns a function to calculate the tangent of a value.f_xor()
Func – Returns a function to check if eithera
orb
, 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, afterstart
, that a given function returns true for.for_n()
Func – Iteratively calls a work functionn
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 callsfunc(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 acond
function returns true, iteratively calls a work function, returning the final result.xval()
Func – Generates a function with signature(i,x)
that callsfunc(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 gearworm_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
apply_folding_hinges_and_snaps()
Mod – Adds snap shapes and removes living hinges from a child shape. [Geom]knuckle_hinge()
Mod – Creates a knuckle-hinge shape. [Geom]living_hinge_mask()
Mod – Creates a mask to make a folding "living" hinge. [Geom]snap_lock()
Mod – Creates a snap-lock shape. [Geom]snap_socket()
Mod – Creates a snap-lock socket shape. [Geom]
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 exactlyn
values, linearly interpolated betweena
andb
.rot_resample()
Func – Resample a list of rotation operators. [MatList]
Intersection
bezier_line_intersection()
Func – Calculates where a bezier curve intersects a line.circle_line_intersection()
Func – Find the intersection points between a 2d circle and a line, ray or segment.convex_collision()
Func – Check whether the convex hulls of two point lists intersect.plane_intersection()
Func – Returns the intersection of two or three planes.plane_line_intersection()
Func – Returns the intersection of a plane and 3d line, segment or ray.polygon_line_intersection()
Func – Find intersection between 2d or 3d polygon and a line, segment or ray.sphere_line_intersection()
Func – Find intersection between a sphere and line, ray or segment.
Iteration
combinations()
Func – Returns a list of all combinations of the list entries.for_n()
Func – Iteratively calls a work functionn
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 acond
function returns true, iteratively calls a work function, returning the final result.
Joiners
dovetail()
Mod – Creates a possibly tapered dovetail shape. [Geom]half_joiner()
Func/Mod – Creates a half-joiner shape to mate with ahalf_joiner2()
shape.. [Geom] [VNF]half_joiner2()
Func/Mod – Creates a half_joiner2 shape to mate with ahalf_joiner()
shape.. [Geom] [VNF]half_joiner_clear()
Func/Mod – Creates a mask to clear space for ahalf_joiner()
. [Geom] [VNF]joiner()
Mod – Creates a joiner shape that can mate with another rotated joiner shape. [Geom]joiner_clear()
Mod – Creates a mask to clear space for ajoiner()
shape. [Geom]rabbit_clip()
Mod – Creates a rabbit-eared clip that can snap into a slot. [Geom]snap_pin()
Mod – Creates a snap-pin that can slot into asnap_pin_socket()
to join two parts. [Geom]snap_pin_socket()
Mod – Creates a snap-pin socket for asnap_pin()
to slot into. [Geom]
Knurling
cylindrical_heightfield()
Func/Mod – Generates a cylindrical 3d surface from a 2D grid of values. [Geom] [VNF]
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 matrixnull_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 thek
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 botha
andb
are true.f_nand()
Func – Returns a function to check ifa
andb
are not both true.f_nor()
Func – Returns a function to check if neithera
norb
are true.f_not()
Func – Returns a function to check ifa
is not true.f_or()
Func – Returns a function to check if eithera
orb
is true.f_xor()
Func – Returns a function to check if eithera
orb
, 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 functionn
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 acond
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 integern
.binomial_coefficient()
Func – Returns thek
-th binomial coefficient of the integern
.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 betweenminval
andmaxval
, inclusive.convolve()
Func – Returns the convolution ofp
andq
.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 exactlyn
values, linearly interpolated betweena
andb
.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.6180339887poly_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 – Returnsx
quantized to the nearest integer multiple ofy
.quantdn()
Func – Returnsx
quantized down to an integer multiple ofy
.quantup()
Func – Returnsx
quantized uo to an integer multiple ofy
.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 – Likelookup()
, 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 adda
andb
.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 ofy
andx
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 dividea
byb
.f_even()
Func – Returns a function to check ifa
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 ofa
divided byb
.f_mul()
Func – Returns a function to multiplya
byb
.f_neg()
Func – Returns a function to calculate-a
f_odd()
Func – Returns a function to check ifa
is an odd number.f_pow()
Func – Returns a function to calculatea
to the power ofb
.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 subtracta
fromb
.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 sizeis_matrix_symmetric()
Func – Checks if matrix is symmetricis_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 matrixnull_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 matrixsubmatrix_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 matrixup()
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
turtle()
Func – Uses turtle graphics to generate a 2D path. [Path]turtle3d()
Func – Extends turtle graphics to 3d. Generates a 3D path or returns a list of transforms. [MatList] [Path]
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
modular_hose()
Mod – Creates modular hose parts.modular_hose_radius()
Func – Returns the waist radius of the given modular hose size.
Motors
nema_motor_info()
Func – Returns dimension info for a given NEMA motor size.nema_mount_mask()
Mod – Creates a standard NEMA mount holes mask. [Geom]nema_stepper_motor()
Mod – Creates a NEMA standard stepper motor model. [Geom]
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 patchnurbs_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
apply_folding_hinges_and_snaps()
Mod – Adds snap shapes and removes living hinges from a child shape. [Geom]auto_profile_shift()
Func – Returns the recommended profile shift for a gear.ball_bearing()
Mod – Creates a standardized ball bearing assembly. [Geom]ball_bearing_info()
Func – Returns size info for a standardized ball bearing assembly.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]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]diametral_pitch()
Func – Returns tooth density expressed as "diametral pitch".dovetail()
Mod – Creates a possibly tapered dovetail shape. [Geom]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.half_joiner()
Func/Mod – Creates a half-joiner shape to mate with ahalf_joiner2()
shape.. [Geom] [VNF]half_joiner2()
Func/Mod – Creates a half_joiner2 shape to mate with ahalf_joiner()
shape.. [Geom] [VNF]half_joiner_clear()
Func/Mod – Creates a mask to clear space for ahalf_joiner()
. [Geom] [VNF]joiner()
Mod – Creates a joiner shape that can mate with another rotated joiner shape. [Geom]joiner_clear()
Mod – Creates a mask to clear space for ajoiner()
shape. [Geom]knuckle_hinge()
Mod – Creates a knuckle-hinge shape. [Geom]linear_bearing()
Mod – Creates a generic linear bearing cartridge. [Geom]linear_bearing_housing()
Mod – Creates a generic linear bearing mount clamp. [Geom]living_hinge_mask()
Mod – Creates a mask to make a folding "living" hinge. [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.manfrotto_rc2_plate()
Mod – Creates a Manfrotto RC2 tripod quick release mount plate. [Geom]modular_hose()
Mod – Creates modular hose parts.modular_hose_radius()
Func – Returns the waist radius of the given modular hose size.module_value()
Func – Returns tooth density expressed as "module"nema_motor_info()
Func – Returns dimension info for a given NEMA motor size.nema_mount_mask()
Mod – Creates a standard NEMA mount holes mask. [Geom]nema_stepper_motor()
Mod – Creates a NEMA standard stepper motor model. [Geom]outer_radius()
Func – Returns the outer radius for a gear.pitch_radius()
Func – Returns the pitch radius for a gear.rabbit_clip()
Mod – Creates a rabbit-eared clip that can snap into a slot. [Geom]rack()
Func/Mod – Creates a straight or helical gear rack. [Geom] [VNF]rack2d()
Func/Mod – Creates a 2D gear rack. [Geom] [Path]rail()
Mod – Creates a V-groove rail. [Geom]regular_polyhedron()
Mod – Creates a regular polyhedron with optional rounding. [Geom]regular_polyhedron_info()
Func – Returns info used to create a regular polyhedron.ring_gear()
Mod – Creates a 3D ring gear. [Geom]ring_gear2d()
Mod – Creates a 2D ring gear. [Geom]slider()
Mod – Creates a V-groove slider. [Geom]snap_lock()
Mod – Creates a snap-lock shape. [Geom]snap_pin()
Mod – Creates a snap-pin that can slot into asnap_pin_socket()
to join two parts. [Geom]snap_pin_socket()
Mod – Creates a snap-pin socket for asnap_pin()
to slot into. [Geom]snap_socket()
Mod – Creates a snap-lock socket shape. [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 gearworm_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.
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)
turtle3d()
Func – Extends turtle graphics to 3d. Generates a 3D path or returns a list of transforms. [MatList] [Path]
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 howskin()
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
are_points_on_plane()
Func – Determine if all of the listed points are on a plane.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_plane_distance()
Func – Determine distance between a point and plane.
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 thek
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
random_polygon()
Func – Returns the CCW path of a simple random 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
debug_vnf()
Mod – A replacement forvnf_polyhedron()
to help with debugging. [VNF]regular_polyhedron()
Mod – Creates a regular polyhedron with optional rounding. [Geom]regular_polyhedron_info()
Func – Returns info used to create a regular polyhedron.
Projection
plane_closest_point()
Func – Returns the orthogonal projection of points onto a plane.
Quantization
quant()
Func – Returnsx
quantized to the nearest integer multiple ofy
.quantdn()
Func – Returnsx
quantized down to an integer multiple ofy
.quantup()
Func – Returnsx
quantized uo to an integer multiple ofy
.
Random
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.rand_int()
Func – Returns a random integer.random_points()
Func – Returns a list of random points.random_polygon()
Func – Returns the CCW path of a simple random polygon.spherical_random_points()
Func – Returns a list of random points on the surface of a sphere.
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
acme_threaded_nut()
Mod – Creates an ACME threaded nut. [Geom]acme_threaded_rod()
Mod – Creates an ACME threaded rod. [Geom]ball_screw_rod()
Mod – Creates a ball screw rod. [Geom]buttress_threaded_nut()
Mod – Creates a buttress-threaded nut. [Geom]buttress_threaded_rod()
Mod – Creates a buttress-threaded rod. [Geom]generic_threaded_nut()
Mod – Creates a generic threaded nut. [Geom]generic_threaded_rod()
Mod – Creates a generic threaded rod. [Geom]hex_drive_mask()
Mod – Creates a mask for a hex drive recess. [Geom]npt_threaded_rod()
Mod – Creates NPT pipe threading. [Geom]nut()
Mod – Creates a standard nut. [Geom]nut_info()
Func – Returns the dimensions and other info for the given nut.nut_trap_inline()
Mod – Creates an inline nut trap mask. [Geom]nut_trap_side()
Mod – Creates a side nut trap mask. [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]screw()
Mod – Creates a standard screw with optional tolerances. [Geom]screw_head()
Mod – Creates a screw head. [Geom]screw_hole()
Mod – Creates a screw hole. [Geom]screw_info()
Func – Returns the dimensions and other info for the given screw.shoulder_screw()
Mod – Creates a shoulder screw. [Geom]square_threaded_nut()
Mod – Creates a square-threaded nut. [Geom]square_threaded_rod()
Mod – Creates a square-threaded rod. [Geom]thread_helix()
Mod – Creates a thread helix to add to a cylinder. [Geom]thread_specification()
Func – Returns the thread geometry for a given screw.threaded_nut()
Mod – Creates an UTS/ISO triangular threaded nut. [Geom]threaded_rod()
Mod – Creates an UTS/ISO triangular threaded rod. [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]trapezoidal_threaded_nut()
Mod – Creates a trapezoidal threaded nut. [Geom]trapezoidal_threaded_rod()
Mod – Creates a trapezoidal threaded rod. [Geom]
Search
vector_nearest()
Func – Finds thek
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.
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, afterstart
, that a given function returns true for.
Segments
is_point_on_line()
Func – Determine if a point is on a line, ray or segment.segment_distance()
Func – Find smallest distance between two line semgnets.
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
regular_polyhedron()
Mod – Creates a regular polyhedron with optional rounding. [Geom]regular_polyhedron_info()
Func – Returns info used to create a regular polyhedron.
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
associate_vertices()
Func – Create vertex association to control howskin()
links vertices. [PathList]
Sliders
Slop
get_slop()
Func – Returns the $slop value.
Spheres
sphere_line_intersection()
Func – Find intersection between a sphere and line, ray or segment.
Spiral
spiral_sweep()
Func/Mod – Sweep a path along a helix. [VNF] [Geom]
Statistics
convolve()
Func – Returns the convolution ofp
andq
.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 stringpattern
matches the stringstr
.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
circle_2tangents()
Func – Given two 2d or 3d rays, find a circle tangent to both.circle_circle_tangents()
Func – Find tangents to a pair of circles in 2d.circle_point_tangents()
Func – Given a circle and point, find tangents to circle passing through the point.
Test
is_polygon_convex()
Func – Check if a polygon is convex.
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
acme_threaded_nut()
Mod – Creates an ACME threaded nut. [Geom]acme_threaded_rod()
Mod – Creates an ACME threaded rod. [Geom]ball_screw_rod()
Mod – Creates a ball screw rod. [Geom]bottle_adapter_cap_to_cap()
Mod – Creates a generic adaptor between a cap and a cap. [Geom]bottle_adapter_neck_to_cap()
Mod – Creates a generic adaptor between a neck and a cap. [Geom]bottle_adapter_neck_to_neck()
Mod – Creates a generic adaptor between a neck and a neck. [Geom]buttress_threaded_nut()
Mod – Creates a buttress-threaded nut. [Geom]buttress_threaded_rod()
Mod – Creates a buttress-threaded rod. [Geom]generic_bottle_cap()
Mod – Creates a generic cap for a bottle. [Geom]generic_bottle_neck()
Mod – Creates a generic neck for a bottle. [Geom]generic_threaded_nut()
Mod – Creates a generic threaded nut. [Geom]generic_threaded_rod()
Mod – Creates a generic threaded rod. [Geom]npt_threaded_rod()
Mod – Creates NPT pipe threading. [Geom]nut()
Mod – Creates a standard nut. [Geom]nut_info()
Func – Returns the dimensions and other info for the given nut.nut_trap_inline()
Mod – Creates an inline nut trap mask. [Geom]nut_trap_side()
Mod – Creates a side nut trap mask. [Geom]pco1810_cap()
Mod – Creates a cap for a PCO1810 standard bottle. [Geom]pco1810_neck()
Mod – Creates a neck for a PCO1810 standard bottle. [Geom]pco1881_cap()
Mod – Creates a cap for a PCO1881 standard bottle. [Geom]pco1881_neck()
Mod – Creates a neck for a PCO1881 standard bottle. [Geom]screw()
Mod – Creates a standard screw with optional tolerances. [Geom]screw_head()
Mod – Creates a screw head. [Geom]screw_hole()
Mod – Creates a screw hole. [Geom]screw_info()
Func – Returns the dimensions and other info for the given screw.shoulder_screw()
Mod – Creates a shoulder screw. [Geom]sp_cap()
Mod – Creates an SPI threaded bottle cap. [Geom]sp_diameter()
Func – Returns the base diameter of an SPI bottle neck from the nominal diameter and type number.sp_neck()
Mod – Creates an SPI threaded bottle neck. [Geom]square_threaded_nut()
Mod – Creates a square-threaded nut. [Geom]square_threaded_rod()
Mod – Creates a square-threaded rod. [Geom]thread_helix()
Mod – Creates a thread helix to add to a cylinder. [Geom]thread_specification()
Func – Returns the thread geometry for a given screw.threaded_nut()
Mod – Creates an UTS/ISO triangular threaded nut. [Geom]threaded_rod()
Mod – Creates an UTS/ISO triangular threaded rod. [Geom]trapezoidal_threaded_nut()
Mod – Creates a trapezoidal threaded nut. [Geom]trapezoidal_threaded_rod()
Mod – Creates a trapezoidal threaded rod. [Geom]
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 parentrestore()
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
polygon_triangulate()
Func – Divide a polygon into triangles.
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 ifx
is notundef
.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 listtypes
.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 notundef
.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 isundef
.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 notundef
.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 – Likelookup()
, 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
bosl_required()
Mod – Asserts that the current version of the library is at least the given version.bosl_version()
Func – Returns the BOSL2 version as a list.bosl_version_num()
Func – Returns the BOSL2 version as a float.bosl_version_str()
Func – Returns the BOSL2 version as a string.version_cmp()
Func – Compares two versions.version_to_list()
Func – Splits a version into a list of integer version parts.version_to_num()
Func – Coerces a version into a standard version float.version_to_str()
Func – Coerces a version into a standard version string.
Walls
corrugated_wall()
Mod – Makes a corrugated rectangular wall. [Geom]hex_panel()
Mod – Create a hexagon braced panel of any shape [Geom]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]thinning_triangle()
Mod – Makes a triangular wall with a thin middle. [Geom]thinning_wall()
Mod – Makes a rectangular wall with a thin middle. [Geom]
Wiring
wire_bundle()
Mod – Creates a wire bundle for a given number of wires. [Geom]
Indices
Table of Contents
Function Index
Topics Index
Cheat Sheet
Tutorials
List of Files:
Basic Modeling:
- constants.scad STD
- transforms.scad STD
- attachments.scad STD
- shapes2d.scad STD
- shapes3d.scad STD
- drawing.scad STD
- masks2d.scad STD
- masks3d.scad STD
- distributors.scad STD
- color.scad STD
- partitions.scad STD
- miscellaneous.scad STD
Advanced Modeling:
- paths.scad STD
- regions.scad STD
- skin.scad STD
- vnf.scad STD
- beziers.scad
- nurbs.scad
- rounding.scad
- turtle3d.scad
Math:
- math.scad STD
- linalg.scad STD
- vectors.scad STD
- coords.scad STD
- geometry.scad STD
- trigonometry.scad STD
Data Management:
- version.scad STD
- comparisons.scad STD
- lists.scad STD
- utility.scad STD
- strings.scad STD
- structs.scad STD
- fnliterals.scad
Threaded Parts:
Parts:
- ball_bearings.scad
- cubetruss.scad
- gears.scad
- hinges.scad
- joiners.scad
- linear_bearings.scad
- modular_hose.scad
- nema_steppers.scad
- polyhedra.scad
- sliders.scad
- tripod_mounts.scad
- walls.scad
- wiring.scad
Footnotes:
STD = Included in std.scad