Table of Contents
- Table of Contents
- List of Files
- File Footnotes:
- 1. constants.scad
- 2. transforms.scad
- 3. attachments.scad
- 4. shapes2d.scad
- 5. shapes3d.scad
- 6. drawing.scad
- 7. masks2d.scad
- 8. masks3d.scad
- 9. distributors.scad
- 10. color.scad
- 11. partitions.scad
- 12. miscellaneous.scad
- 13. paths.scad
- 14. regions.scad
- 15. skin.scad
- 16. vnf.scad
- 17. beziers.scad
- 18. nurbs.scad
- 19. rounding.scad
- 20. turtle3d.scad
- 21. math.scad
- 22. linalg.scad
- 23. vectors.scad
- 24. coords.scad
- 25. geometry.scad
- 26. trigonometry.scad
- 27. version.scad
- 28. comparisons.scad
- 29. lists.scad
- 30. utility.scad
- 31. strings.scad
- 32. structs.scad
- 33. fnliterals.scad
- 34. threading.scad
- 35. screws.scad
- 36. screw_drive.scad
- 37. bottlecaps.scad
- 38. ball_bearings.scad
- 39. cubetruss.scad
- 40. gears.scad
- 41. hinges.scad
- 42. joiners.scad
- 43. linear_bearings.scad
- 44. modular_hose.scad
- 45. nema_steppers.scad
- 46. polyhedra.scad
- 47. sliders.scad
- 48. tripod_mounts.scad
- 49. walls.scad
- 50. wiring.scad
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.
Table of Contents
List of Files
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.
File Footnotes:
STD = Included in std.scad
1. constants.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 constantsFACE()
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]
2. transforms.scad
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 (or shears) 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]
3. attachments.scad
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 objecttag_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 levelshow_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 Descriptions for Operating on Attachables or Restoring a Previous State
4. shapes2d.scad
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]squircle()
Func/Mod – Creates a shape between a circle and a square, centered on the origin. [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]
5. shapes3d.scad
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]
9. distributors.scad
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]
-
highlight()
Mod – Sets # modifier for attachable children and their descendents. [Trans]highlight_this()
Mod – Apply # modifier to children at a single level. [Trans]ghost()
Mod – Sets % modifier for attachable children and their descendents. [Trans]ghost_this()
Mod – Apply % modifier to children at a single level. [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]
12. miscellaneous.scad
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. The array need not be rectangular. [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 pathvnf_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 patchnurbs_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 sizeis_matrix_symmetric()
Func – Checks if matrix is symmetricis_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 matrixouter_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 matrixmatrix_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.vector_perp()
Func – Returns component of a vector perpendicular to a second vector
-
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.
26. trigonometry.scad
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.
38. ball_bearings.scad
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 geargear_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 gearsauto_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]
43. linear_bearings.scad
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.
44. modular_hose.scad
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.
45. nema_steppers.scad
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.
48. tripod_mounts.scad
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]
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