-
Notifications
You must be signed in to change notification settings - Fork 115
TOC
Basic Modeling:
- constants.scad (docs) STD Constants provided by the library
- transforms.scad (docs) STD Shortcuts for translation, rotation, etc. Can act on geometry, paths, or can return a matrix.
- attachments.scad (docs) STD Positioning objects on or relative to other objects. Making your own objects support attachment.
- shapes2d.scad (docs) STD Attachable circles, squares, polygons, teardrop. Can make geometry or paths.
- shapes3d.scad (docs) STD Attachable cubes, cylinders, spheres, ruler, and text. Many can produce a VNF.
- drawing.scad (docs) STD Create and draw 2D and 3D paths: arc, helix, turtle graphics
- masks2d.scad (docs) STD 2D masking shapes for edge profiling: including roundover, cove, teardrop, ogee.
- masks3d.scad (docs) STD 3D masks for rounding or chamfering edges and corners.
- distributors.scad (docs) STD Copy or distribute objects onto a line, grid, or path. Mirror shortcuts.
- color.scad (docs) STD HSV and HSL conversion, color multiple objects, change color of objects
- partitions.scad (docs) STD Cut objects with a plane or partition them into interlocking pieces.
- miscellaneous.scad (docs) STD Extrusion, bounding box, chain hull and minkowski-based transforms.
Advanced Modeling:
- paths.scad (docs) STD Operations on paths: length, resampling, tangents, splitting into subpaths
- regions.scad (docs) STD Offsets and Boolean geometry of 2D paths and regions.
- skin.scad (docs) STD Construct 3D shapes from 2D cross sections of the desired shape.
- vnf.scad (docs) STD Vertices 'n' Faces structure. Makes polyhedron() easier to use.
- beziers.scad (docs) Bezier curves and surfaces.
- nurbs.scad (docs) NURBS and B-spline curves and surfaces.
- rounding.scad (docs) Round path corners, rounded prisms, rounded cutouts in tubes, filleted prism joints
- turtle3d.scad (docs) 3D turtle graphics for making paths or lists of transformations.
Math:
- math.scad (docs) STD Math on lists, special functions, quantization, random numbers, calculus, root finding
- linalg.scad (docs) STD Linear Algebra: solve linear systems, construct and modify matrices.
- vectors.scad (docs) STD Vector arithmetic, angle, and searching.
- coords.scad (docs) STD Conversions between coordinate systems.
- geometry.scad (docs) STD Geometrical calculations including intersections of lines, circles and planes, circle from 3 points
- trigonometry.scad (docs) STD Trigonometry shortcuts for when you can't recall the mnemonic SOHCAHTOA.
Data Management:
- version.scad (docs) STD Parse and compare semantic versions.
- comparisons.scad (docs) STD Comparisons and sorting.
- lists.scad (docs) STD List indexing, change list structure, rearrange/modify lists
- utility.scad (docs) STD Type checking, dealing with undefs, processing function args
- strings.scad (docs) STD String manipulation functions.
- structs.scad (docs) STD Structure/Dictionary Manipulation
- fnliterals.scad (docs) Function Literal Algorithms, and factories for generating function literals for builtin functions.
Threaded Parts:
- threading.scad (docs) Various types of threaded rods and nuts.
- screws.scad (docs) ISO (metric) and UTS screws and nuts.
- screw_drive.scad (docs) Masks for Phillips, Torx and square (Robertson) driver holes.
- bottlecaps.scad (docs) Standard bottle caps and necks.
Parts:
- ball_bearings.scad (docs) Models for standard ball bearing cartridges.
- cubetruss.scad (docs) Modular open-framed trusses and joiners.
- gears.scad (docs) Gears, racks, worms, and worm gears.
- hinges.scad (docs) Hinges and snap-locking hinged parts.
- joiners.scad (docs) Joiner shapes for connecting separately printed objects.
- linear_bearings.scad (docs) Mounts for LMxUU style linear bearings.
- modular_hose.scad (docs) Modular flexible hose segments.
- nema_steppers.scad (docs) NEMA motor mounts and stepper motor models.
- polyhedra.scad (docs) Platonic, Archimidean, Catalan, and stellated polyhedra
- sliders.scad (docs) Simple sliders and rails.
- tripod_mounts.scad (docs) Tripod mount plates: RC2
- walls.scad (docs) Walls and structural elements that 3D print without support.
- wiring.scad (docs) Routed bundles of wires.
STD = Included in std.scad
Constants provided by the library
Included in std.scad
-
-
$slop
Const – The slop amount to make printed items fit closely.0.0
by default. -
get_slop()
Func – Returns the $slop value. -
INCH
Const – A constant containing the number of millimeters in an inch.25.4
-
IDENT
Const – A constant containing the 3D identity transformation matrix. [Mat]
-
-
-
LEFT
Const – The left-wards (X-) direction vector constant[-1,0,0]
. -
RIGHT
Const – The right-wards (X+) direction vector constant[1,0,0]
. -
FRONT
Const – The front-wards (Y-) direction vector constant[0,-1,0]
. -
BACK
Const – The backwards (Y+) direction vector constant[0,1,0]
. -
BOTTOM
Const – The down-wards (Z-) direction vector constant[0,0,-1]
. -
TOP
Const – The top-wards (Z+) direction vector constant[0,0,1]
. -
CENTER
Const – The center vector constant[0,0,0]
. -
EDGE()
Func – Named edge anchor constants -
FACE()
Func – Named face anchor constants
-
-
-
SEGMENT
Const – A constant for specifying a line segment in various geometry.scad functions.[true,true]
-
RAY
Const – A constant for specifying a ray line in various geometry.scad functions.[true,false]
-
LINE
Const – A constant for specifying an unbounded line in various geometry.scad functions.[false,false]
-
Shortcuts for translation, rotation, etc. Can act on geometry, paths, or can return a matrix.
Included in std.scad
-
-
move()
Func/Mod – Translates children in an arbitrary direction. [Trans] [Path] [VNF] [Mat] -
left()
Func/Mod – Translates children leftwards (X-). [Trans] [Path] [VNF] [Mat] -
right()
Func/Mod – Translates children rightwards (X+). [Trans] [Path] [VNF] [Mat] -
fwd()
Func/Mod – Translates children forwards (Y-). [Trans] [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] -
up()
Func/Mod – Translates children upwards (Z+). [Trans] [Path] [VNF] [Mat]
-
-
-
rot()
Func/Mod – Rotates children in various ways. [Trans] [Path] [VNF] [Mat] -
xrot()
Func/Mod – Rotates children around the X axis using the right-hand rule. [Trans] [Path] [VNF] [Mat] -
yrot()
Func/Mod – Rotates children around the Y axis using the right-hand rule. [Trans] [Path] [VNF] [Mat] -
zrot()
Func/Mod – Rotates children around the Z axis using the right-hand rule. [Trans] [Path] [VNF] [Mat] -
tilt()
Func/Mod – Tilts children towards a direction [Trans] [Path] [VNF] [Mat]
-
-
-
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]
-
-
-
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]
-
-
-
frame_map()
Func/Mod – Rotates and possibly skews children from one frame of reference to another. [Trans] [Path] [VNF] [Mat] -
skew()
Func/Mod – Skews children along various axes. [Trans] [Path] [VNF] [Mat]
-
-
Applying transformation matrices to data
-
apply()
Func – Applies a transformation matrix to a point, list of points, array of points, or a VNF. [Path] [VNF] [Mat]
-
Positioning objects on or relative to other objects. Making your own objects support attachment.
Included in std.scad
-
-
position()
Mod – Attaches children to a parent object at an anchor point. [Trans] -
orient()
Mod – Orients children's tops in the directon of the specified anchor. [Trans] -
align()
Mod – Position children with alignment to parent edges. [Trans] -
attach()
Mod – Attaches children to a parent object at an anchor point and with anchor orientation. [Trans]
-
-
-
tag()
Mod – Assigns a tag to an object -
tag_this()
Mod – Assigns a tag to an object at the current level only. -
force_tag()
Mod – Assigns a tag to a non-attachable object. -
default_tag()
Mod – Sets a default tag for all children. -
tag_scope()
Mod – Creates a new tag scope.
-
-
-
diff()
Mod – Performs a differencing operation using tags rather than hierarchy to control what happens. -
tag_diff()
Mod – Performs adiff()
and then sets a tag on the result. -
intersect()
Mod – Perform an intersection operation on children using tags rather than hierarchy to control what happens. -
tag_intersect()
Mod – Performs anintersect()
and then tags the result. -
conv_hull()
Mod – Performs a hull operation on the children using tags to determine what happens. -
tag_conv_hull()
Mod – Performs aconv_hull()
and then sets a tag on the result. -
hide()
Mod – Hides attachable children with the given tags. -
hide_this()
Mod – Hides attachable children at the current level -
show_only()
Mod – Show only the children with the listed tags. -
show_all()
Mod – Shows all children and clears tags. -
show_int()
Mod – Shows children with the listed tags which were already shown in the parent context.
-
-
-
face_mask()
Mod – Ataches a 3d mask shape to the given faces of the parent. [Trans] -
edge_mask()
Mod – Attaches a 3D mask shape to the given edges of the parent. [Trans] -
corner_mask()
Mod – Attaches a 3d mask shape to the given corners 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] -
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] -
corner_profile()
Mod – Rotationally extrudes a 2d edge profile into corner mask on the given corners of the parent. [Geom]
-
-
Making your objects attachable
-
attachable()
Mod – Manages the anchoring, spin, orientation, and attachments for an object. -
reorient()
Func – Calculates the transformation matrix needed to reorient an object. [Trans] [Path] [VNF] -
named_anchor()
Func – Creates an anchor data structure. -
attach_geom()
Func – Returns the internal geometry description of an attachable object.
-
-
-
show_anchors()
Mod – Shows anchors for the parent object. [Geom] -
anchor_arrow()
Mod – Shows a 3d anchor orientation arrow. [Geom] -
anchor_arrow2d()
Mod – Shows a 2d anchor orientation arrow. [Geom] -
expose_anchors()
Mod – Used to show a transparent object with solid color anchor arrows. -
show_transform_list()
Mod – Shows a list of transforms and how they connect. [Geom] -
generic_airplane()
Mod – Shows a generic airplane shape, useful for viewing orientations. [Geom] -
frame_ref()
Mod – Shows axis orientation arrows. [Geom]
-
Attachable circles, squares, polygons, teardrop. Can make geometry or paths.
Included in std.scad
-
-
square()
Func/Mod – Creates a 2D square or rectangle. [Geom] [Path] [Ext] -
rect()
Func/Mod – Creates a 2d rectangle with optional corner rounding. [Geom] [Path] -
circle()
Func/Mod – Creates the approximation of a circle. [Geom] [Path] [Ext] -
ellipse()
Func/Mod – Creates the approximation of an ellipse or a circle. [Geom] [Path]
-
-
-
regular_ngon()
Func/Mod – Creates a regular N-sided polygon. [Geom] [Path] -
pentagon()
Func/Mod – Creates a regular pentagon. [Geom] [Path] -
hexagon()
Func/Mod – Creates a regular hexagon. [Geom] [Path] -
octagon()
Func/Mod – Creates a regular octagon. [Geom] [Path] -
right_triangle()
Func/Mod – Creates a right triangle. [Geom] [Path] -
trapezoid()
Func/Mod – Creates a trapezoid with parallel top and bottom sides. [Geom] [Path] -
star()
Func/Mod – Creates a star-shaped polygon or returns a star-shaped region. [Geom] [Path] -
jittered_poly()
Mod – Creates a polygon with extra points for smoother twisted extrusions. [Geom]
-
-
-
teardrop2d()
Func/Mod – Creates a 2D teardrop shape. [Geom] [Path] -
egg()
Func/Mod – Creates an egg-shaped 2d object. [Geom] [Path] -
ring()
Func/Mod – Draws a 2D ring or partial ring or returns a region or path [Geom] [Region] [Path] -
glued_circles()
Func/Mod – Creates a shape of two circles joined by a curved waist. [Geom] [Path] -
keyhole()
Func/Mod – Creates a 2D keyhole shape. [Geom] [Path] -
supershape()
Func/Mod – Creates a 2D Superformula shape. [Geom] [Path] -
reuleaux_polygon()
Func/Mod – Creates a constant-width shape that is not circular. [Geom] [Path]
-
-
-
text()
Mod – Creates an attachable block of text. [Geom]
-
Attachable cubes, cylinders, spheres, ruler, and text. Many can produce a VNF.
Included in std.scad
-
Cuboids, Prismoids and Pyramids
-
cube()
Func/Mod – Creates a cube with anchors for attaching children. [Geom] [VNF] [Ext] -
cuboid()
Mod – Creates a cube with chamfering and roundovers. [Geom] -
prismoid()
Func/Mod – Creates a rectangular prismoid shape with optional roundovers and chamfering. [Geom] [VNF] -
octahedron()
Func/Mod – Creates an octahedron with axis-aligned points. [Geom] [VNF] -
regular_prism()
Func/Mod – Creates a regular prism with roundovers and chamfering [Geom] [VNF] -
rect_tube()
Mod – Creates a rectangular tube. [Geom] -
wedge()
Func/Mod – Creates a 3d triangular wedge. [Geom] [VNF]
-
-
-
cylinder()
Func/Mod – Creates an attachable cylinder. [Geom] [VNF] [Ext] -
cyl()
Func/Mod – Creates an attachable cylinder 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] -
tube()
Mod – Creates a cylindrical or conical tube. [Geom] -
pie_slice()
Func/Mod – Creates a pie slice shape. [Geom] [VNF]
-
-
-
sphere()
Func/Mod – Creates an attachable spherical object. [Geom] [VNF] [Ext] -
spheroid()
Func/Mod – Creates an attachable spherical object with controllable triangulation. [Geom] [VNF] -
torus()
Func/Mod – Creates an attachable torus. [Geom] [VNF] -
teardrop()
Func/Mod – Creates a teardrop shape. [Geom] [VNF] -
onion()
Func/Mod – Creates an attachable onion-like shape. [Geom] [VNF]
-
-
-
text3d()
Mod – Creates an attachable 3d text block. [Geom] -
path_text()
Mod – Creates 2d or 3d text placed along a path. [Geom]
-
-
-
fillet()
Mod – Creates a smooth fillet between two faces. [Geom] [VNF] -
heightfield()
Func/Mod – Generates a 3D surface from a 2D grid of values. [Geom] [VNF] -
cylindrical_heightfield()
Func/Mod – Generates a cylindrical 3d surface from a 2D grid of values. [Geom] [VNF] -
ruler()
Mod – Creates a ruler. [Geom]
-
6. drawing.scad
Create and draw 2D and 3D paths: arc, helix, turtle graphics
Included in std.scad
-
-
stroke()
Mod – Draws a line along a path or region boundry. [Geom] -
dashed_stroke()
Func/Mod – Draws a dashed line along a path or region boundry. [Geom] [PathList]
-
-
-
arc()
Func/Mod – Draws a 2D pie-slice or returns 2D or 3D path forming an arc. [Geom] [Path] -
catenary()
Func – Returns a 2D Catenary chain or arch path. [Path] -
helix()
Func – Creates a 2d spiral or 3d helical path. [Path] -
turtle()
Func – Uses turtle graphics to generate a 2D path. [Path]
-
-
-
debug_polygon()
Mod – Draws an annotated polygon. [Geom]
-
7. masks2d.scad
2D masking shapes for edge profiling: including roundover, cove, teardrop, ogee.
Included in std.scad
-
2D Masking Shapes
-
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] -
mask2d_cove()
Func/Mod – Creates a 2D cove (quarter-round) mask shape. [Geom] [Path] -
mask2d_chamfer()
Func/Mod – Produces a 2D chamfer mask shape. [Geom] [Path] -
mask2d_rabbet()
Func/Mod – Creates a rabbet 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]
-
8. masks3d.scad
3D masks for rounding or chamfering edges and corners.
Included in std.scad
-
-
chamfer_edge_mask()
Mod – Creates a shape to chamfer a 90° edge. [Geom] -
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]
-
-
-
rounding_edge_mask()
Mod – Creates a shape to round a 90° edge. [Geom] -
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_edge_mask()
Mod – Creates a shape to round a 90° edge but limit the angle of overhang. [Geom] -
teardrop_corner_mask()
Mod – Creates a shape to round a 90° corner but limit the angle of overhang. [Geom]
-
Copy or distribute objects onto a line, grid, or path. Mirror shortcuts.
Included in std.scad
-
Translating copies of all the children
-
move_copies()
Func/Mod – Translates copies of all children. [MatList] [Trans] -
xcopies()
Func/Mod – Places copies of children along the X axis. [MatList] [Trans] -
ycopies()
Func/Mod – Places copies of children along the Y axis. [MatList] [Trans] -
zcopies()
Func/Mod – Places copies of children along the Z axis. [MatList] [Trans] -
line_copies()
Func/Mod – Places copies of children along an arbitrary line. [MatList] [Trans] -
grid_copies()
Func/Mod – Places copies of children in an [X,Y] grid. [MatList] [Trans]
-
-
Rotating copies of all children
-
rot_copies()
Func/Mod – Rotates copies of children. [MatList] [Trans] -
xrot_copies()
Func/Mod – Rotates copies of children around the X axis. [MatList] [Trans] -
yrot_copies()
Func/Mod – Rotates copies of children around the Y axis. [MatList] [Trans] -
zrot_copies()
Func/Mod – Rotates copies of children around the Z axis. [MatList] [Trans] -
arc_copies()
Func/Mod – Distributes duplicates of children along an arc. [MatList] [Trans] -
sphere_copies()
Func/Mod – Distributes copies of children over the surface of a sphere. [MatList] [Trans]
-
-
Placing copies of all children on a path
-
path_copies()
Func/Mod – Uniformly distributes copies of children along a path. [MatList] [Trans]
-
-
Making a copy of all children with reflection
-
xflip_copy()
Func/Mod – Makes a copy of children mirrored across the X axis. [MatList] [Trans] -
yflip_copy()
Func/Mod – Makes a copy of children mirrored across the Y axis. [MatList] [Trans] -
zflip_copy()
Func/Mod – Makes a copy of children mirrored across the Z axis. [MatList] [Trans] -
mirror_copy()
Func/Mod – Makes a copy of children mirrored across a given plane. [MatList] [Trans]
-
-
Distributing children individually along a line
-
xdistribute()
Mod – Distributes each child, individually, out along the X axis. [Trans] -
ydistribute()
Mod – Distributes each child, individually, out along the Y axis. [Trans] -
zdistribute()
Mod – Distributes each child, individually, out along the Z axis. [Trans] -
distribute()
Mod – Distributes each child, individually, out along an arbitrary line. [Trans]
-
10. color.scad
HSV and HSL conversion, color multiple objects, change color of objects
Included in std.scad
-
-
recolor()
Mod – Sets the color for attachable children and their descendants. [Trans] -
color_this()
Mod – Sets the color for children at the current level only. [Trans] -
rainbow()
Mod – Iterates through a list, displaying children in different colors. [Trans] -
color_overlaps()
Mod – Shows ghostly children, with overlaps highlighted in color. [Trans] -
ghost()
Mod – Sets transparency for attachable children and their descendents. [Trans] -
ghost_this()
Mod – Makes the children at a single level transparent. [Trans]
-
11. partitions.scad
Cut objects with a plane or partition them into interlocking pieces.
Included in std.scad
-
-
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] -
right_half()
Func/Mod – Masks the left half of an object along the Y-Z plane, leaving the right 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] -
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] -
top_half()
Func/Mod – Masks the bottom half of an object along the X-Y plane, leaving the top half. [Geom] [VNF] [Path] [Region]
-
-
Partioning into Interlocking Pieces
-
partition_mask()
Mod – Creates a mask to remove half an object with the remaining half suitable for reassembly. [Geom] -
partition_cut_mask()
Mod – Creates a mask to cut an object into two subparts that can be reassembled. [Geom] -
partition()
Mod – Cuts an object in two with matched joining edges, then separates the parts. [Geom] [VNF] [Path] [Region]
-
Extrusion, bounding box, chain hull and minkowski-based transforms.
Included in std.scad
-
-
extrude_from_to()
Mod – Extrudes 2D children between two points in 3D space. [Geom] -
path_extrude2d()
Mod – Extrudes 2D children along a 2D path. [Geom] -
path_extrude()
Mod – Extrudes 2D children along a 3D path. [Geom] -
cylindrical_extrude()
Mod – Extrudes 2D children outwards around a cylinder. [Geom]
-
-
-
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]
-
-
-
minkowski_difference()
Mod – Removes diff shapes from base shape surface. [Geom] -
offset3d()
Mod – Expands or contracts the surface of a 3D object. [Geom] -
round3d()
Mod – Rounds arbitrary 3d objects. [Geom]
-
13. paths.scad
Operations on paths: length, resampling, tangents, splitting into subpaths
Included in std.scad
-
-
is_path()
Func – Returns True if 'list' is a path. -
is_1region()
Func – Returns true if path is a region with one component. -
force_path()
Func – Checks that path is a region with one component. [Path] -
path_merge_collinear()
Func – Removes unnecessary points from a path. [Path]
-
-
-
path_length()
Func – Returns the path length. -
path_segment_lengths()
Func – Returns a list of the lengths of segments in a path. -
path_length_fractions()
Func – Returns the fractional distance of each point along the length of a path.
-
-
Resampling - changing the number of points in a path
-
subdivide_path()
Func – Subdivides a path to produce a more finely sampled path. [Path] -
resample_path()
Func – Returns an equidistant set of points along a path. [Path]
-
-
-
is_path_simple()
Func – Returns true if a path has no self intersections. -
path_closest_point()
Func – Returns the closest place on a path to a given point. -
path_tangents()
Func – Returns tangent vectors for each point along a path. -
path_normals()
Func – Returns normal vectors for each point along a path. -
path_curvature()
Func – Returns the estimated numerical curvature of the path. -
path_torsion()
Func – Returns the estimated numerical torsion of the path.
-
-
Breaking paths up into subpaths
-
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. -
split_path_at_self_crossings()
Func – Split a 2D path wherever it crosses itself. [PathList] -
polygon_parts()
Func – Parses a self-intersecting polygon into a list of non-intersecting polygons. [PathList]
-
14. regions.scad
Offsets and Boolean geometry of 2D paths and regions.
Included in std.scad
-
-
is_region()
Func – Returns true if the input appears to be a region. -
is_valid_region()
Func – Returns true if the input is a valid region. -
is_region_simple()
Func – Returns true if the input is a region with no corner contact. -
make_region()
Func – Converts lists of intersecting polygons into valid regions. [Region] -
force_region()
Func – Given a polygon returns a region. [Region]
-
-
Turning a region into geometry
-
region()
Mod – Creates the 2D polygons described by the given region or list of polygons. [Geom] -
debug_region()
Mod – Draws an annotated region. [Geom]
-
-
Geometrical calculations with regions
-
point_in_region()
Func – Tests if a point is inside, outside, or on the border of a region. -
region_area()
Func – Computes the area of the specified valid region. -
are_regions_equal()
Func – Returns true if given regions are the same polygons.
-
-
Breaking up regions into subregions
-
split_region_at_region_crossings()
Func – Splits regions where polygons touch and at intersections. -
region_parts()
Func – Splits a region into a list of connected regions. [RegList]
-
-
Offset and 2D Boolean Set Operations
-
offset()
Func – Takes a 2D path, polygon or region and returns a path offset by an amount. [Path] [Region] [Ext] -
union()
Func/Mod – Performs a Boolean union operation. [Geom] [Region] -
difference()
Func/Mod – Performs a Boolean difference operation. [Geom] [Region] -
intersection()
Func/Mod – Performs a Boolean intersection 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]
-
15. skin.scad
Construct 3D shapes from 2D cross sections of the desired shape.
Included in std.scad
-
-
skin()
Func/Mod – Connect a sequence of arbitrary polygons into a 3D object. [VNF] [Geom] -
linear_sweep()
Func/Mod – Create a linear extrusion from a path, with optional texturing. [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] -
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] -
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]
-
-
Functions for resampling and slicing profile lists
-
subdivide_and_slice()
Func – Resample list of paths to have the same point count and interpolate additional paths. [PathList] -
slice_profiles()
Func – Linearly interpolates between path profiles. [PathList] -
rot_resample()
Func – Resample a list of rotation operators. [MatList] -
associate_vertices()
Func – Create vertex association to control howskin()
links vertices. [PathList]
-
-
-
texture()
Func – Produce a standard texture.
16. vnf.scad
Vertices 'n' Faces structure. Makes polyhedron() easier to use.
Included in std.scad
-
Creating Polyhedrons with VNF Structures
-
vnf_vertex_array()
Func – Returns a VNF structure from a rectangular vertex list. [VNF] -
vnf_tri_array()
Func – Returns a VNF from an array of points. [VNF] -
vnf_join()
Func – Returns a single VNF structure from a list of VNF structures. [VNF] -
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]
-
-
-
is_vnf()
Func – Returns true given a VNF-like structure. -
is_vnf_list()
Func – Returns true given a list of VNF-like structures. -
vnf_vertices()
Func – Returns the list of vertex points from a VNF. -
vnf_faces()
Func – Returns the list of faces from a VNF.
-
-
-
vnf_reverse_faces()
Func – Reverses the faces of a VNF. [VNF] -
vnf_quantize()
Func – Quantizes the vertex coordinates of a VNF. [VNF] -
vnf_merge_points()
Func – Consolidates duplicate vertices of a VNF. [VNF] -
vnf_drop_unused_points()
Func – Removes unreferenced vertices from a VNF. [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_slice()
Func – Slice the faces of a VNF along an axis. [VNF]
-
-
-
vnf_polyhedron()
Mod – Returns a polyhedron from a VNF or list of VNFs. [Geom] -
vnf_wireframe()
Mod – Creates a wireframe model from a VNF. [VNF]
-
-
-
vnf_volume()
Func – Returns the volume of a VNF. -
vnf_area()
Func – Returns the surface area of a VNF. -
projection()
Func – Returns projection or intersection of vnf with XY plane [VNF] -
vnf_halfspace()
Func – Returns the intersection of the vnf with a half space. [VNF] -
vnf_bend()
Func – Bends a VNF around an axis. [VNF] -
vnf_hull()
Func/Mod – Compute convex hull of VNF or 3d path -
vnf_boundary()
Func – Returns the boundary of a VNF as an list of paths [VNF] -
vnf_small_offset()
Func – Computes an offset surface to a VNF for small offset distances [VNF] -
vnf_sheet()
Func – Extends a VNF into a thin sheet by extruding normal to the VNF [VNF]
-
-
-
debug_vnf()
Mod – A replacement forvnf_polyhedron()
to help with debugging. [VNF] -
vnf_validate()
Mod – Echos non-manifold VNF errors to the console. [VNF]
-
17. beziers.scad
Bezier curves and surfaces.
-
-
bezier_points()
Func – Computes one or more specified points along a bezier curve. [Path] -
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_tangent()
Func – Calculates unit tangent vectors along the bezier curve at one or more given positions. -
bezier_curvature()
Func – Returns the curvature at one or more given positions along a bezier curve. -
bezier_closest_point()
Func – Finds the closest position on a bezier curve to a given point. -
bezier_length()
Func – Approximate the length of part of a bezier curve. -
bezier_line_intersection()
Func – Calculates where a bezier curve intersects a line.
-
-
-
bezpath_points()
Func – Computes one or more specified points along a bezier path. [Path] -
bezpath_curve()
Func – Converts bezier path into a path of points. [Path] -
bezpath_closest_point()
Func – Finds the closest point on a bezier path to a given point. -
bezpath_length()
Func – Approximate the length of a bezier path. -
path_to_bezpath()
Func – Generates a bezier path that passes through all points in a given linear path. [Path] -
bezpath_close_to_axis()
Func – Closes a 2D bezier path to the specified axis. [Path] -
bezpath_offset()
Func – Forms a closed bezier path loop with a translated and reversed copy of itself. [Path]
-
-
Cubic Bezier Path Construction
-
bez_begin()
Func – Calculates starting bezier path control points. -
bez_tang()
Func – Calculates control points for a smooth bezier path joint. -
bez_joint()
Func – Calculates control points for a disjointed corner bezier path joint. -
bez_end()
Func – Calculates ending bezier path control points.
-
-
-
is_bezier_patch()
Func – Returns true if the given item is a bezier patch. -
bezier_patch_flat()
Func – Creates a flat bezier patch. -
bezier_patch_reverse()
Func – Reverses the orientation of a bezier patch. -
bezier_patch_points()
Func – Computes one or more specified points across a bezier surface patch. -
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] -
bezier_patch_normals()
Func – Computes surface normals for one or more places on a bezier surface patch. -
bezier_sheet()
Func – Creates a thin sheet from a bezier patch by extruding in normal to the patch [VNF]
-
-
-
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]
-
18. nurbs.scad
NURBS and B-spline curves and surfaces.
-
-
nurbs_curve()
Func – Computes one more more points on a NURBS curve. [Path] -
debug_nurbs()
Mod – Shows a NURBS curve and its control points, knots and weights [Geom]
-
-
-
is_nurbs_patch()
Func – Returns true if the given item looks like a NURBS patch. -
nurbs_patch_points()
Func – Computes specifies point(s) on a NURBS surface patch -
nurbs_vnf()
Func – Generates a (possibly non-manifold) VNF for a single NURBS surface patch. [VNF]
-
19. rounding.scad
Round path corners, rounded prisms, rounded cutouts in tubes, filleted prism joints
-
-
round_corners()
Func – Round or chamfer the corners of a path (clipping them off). [Path] -
smooth_path()
Func – Create smoothed path that passes through all the points of a given path. [Path] -
path_join()
Func – Join paths end to end with optional rounding. [Path] -
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] -
convex_offset_extrude()
Mod – Make a solid from geometry where offset changes along the object's length. [Geom] -
rounded_prism()
Func/Mod – Make a rounded 3d object by connecting two polygons with the same vertex count. [Geom] [VNF] -
bent_cutout_mask()
Mod – Create a mask for making a round-edged cutout in a cylindrical shell. [Geom] -
join_prism()
Func/Mod – Join an arbitrary prism to a plane, sphere, cylinder or another arbitrary prism with a fillet. [Geom] [VNF]
-
20. turtle3d.scad
3D turtle graphics for making paths or lists of transformations.
-
Functions
-
turtle3d()
Func – Extends turtle graphics to 3d. Generates a 3D path or returns a list of transforms. [MatList] [Path]
-
21. math.scad
Math on lists, special functions, quantization, random numbers, calculus, root finding
Included in std.scad
-
-
sqr()
Func – Returns the square of the given value. -
log2()
Func – Returns the log base 2 of the given value. -
hypot()
Func – Returns the hypotenuse length of a 2D or 3D triangle. -
factorial()
Func – Returns the factorial of the given integer. -
binomial()
Func – Returns the binomial coefficients of the integern
. -
binomial_coefficient()
Func – Returns thek
-th binomial coefficient of the integern
. -
gcd()
Func – Returns the Greatest Common Divisor/Factor of two integers. -
lcm()
Func – Returns the Least Common Multiple of two or more integers.
-
-
-
sinh()
Func – Returns the hyperbolic sine of the given value. -
cosh()
Func – Returns the hyperbolic cosine of the given value. -
tanh()
Func – Returns the hyperbolic tangent of the given value. -
asinh()
Func – Returns the hyperbolic arc-sine of the given value. -
acosh()
Func – Returns the hyperbolic arc-cosine of the given value. -
atanh()
Func – Returns the hyperbolic arc-tangent of the given value.
-
-
-
constrain()
Func – Returns a value constrained betweenminval
andmaxval
, inclusive. -
posmod()
Func – Returns the positive modulo of a value. -
modang()
Func – Returns an angle normalized to between -180º and 180º.
-
-
Operations on Lists (Sums, Mean, Products)
-
sum()
Func – Returns the sum of a list of values. -
mean()
Func – Returns the mean value of a list of values. -
median()
Func – Returns the median value of a list of values. -
deltas()
Func – Returns the deltas between a list of values. -
cumsum()
Func – Returns the running cumulative sum of a list of values. -
product()
Func – Returns the multiplicative product of a list of values. -
cumprod()
Func – Returns the running cumulative product of a list of values. -
convolve()
Func – Returns the convolution ofp
andq
. -
sum_of_sines()
Func – Returns the sum of one or more sine waves at a given angle.
-
-
-
rand_int()
Func – Returns a random integer. -
random_points()
Func – Returns a list of random points. -
gaussian_rands()
Func – Returns a list of random numbers with a gaussian distribution. -
exponential_rands()
Func – Returns a list of random numbers with an exponential distribution. -
spherical_random_points()
Func – Returns a list of random points on the surface of a sphere. -
random_polygon()
Func – Returns the CCW path of a simple random polygon.
-
-
-
complex()
Func – Replaces scalars in a list or matrix with complex number 2-vectors. -
c_mul()
Func – Multiplies two complex numbers. -
c_div()
Func – Divides two complex numbers. -
c_conj()
Func – Returns the complex conjugate of the input. -
c_real()
Func – Returns the real part of a complex number, vector or matrix.. -
c_imag()
Func – Returns the imaginary part of a complex number, vector or matrix.. -
c_ident()
Func – Returns an n by n complex identity matrix. -
c_norm()
Func – Returns the norm of a complex number or vector.
-
-
-
quadratic_roots()
Func – Computes roots for the quadratic equation. -
polynomial()
Func – Evaluate a polynomial at a real or complex value. -
poly_mult()
Func – Compute product of two polynomials, returning a polynomial. -
poly_div()
Func – Returns the polynomial quotient and remainder results of dividing two polynomials. -
poly_add()
Func – Returns the polynomial sum of adding two polynomials. -
poly_roots()
Func – Returns all complex valued roots of the given real polynomial. -
real_roots()
Func – Returns all real roots of the given real polynomial.
-
-
-
root_find()
Func – Finds a root of the given continuous function.
-
22. linalg.scad
Linear Algebra: solve linear systems, construct and modify matrices.
Included in std.scad
-
-
is_matrix()
Func – Check if input is a numeric matrix, optionally of specified size -
is_matrix_symmetric()
Func – Checks if matrix is symmetric -
is_rotation()
Func – Check if a transformation matrix represents a rotation. -
echo_matrix()
Func/Mod – Print a matrix neatly to the console.
-
-
-
column()
Func – Extract a column from a matrix. -
submatrix()
Func – Extract a submatrix from a matrix
-
-
Matrix construction and modification
-
ident()
Func – Return identity matrix. -
diagonal_matrix()
Func – Make a diagonal matrix. -
transpose()
Func – Transpose a matrix -
outer_product()
Func – Compute the outer product of two vectors. -
submatrix_set()
Func – Takes a matrix as input and change values in a submatrix. -
hstack()
Func – Make a new matrix by stacking matrices horizontally. -
block_matrix()
Func – Make a new matrix from a block of matrices.
-
-
Solving Linear Equations and Matrix Factorizations
-
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. -
rot_inverse()
Func – Invert 2d or 3d rotation transformations. -
null_space()
Func – Return basis for the null space of A. -
qr_factor()
Func – Compute QR factorization of a matrix. -
back_substitute()
Func – Solve an upper triangular system, Rx=b. -
cholesky()
Func – Compute the Cholesky factorization of a matrix.
-
-
Matrix Properties: Determinants, Norm, Trace
-
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. -
norm_fro()
Func – Compute Frobenius norm of a matrix -
matrix_trace()
Func – Compute the trace of a square matrix.
-
23. vectors.scad
Vector arithmetic, angle, and searching.
Included in std.scad
-
-
is_vector()
Func – Returns true if the given value is a vector.
-
-
-
add_scalar()
Func – Adds a scalar value to every item in a vector. -
v_mul()
Func – Returns the element-wise multiplication of two equal-length vectors. -
v_div()
Func – Returns the element-wise division of two equal-length vectors. -
v_abs()
Func – Returns the absolute values of the given vector. -
v_floor()
Func – Returns the values of the given vector, rounded down. -
v_ceil()
Func – Returns the values of the given vector, rounded up. -
v_lookup()
Func – Likelookup()
, but it can interpolate between vector results.
-
-
-
unit()
Func – Returns the unit length of a given vector. -
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.
-
-
-
pointlist_bounds()
Func – Returns the min and max bounding coordinates for the given list of points. -
closest_point()
Func – Finds the closest point in a list of points. -
furthest_point()
Func – Finds the furthest point in a list of points. -
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. -
vector_nearest()
Func – Finds thek
nearest points in a list to a given point.
-
24. coords.scad
Conversions between coordinate systems.
Included in std.scad
-
-
polar_to_xy()
Func – Convert 2D polar coordinates to cartesian coordinates. [Path] -
xy_to_polar()
Func – Convert 2D cartesian coordinates to polar coordinates (radius and angle) -
project_plane()
Func – Project a set of points onto a specified plane, returning 2D points. [Path] -
lift_plane()
Func – Map a list of 2D points onto a plane in 3D. [Path] -
cylindrical_to_xyz()
Func – Convert cylindrical coordinates to cartesian coordinates. [Path] -
xyz_to_cylindrical()
Func – Convert 3D cartesian coordinates to cylindrical coordinates. -
spherical_to_xyz()
Func – Convert spherical coordinates to 3D cartesian coordinates. [Path] -
xyz_to_spherical()
Func – Convert 3D cartesian coordinates to spherical coordinates. -
altaz_to_xyz()
Func – Convert altitude/azimuth/range to 3D cartesian coordinates. [Path] -
xyz_to_altaz()
Func – Convert 3D cartesian coordinates to [altitude,azimuth,range].
-
25. geometry.scad
Geometrical calculations including intersections of lines, circles and planes, circle from 3 points
Included in std.scad
-
-
is_point_on_line()
Func – Determine if a point is on a line, ray or segment. -
is_collinear()
Func – Determine if points are collinear. -
point_line_distance()
Func – Find shortest distance from point to a line, segment or ray. -
segment_distance()
Func – Find smallest distance between two line semgnets. -
line_normal()
Func – Return normal vector to given line. -
line_intersection()
Func – Compute intersection of two lines, segments or rays. -
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.
-
-
-
is_coplanar()
Func – Check if 3d points are coplanar and not collinear. -
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_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_normal()
Func – Returns the normal vector to a plane. -
plane_offset()
Func – Returns the signed offset of the plane from the origin. -
plane_line_intersection()
Func – Returns the intersection of a plane and 3d line, segment or ray. -
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_closest_point()
Func – Returns the orthogonal projection of points onto a plane. -
point_plane_distance()
Func – Determine distance between a point and plane. -
are_points_on_plane()
Func – Determine if all of the listed points are on a plane.
-
-
-
circle_line_intersection()
Func – Find the intersection points between a 2d circle and a line, ray or segment. -
circle_circle_intersection()
Func – Find the intersection points of two 2d 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_point_tangents()
Func – Given a circle and point, find tangents to circle passing through the point. -
circle_circle_tangents()
Func – Find tangents to a pair of circles in 2d.
-
-
-
sphere_line_intersection()
Func – Find intersection between a sphere and line, ray or segment.
-
-
-
polygon_area()
Func – Calculate area of a 2d or 3d polygon. -
centroid()
Func – Compute centroid of a 2d or 3d polygon or a VNF. -
polygon_normal()
Func – Return normal to a polygon. -
point_in_polygon()
Func – Checks if a 2d point is inside or on the boundary of a 2d polygon. -
polygon_line_intersection()
Func – Find intersection between 2d or 3d polygon and a line, segment or ray. -
polygon_triangulate()
Func – Divide a polygon into triangles. -
is_polygon_clockwise()
Func – Determine if a 2d polygon winds clockwise. -
clockwise_polygon()
Func – Return clockwise version of a polygon. -
ccw_polygon()
Func – Return counter-clockwise version of a polygon. -
reverse_polygon()
Func – Reverse winding direction of polygon. -
reindex_polygon()
Func – Adjust point indexing of polygon to minimize pointwise distance to a reference polygon. -
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.
-
-
-
hull()
Func – Convex hull of a list of 2d or 3d points. [Ext] -
hull_points()
Mod – Convex hull of a list of 2d or 3d points. -
hull2d_path()
Func – Convex hull of a list of 2d points. -
hull3d_faces()
Func – Convex hull of a list of 3d points.
-
-
-
is_polygon_convex()
Func – Check if a polygon is convex. -
convex_distance()
Func – Compute distance between convex hull of two point lists. -
convex_collision()
Func – Check whether the convex hulls of two point lists intersect.
-
-
-
rot_decode()
Func – Extract axis and rotation angle from a rotation matrix.
-
Trigonometry shortcuts for when you can't recall the mnemonic SOHCAHTOA.
Included in std.scad
-
-
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.
-
-
-
hyp_opp_to_adj()
Func – Returns the adjacent side length from the lengths of the hypotenuse and the opposite side. -
hyp_ang_to_adj()
Func – Returns the adjacent 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. -
hyp_adj_to_opp()
Func – Returns the opposite side length from the lengths of the hypotenuse and the adjacent side. -
hyp_ang_to_opp()
Func – Returns the opposite side length from the length of the hypotenuse and the angle. -
adj_ang_to_opp()
Func – Returns the opposite side length from the length of the adjacent side and the angle. -
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. -
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_opp_to_ang()
Func – Returns the angle from the lengths of the hypotenuse and the opposite side. -
adj_opp_to_ang()
Func – Returns the angle from the lengths of the adjacent and opposite sides.
-
27. version.scad
Parse and compare semantic versions.
Included in std.scad
-
BOSL Library Version Functions
-
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. -
bosl_required()
Mod – Asserts that the current version of the library is at least the given version.
-
-
-
version_to_list()
Func – Splits a version into a list of integer version parts. -
version_to_str()
Func – Coerces a version into a standard version string. -
version_to_num()
Func – Coerces a version into a standard version float. -
version_cmp()
Func – Compares two versions.
-
28. comparisons.scad
Comparisons and sorting.
Included in std.scad
-
-
approx()
Func – Returns true if two values are equal to within a small epsilon value. -
all_zero()
Func – Returns true if the value(s) given are aproximately 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_negative()
Func – Returns true if the value(s) given are less than zero. -
all_nonpositive()
Func – Returns true if the value(s) given are less than or equal to zero. -
all_nonnegative()
Func – Returns true if the value(s) given are greater than or equal to zero. -
all_equal()
Func – Returns true if all items in a list are approximately equal to each other. -
are_ends_equal()
Func – Returns true if the first and last items in a list are approximately equal. -
is_increasing()
Func – Returns true if every item in a list is greater than the previous item. -
is_decreasing()
Func – Returns true if exery item in a list is less than the previous item. -
compare_vals()
Func – Compares two values, possibly of different type. -
compare_lists()
Func – Compares two lists of values, possibly of different type.
-
-
Finding the index of the minimum or maximum of a list
-
min_index()
Func – Returns the index of the minimal value in the given list. -
max_index()
Func – Returns the index of the minimal value in the given list.
-
-
Dealing with duplicate list entries
-
find_approx()
Func – Finds the indexes of the item(s) in the given list that are aproximately the given value. -
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. -
list_wrap()
Func – Returns a list whose last value is the same as the first. -
list_unwrap()
Func – Removes the last item of a list if its first and last values are equal. -
unique()
Func – Returns a sorted list with all duplicates removed. -
unique_count()
Func – Returns a sorted list of unique items with counts.
-
-
-
sort()
Func – Returns a sorted list. -
sortidx()
Func – Returns a list of sorted indices into a list. -
group_sort()
Func – Returns a sorted list of groups of values. -
group_data()
Func – Groups list data by integer group numbers. -
list_smallest()
Func – Returns thek
smallest values in the list, in arbitrary order.
-
29. lists.scad
List indexing, change list structure, rearrange/modify lists
Included in std.scad
-
-
is_homogeneous()
Func – Returns true if all members of a list are of the same type. -
min_length()
Func – Given a list of sublists, returns the length of the shortest sublist. -
max_length()
Func – Given a list of sublists, returns the length of the longest sublist. -
list_shape()
Func – Returns the dimensions of an array. -
in_list()
Func – Returns true if a value is in a list.
-
-
-
select()
Func – Returns one or more items from a list, with wrapping. -
slice()
Func – Returns part of a list without wrapping. -
last()
Func – Returns the last item of a list. -
list_head()
Func – Returns the elements at the beginning of a list. -
list_tail()
Func – Returns the elements at the end of a list. -
bselect()
Func – Select list items using boolean index list.
-
-
-
repeat()
Func – Returns a list of repeated copies of a value. -
list_bset()
Func – Returns a list where values are spread to locations indicated by a boolean index list. -
list()
Func – Expands a range into a full list. -
force_list()
Func – Coerces non-list values into a list.
-
-
-
reverse()
Func – Reverses the elements of a list. -
list_rotate()
Func – Rotates the ordering of a list. -
shuffle()
Func – Randomizes the order of a list. -
repeat_entries()
Func – Repeats list entries (as uniformly as possible) to make list of specified length. -
list_pad()
Func – Extend list to specified length. -
list_set()
Func – Sets the value of specific list items. -
list_insert()
Func – Inserts values into the middle of a list. -
list_remove()
Func – Removes items by index from a list. -
list_remove_values()
Func – Removes items by value from a list.
-
-
-
idx()
Func – Returns a range useful for iterating over a list.
-
-
-
pair()
Func – Returns a list of overlapping consecutive pairs in a list. -
triplet()
Func – Returns a list of overlapping consecutive triplets in a list. -
combinations()
Func – Returns a list of all combinations of the list entries. -
permutations()
Func – Returns a list of all permutations of the list entries.
-
-
-
list_to_matrix()
Func – Groups items in a list into sublists. -
flatten()
Func – Flattens a list of sublists into a single list. -
full_flatten()
Func – Recursively flattens nested sublists into a single list of non-list values.
-
-
-
set_union()
Func – Merges two lists, returning a list of unique items. -
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.
-
30. utility.scad
Type checking, dealing with undefs, processing function args
Included in std.scad
-
-
typeof()
Func – Returns a string representing the type of the value. -
is_type()
Func – Returns true if the type of 'x' is one of those in the listtypes
. -
is_def()
Func – Returns true ifx
is notundef
. -
is_str()
Func – Returns true if the argument is a string. -
is_int()
Func – Returns true if the argument is an integer. -
all_integer()
Func – Returns true if all of the numbers in the argument are integers. -
is_nan()
Func – Return true if the argument is "not a number". -
is_finite()
Func – Returns true if the argument is a finite number. -
is_range()
Func – Returns true if the argument is a range. -
valid_range()
Func – Returns true if the argument is a valid range. -
is_func()
Func – Returns true if the argument is a function literal. -
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. -
is_bool_list()
Func – Returns true if the argument list contains only booleans.
-
-
-
any()
Func – Returns true if any item in the argument list is true. -
all()
Func – Returns true if all items in the argument list are true. -
num_true()
Func – Returns the number of true entries in the arguemnt list.
-
-
-
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'. -
one_defined()
Func – Returns the defined value in the argument list if only a single value is defined. -
num_defined()
Func – Returns the number of defined values in the the argument list. -
any_defined()
Func – Returns true if any item in the argument list is notundef
. -
all_defined()
Func – Returns true if all items in the given array are defined.
-
-
-
u_add()
Func – Returns the sum 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. -
u_mul()
Func – Returns the product 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.
-
-
Processing Arguments to Functions and Modules
-
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. -
segs()
Func – Returns the number of sides for a circle given$fn
,$fa
, and$fs
. -
no_children()
Mod – Assert that the calling module does not support children. -
req_children()
Mod – Assert that the calling module requires 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. -
deprecate()
Mod – Display a console note that a module is deprecated and suggest a replacement.
-
-
-
assert_approx()
Mod – Assert that a value is approximately what was expected. -
assert_equal()
Mod – Assert that a value is expected. -
shape_compare()
Mod – Compares two child shapes. [Geom]
-
-
-
looping()
Func – Returns true if the argument indicates the current C-style loop should continue. -
loop_while()
Func – Returns true if both arguments indicate the current C-style loop should continue. -
loop_done()
Func – Returns true if the argument indicates the current C-style loop is finishing.
-
31. strings.scad
String manipulation functions.
Included in std.scad
-
-
str_find()
Func – Finds a substring in a string. -
substr_match()
Func – Returns true if the stringpattern
matches the stringstr
. -
starts_with()
Func – Returns true if the string starts with a given substring. -
ends_with()
Func – Returns true if the string ends with a given substring. -
str_split()
Func – Splits a longer string wherever a given substring occurs.
-
-
-
str_join()
Func – Joints a list of strings into a single string. -
str_strip()
Func – Strips given leading and trailing characters from a string. -
str_pad()
Func – Pads a string to a given length. -
str_replace_char()
Func – Replace given chars in a string with another substring. -
downcase()
Func – Lowercases all characters in a string. -
upcase()
Func – Uppercases all characters in a string.
-
-
-
rand_str()
Func – Create a randomized string.
-
-
-
parse_int()
Func – Parse an integer from a string. -
parse_float()
Func – Parse a float from a string. -
parse_frac()
Func – Parse a float from a fraction string. -
parse_num()
Func – Parse a float from a decimal or fraction string.
-
-
Formatting numbers into strings
-
format_int()
Func – Formats an integer into a string, with possible leading zeros. -
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()
Func – Formats multiple values into a string with a given format.
-
-
-
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. -
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.
-
32. structs.scad
Structure/Dictionary Manipulation
Included in std.scad
-
struct operations
-
struct_set()
Func – Sets one or more key-value pairs in a struct. -
struct_remove()
Func – Removes one or more keys from a struct. -
struct_val()
Func – Returns the value for an key in a struct. -
struct_keys()
Func – Returns a list of keys for a struct. -
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.
-
33. fnliterals.scad
Function Literal Algorithms, and factories for generating function literals for builtin functions.
-
-
map()
Func – Applies a function to each item in a list. -
filter()
Func – Returns just the list items which the given function returns true for. -
reduce()
Func – Applies a 2-arg function cumulatively to the items of a list, returning the final result. -
accumulate()
Func – Applies a 2-arg function cumulatively to the items of a list, returning a list of every result. -
while()
Func – While acond
function returns true, iteratively calls a work function, returning the final result. -
for_n()
Func – Iteratively calls a work functionn
times, returning the final result. -
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. -
binsearch()
Func – Does a binary search of a sorted list to find the index of a given value. -
simple_hash()
Func – Returns an integer hash of a given value. -
hashmap()
Func – Creates a hashmap manipulation function.
-
-
-
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. -
ival()
Func – Generates a function with signature(i,x)
that callsfunc(i)
-
xval()
Func – Generates a function with signature(i,x)
that callsfunc(x)
-
-
-
f_cmp()
Func – Returns a function to compare values. -
f_gt()
Func – Returns a function to compare ifa
is greater thanb
. -
f_lt()
Func – Returns a function to compare ifa
is less thanb
. -
f_gte()
Func – Returns a function to compare ifa
is greater than or equal tob
. -
f_lte()
Func – Returns a function to compare ifa
is less than or equal tob
. -
f_eq()
Func – Returns a function to compare ifa
is exactly equal tob
. -
f_neq()
Func – Returns a function to compare ifa
is not exactly equal tob
. -
f_approx()
Func – Returns a function to compare ifa
is approximately equal tob
. -
f_napprox()
Func – Returns a function to compare ifa
is not approximately equal tob
.
-
-
-
f_or()
Func – Returns a function to check if eithera
orb
is true. -
f_and()
Func – Returns a function to check if botha
andb
are true. -
f_nor()
Func – Returns a function to check if neithera
norb
are true. -
f_nand()
Func – Returns a function to check ifa
andb
are not both true. -
f_xor()
Func – Returns a function to check if eithera
orb
, but not both, are true. -
f_not()
Func – Returns a function to check ifa
is not true. -
f_even()
Func – Returns a function to check ifa
is an even number. -
f_odd()
Func – Returns a function to check ifa
is an odd number.
-
-
-
f_add()
Func – Returns a function to adda
andb
. -
f_sub()
Func – Returns a function to subtracta
fromb
. -
f_mul()
Func – Returns a function to multiplya
byb
. -
f_div()
Func – Returns a function to dividea
byb
. -
f_mod()
Func – Returns a function to calculate the modulo ofa
divided byb
. -
f_pow()
Func – Returns a function to calculatea
to the power ofb
. -
f_neg()
Func – Returns a function to calculate-a
-
-
-
f_min()
Func – Returns a function to calculate the minimum value of a list. -
f_max()
Func – Returns a function to calculate the maximum value of a list. -
f_min2()
Func – Returns a function to calculate the minimum of two values. -
f_max2()
Func – Returns a function to calculate the maximum of two values. -
f_min3()
Func – Returns a function to calculate the minimum of three values. -
f_max3()
Func – Returns a function to calculate the maximum of three values.
-
-
-
f_sin()
Func – Returns a function to calculate the sine of a value. -
f_cos()
Func – Returns a function to calculate the cosine of a value. -
f_tan()
Func – Returns a function to calculate the tangent of a value. -
f_asin()
Func – Returns a function to calculate the arcsine of a value. -
f_acos()
Func – Returns a function to calculate the arccosine 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_len()
Func – Returns a function to calculate the length of a string or list. -
f_chr()
Func – Returns a function to get a string character from its ordinal number. -
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. -
f_str3()
Func – Returns a function to concatenate the string representations of three arbitrary values.
-
-
-
f_floor()
Func – Returns a function to calculate the integer floor of a given number. -
f_round()
Func – Returns a function to calculate the integer rounding of a given number. -
f_ceil()
Func – Returns a function to calculate the integer ceiling of a given number. -
f_abs()
Func – Returns a function to calculate the absolute value of a given number. -
f_sign()
Func – Returns a function to calculate the sign 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_exp()
Func – Returns a function to calculate the natural exponent of a given number. -
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_norm()
Func – Returns a function to calculate the norm of a given vector. -
f_cross()
Func – Returns a function to calculate the norm of a given vector.
-
-
-
f_is_def()
Func – Returns a function to determine if a value is notundef
. -
f_is_undef()
Func – Returns a function to determine if a value isundef
. -
f_is_bool()
Func – Returns a function to determine if a value is a boolean. -
f_is_num()
Func – Returns a function to determine if a value is a number. -
f_is_int()
Func – Returns a function to determine if a value is an integer number. -
f_is_nan()
Func – Returns a function to determine if a value is a number type that is Not a Number (NaN). -
f_is_finite()
Func – Returns a function to determine if a value is a number type that is finite. -
f_is_string()
Func – Returns a function to determine if a value is a string. -
f_is_list()
Func – Returns a function to determine if a value is a list. -
f_is_range()
Func – Returns a function to determine if a value is a range. -
f_is_function()
Func – Returns a function to determine if a value is a function literal. -
f_is_vector()
Func – Returns a function to determine if a value is a list of numbers. -
f_is_path()
Func – Returns a function to determine if a value is a Path (a list of points). -
f_is_region()
Func – Returns a function to determine if a value is a Region (a list of Paths). -
f_is_vnf()
Func – Returns a function to determine if a value is a VNF structure. -
f_is_patch()
Func – Returns a function to determine if a value is a Bezier Patch structure.
-
34. threading.scad
Various types of threaded rods and nuts.
-
-
threaded_rod()
Mod – Creates an UTS/ISO triangular threaded rod. [Geom] -
threaded_nut()
Mod – Creates an UTS/ISO triangular threaded nut. [Geom]
-
-
-
trapezoidal_threaded_rod()
Mod – Creates a trapezoidal threaded rod. [Geom] -
trapezoidal_threaded_nut()
Mod – Creates a trapezoidal threaded nut. [Geom] -
acme_threaded_rod()
Mod – Creates an ACME threaded rod. [Geom] -
acme_threaded_nut()
Mod – Creates an ACME threaded nut. [Geom]
-
-
-
npt_threaded_rod()
Mod – Creates NPT pipe threading. [Geom]
-
-
-
buttress_threaded_rod()
Mod – Creates a buttress-threaded rod. [Geom] -
buttress_threaded_nut()
Mod – Creates a buttress-threaded nut. [Geom]
-
-
-
square_threaded_rod()
Mod – Creates a square-threaded rod. [Geom] -
square_threaded_nut()
Mod – Creates a square-threaded nut. [Geom]
-
-
-
ball_screw_rod()
Mod – Creates a ball screw rod. [Geom]
-
-
-
generic_threaded_rod()
Mod – Creates a generic threaded rod. [Geom] -
generic_threaded_nut()
Mod – Creates a generic threaded nut. [Geom] -
thread_helix()
Mod – Creates a thread helix to add to a cylinder. [Geom]
-
35. screws.scad
ISO (metric) and UTS screws and nuts.
-
-
screw()
Mod – Creates a standard screw with optional tolerances. [Geom] -
screw_hole()
Mod – Creates a screw hole. [Geom] -
shoulder_screw()
Mod – Creates a shoulder screw. [Geom] -
screw_head()
Mod – Creates a screw head. [Geom]
-
-
-
nut()
Mod – Creates a standard nut. [Geom] -
nut_trap_side()
Mod – Creates a side nut trap mask. [Geom] -
nut_trap_inline()
Mod – Creates an inline nut trap mask. [Geom]
-
-
-
screw_info()
Func – Returns the dimensions and other info for the given screw. -
nut_info()
Func – Returns the dimensions and other info for the given nut. -
thread_specification()
Func – Returns the thread geometry for a given screw.
-
36. screw_drive.scad
Masks for Phillips, Torx and square (Robertson) driver holes.
-
-
phillips_mask()
Mod – Creates a mask for a Philips screw drive. [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.
-
-
-
hex_drive_mask()
Mod – Creates a mask for a hex drive recess. [Geom]
-
-
-
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] -
torx_info()
Func – Returns the dimensions of a torx drive. -
torx_diam()
Func – Returns the diameter of a torx drive. -
torx_depth()
Func – Returns the typical depth of a torx drive recess.
-
-
-
robertson_mask()
Mod – Creates a mask for a Robertson/Square drive recess. [Geom]
-
37. bottlecaps.scad
Standard bottle caps and necks.
-
-
pco1810_neck()
Mod – Creates a neck for a PCO1810 standard bottle. [Geom] -
pco1810_cap()
Mod – Creates a cap for a PCO1810 standard bottle. [Geom]
-
-
-
pco1881_neck()
Mod – Creates a neck for a PCO1881 standard bottle. [Geom] -
pco1881_cap()
Mod – Creates a cap for a PCO1881 standard bottle. [Geom]
-
-
-
generic_bottle_neck()
Mod – Creates a generic neck for a bottle. [Geom] -
generic_bottle_cap()
Mod – Creates a generic cap for a bottle. [Geom] -
bottle_adapter_neck_to_cap()
Mod – Creates a generic adaptor between a neck and a cap. [Geom] -
bottle_adapter_cap_to_cap()
Mod – Creates a generic adaptor between a cap and a cap. [Geom] -
bottle_adapter_neck_to_neck()
Mod – Creates a generic adaptor between a neck and a neck. [Geom]
-
-
-
sp_neck()
Mod – Creates an SPI threaded bottle neck. [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.
-
Models for standard ball bearing cartridges.
-
-
ball_bearing()
Mod – Creates a standardized ball bearing assembly. [Geom]
-
-
-
ball_bearing_info()
Func – Returns size info for a standardized ball bearing assembly.
-
39. cubetruss.scad
Modular open-framed trusses and joiners.
-
-
cubetruss()
Mod – Creates a multi-cube straight cubetruss shape. [Geom] -
cubetruss_corner()
Mod – Creates a multi-cube corner cubetruss shape. [Geom] -
cubetruss_support()
Mod – Creates a cubetruss support structure shape. [Geom]
-
-
-
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_uclip()
Mod – Creates a joiner that can connect two cubetrusses end-to-end. [Geom]
-
-
-
cubetruss_segment()
Mod – Creates a single cubetruss cube. [Geom] -
cubetruss_clip()
Mod – Creates a clip for the end of a cubetruss to snap-lock it to another cubetruss. [Geom] -
cubetruss_dist()
Func – Returns the length of a cubetruss truss.
-
40. gears.scad
Gears, racks, worms, and worm gears.
-
-
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] -
ring_gear()
Mod – Creates a 3D ring gear. [Geom] -
ring_gear2d()
Mod – Creates a 2D ring gear. [Geom] -
rack()
Func/Mod – Creates a straight or helical gear rack. [Geom] [VNF] -
rack2d()
Func/Mod – Creates a 2D gear rack. [Geom] [Path] -
crown_gear()
Func/Mod – Creates a crown gear that can mesh with a spur gear. [Geom] [VNF] -
bevel_gear()
Func/Mod – Creates a straight, zerol, or spiral bevel gear. [Geom] [VNF] -
worm()
Func/Mod – Creates a worm that will mate with a worm gear. [Geom] [VNF] -
enveloping_worm()
Func/Mod – Creates a double-enveloping worm that will mate with a worm gear. [Geom] [VNF] -
worm_gear()
Func/Mod – Creates a worm gear that will mate with a worm. [Geom] [VNF]
-
-
-
planetary_gears()
Func – Calculate teeth counts and angles for planetary gear assembly with specified ratio.
-
-
-
circular_pitch()
Func – Returns tooth density expressed as "circular pitch". -
diametral_pitch()
Func – Returns tooth density expressed as "diametral pitch". -
module_value()
Func – Returns tooth density expressed as "module" -
pitch_radius()
Func – Returns the pitch radius for a gear. -
outer_radius()
Func – Returns the outer radius for a gear. -
bevel_pitch_angle()
Func – Returns the pitch cone angle for a bevel gear. -
worm_gear_thickness()
Func – Returns the thickness for a worm gear. -
worm_dist()
Func – Returns the distance between a worm and a worm gear -
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. -
gear_skew_angle()
Func – Returns corrected skew angle between two profile shifted helical gears. -
get_profile_shift()
Func – Returns total profile shift needed to achieve a desired spacing between two gears -
auto_profile_shift()
Func – Returns the recommended profile shift for a gear. -
gear_shorten()
Func – Returns the tip shortening parameter for profile shifted parallel axis gears. -
gear_shorten_skew()
Func – Returns the tip shortening parameter for profile shifted skew axis helical gears.
-
41. hinges.scad
Hinges and snap-locking hinged parts.
-
-
knuckle_hinge()
Mod – Creates a knuckle-hinge shape. [Geom] -
living_hinge_mask()
Mod – Creates a mask to make a folding "living" hinge. [Geom]
-
-
-
apply_folding_hinges_and_snaps()
Mod – Adds snap shapes and removes living hinges from a child shape. [Geom] -
snap_lock()
Mod – Creates a snap-lock shape. [Geom] -
snap_socket()
Mod – Creates a snap-lock socket shape. [Geom]
-
42. joiners.scad
Joiner shapes for connecting separately printed objects.
-
-
half_joiner_clear()
Func/Mod – Creates a mask to clear space for ahalf_joiner()
. [Geom] [VNF] -
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]
-
-
-
joiner_clear()
Mod – Creates a mask to clear space for ajoiner()
shape. [Geom] -
joiner()
Mod – Creates a joiner shape that can mate with another rotated joiner shape. [Geom]
-
-
-
dovetail()
Mod – Creates a possibly tapered dovetail 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] -
rabbit_clip()
Mod – Creates a rabbit-eared clip that can snap into a slot. [Geom]
-
-
-
hirth()
Mod – Creates a Hirth face spline that locks together two cylinders. [Geom]
-
Mounts for LMxUU style linear bearings.
-
-
linear_bearing_housing()
Mod – Creates a generic linear bearing mount clamp. [Geom] -
linear_bearing()
Mod – Creates a generic linear bearing cartridge. [Geom]
-
-
-
lmXuu_housing()
Mod – Creates a standardized LM*UU linear bearing mount clamp. [Geom] -
lmXuu_bearing()
Mod – Creates a standardized LM*UU linear bearing cartridge. [Geom]
-
-
-
lmXuu_info()
Func – Returns the sizes of a standard LM*UU linear bearing cartridge.
-
Modular flexible hose segments.
-
Modular Hose Parts
-
modular_hose()
Mod – Creates modular hose parts. -
modular_hose_radius()
Func – Returns the waist radius of the given modular hose size.
-
NEMA motor mounts and stepper motor models.
-
-
nema_stepper_motor()
Mod – Creates a NEMA standard stepper motor model. [Geom]
-
-
-
nema_mount_mask()
Mod – Creates a standard NEMA mount holes mask. [Geom]
-
-
-
nema_motor_info()
Func – Returns dimension info for a given NEMA motor size.
-
46. polyhedra.scad
Platonic, Archimidean, Catalan, and stellated polyhedra
-
Polyhedra
-
regular_polyhedron()
Mod – Creates a regular polyhedron with optional rounding. [Geom] -
regular_polyhedron_info()
Func – Returns info used to create a regular polyhedron.
-
47. sliders.scad
Simple sliders and rails.
Tripod mount plates: RC2
- manfrotto_rc2_plate()
Mod – Creates a Manfrotto RC2 tripod quick release mount plate. [Geom]
49. walls.scad
Walls and structural elements that 3D print without support.
-
Walls
-
sparse_wall()
Mod – Makes an open cross-braced rectangular wall. [Geom] -
sparse_wall2d()
Mod – Makes an open cross-braced rectangular wall. [Geom] -
sparse_cuboid()
Mod – Makes an open cross-braced cuboid [Geom] -
hex_panel()
Mod – Create a hexagon braced panel of any shape [Geom] -
corrugated_wall()
Mod – Makes a corrugated rectangular wall. [Geom] -
thinning_wall()
Mod – Makes a rectangular wall with a thin middle. [Geom] -
thinning_triangle()
Mod – Makes a triangular wall with a thin middle. [Geom] -
narrowing_strut()
Mod – Makes a strut like an extruded baseball home plate. [Geom]
-
50. wiring.scad
Routed bundles of wires.
-
Modules
-
wire_bundle()
Mod – Creates a wire bundle for a given number of wires. [Geom]
-
Table of Contents
Function Index
Topics Index
Cheat Sheet
Tutorials
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
STD = Included in std.scad