The Belfry OpenScad Library, v2.0. An OpenSCAD library of shapes, masks, and manipulators to make working with OpenSCAD easier. BETA
Find a file
2017-08-30 20:29:49 -07:00
.gitignore Initial commit 2017-08-01 15:59:44 -07:00
acme_screws.scad Added thread_depth arg to acme nut. 2017-08-30 20:19:53 -07:00
beziers.scad Initial code dump. 2017-08-29 17:00:16 -07:00
involute_gears.scad Made some saner default values for gears and racks. 2017-08-30 18:32:20 -07:00
joiners.scad Added slop to joiner pairs and quads. 2017-08-30 20:20:17 -07:00
LICENSE Initial commit 2017-08-01 15:59:44 -07:00
linear_bearings.scad Initial code dump. 2017-08-29 17:00:16 -07:00
masks.scad Cleanups and some obscure mask madule renaming. 2017-08-29 18:57:37 -07:00
math.scad Initial code dump. 2017-08-29 17:00:16 -07:00
metric_screws.scad Initial code dump. 2017-08-29 17:00:16 -07:00
nema_steppers.scad Initial code dump. 2017-08-29 17:00:16 -07:00
paths.scad Initial code dump. 2017-08-29 17:00:16 -07:00
quaternions.scad Initial code dump. 2017-08-29 17:00:16 -07:00
README.md Added documentation link to README 2017-08-30 20:29:49 -07:00
shapes.scad Cleanups and some obscure mask madule renaming. 2017-08-29 18:57:37 -07:00
sliders.scad Initial code dump. 2017-08-29 17:00:16 -07:00
transforms.scad Made some transform args more consistent. 2017-08-30 12:59:30 -07:00
wiring.scad Initial code dump. 2017-08-29 17:00:16 -07:00

BOSL

The Belfry OpenScad Library - A library of tools, shapes, and helpers to make OpenScad easier to use.

This library is a set of useful tools, shapes and manipulators that I developed while working on various projects, including large ones like the Snappy-Reprap printed 3D printer.

Overview

The library files are as follows:

  • transforms.scad: The most commonly used transformations, manipulations, and shortcuts are in this file.
  • shapes.scad: Common useful shapes and structured objects.
  • masks.scad: Shapes that are useful for masking with difference() and intersect().
  • math.scad: Useful helper functions and constants.
  • paths.scad: Functions and modules to work with arbitrary 3D paths.
  • bezier.scad: Functions and modules to work with bezier curves.
  • involute_gears.scad: Modules and functions to make involute gears and racks.
  • metric_screws.scad: Functions and modules to make holes for metric screws and nuts.
  • joiners.scad: Modules to make joiner shapes for connecting separately printed objects.
  • sliders.scad: Modules for creating simple sliders and rails.
  • acme_screws.scad: Modules to make trapezoidal (ACME) threaded rods and nuts.
  • nema_steppers.scad: Modules to make mounting holes for NEMA motors.
  • linear_bearings.scad: Modules to make mounts for LMxUU style linear bearings.
  • wiring.scad: Modules to render routed bundles of wires.
  • quaternions.scad: Functions to work with quaternion rotations.

transforms.scad

The most commonly useful of the library files is transforms.scad. It provides features such as:

  • up(), down(), left(), right(), fwd(), back() as more readable alternatives to translate().
  • xrot(), yrot(), zrot() as single-axis alternatives to rotate.
  • xspread(), yspread(), and zspread() to evenly space copies of an item along an axis.
  • xring(), yring(), zring() to evenly space copies of an item around a circle.
  • skewxy() that let you skew objects without using a multmatrix().
  • Easy mirroring with xflip(), xflip_copy(), etc.
  • Slice items in half with top_half(), left_half(), back_half(), etc.

shapes.scad

The shapes.scad library file provides useful compound shapes, such as:

  • upcube() a ridiculously useful version of cube() that is centered on top of the XY plane.
  • Filleted (rounded) and Chamferred (bevelled) cubes and cylinders.
  • pyramid() and prism()
  • The incredibly useful trapezoid() for non-parallelogram cubes.
  • right_triangle() for the obvious shape.
  • teardrop() and onion() for making more 3D printable holes.
  • tube() and torus() for donut shapes.
  • slot() and arced_slot() for making things like screw slots.
  • thinning_wall() makes a vertical wall which thins in the middle, to reduce print volume.
  • thinning_triangle() makes a right triangle which thins in the middle, to reduce print volume.
  • sparse_strut() makes a cross-braced open strut wall, optimized for support-less 3D printing.
  • corrugated_wall() makes a corrugated wall to reduce print volume while keeping strength.

masks.scad

The masks.scad library file provides mask shapes like:

  • angle_pie_mask() to mask a pie-slice shape.
  • chamfer_mask_x(), chamfer_mask_y(), and chamfer_mask_z() to chamfer (bevel) an axis aligned 90 degree edge.
  • fillet_mask_x(), fillet_mask_y(), and fillet_mask_z() to fillet (round) an axis aligned 90 degree edge.
  • fillet_corner_mask() to fillet a 90 degree corner.
  • fillet_angled_edge_mask() to fillet an acute or obtuse vertical edge.
  • fillet_angled_corner_mask() to fillet the corner of two acute or obtuse planes.
  • fillet_cylinder_mask() to fillet the end of a cylinder.
  • fillet_hole_mask() to fillet the edge of a cylindrical hole.

Documentation

The full library docs can be found at https://github.com/revarbat/BOSL/wiki