The Belfry OpenScad Library, v2.0. An OpenSCAD library of shapes, masks, and manipulators to make working with OpenSCAD easier. BETA
Find a file
2019-02-11 18:24:41 -08:00
.gitignore Added .DS_Store to .gitignore 2018-11-19 15:15:19 -08:00
acme_screws.scad Tweaked threading library file. 2018-11-11 23:39:58 -08:00
beziers.scad Fixed linear_extrude_bezier default args to behave more like linear_extrude default args. 2019-02-04 04:25:33 -08:00
constants.scad Added constants.scad 2019-02-11 18:24:41 -08:00
debug.scad Improved rendering of cubic beziers. 2019-02-03 00:13:21 -08:00
involute_gears.scad Fixed teeth_to_hide. 2019-02-07 21:41:16 -08:00
joiners.scad Made joiner_clear() asymmetric. 2017-11-03 21:42:06 -07:00
LICENSE Initial commit 2017-08-01 15:59:44 -07:00
linear_bearings.scad Added example for linear_bearing_housing() 2018-11-25 19:38:41 -08:00
masks.scad Added chamfer_{hole,cylinder}_mask(). Fixed xtilt/ytilt in fillet_hole_mask() 2018-12-22 02:37:39 -08:00
math.scad Added several coordinate system conversion functions. 2019-02-04 19:18:08 -08:00
metric_screws.scad Allow creation of threadless screws. 2018-12-09 17:39:50 -08:00
nema_steppers.scad Fixed screwhole colors for various stepper sizes. 2018-12-05 20:38:43 -08:00
paths.scad Updated code to use xyz_to_spherical() 2019-02-06 03:35:13 -08:00
phillips_drive.scad Corrected comment docs for phillips drive. 2018-11-26 20:22:00 -08:00
quaternions.scad Added Q_Axis(), Q_Angle() 2019-02-06 03:32:27 -08:00
README.md Added documentation link to README 2017-08-30 20:29:49 -07:00
shapes.scad Tweaked rtrapezoid() exaples. 2019-02-10 19:53:55 -08:00
sliders.scad Added docs comments to sliders.scad 2018-11-25 20:18:36 -08:00
threading.scad Added bevel option to threaded rods and nuts. 2019-01-30 20:59:18 -08:00
torx_drive.scad First take on torx drive forms. 2019-02-08 15:58:07 -08:00
transforms.scad Fixed warning message in arc_of() module 2019-02-04 04:23:39 -08:00
triangulation.scad Clarified triangulation code and added docs. 2019-02-04 03:40:38 -08:00
wiring.scad Removing dead cruft code. 2019-02-06 03:34:16 -08: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