The Belfry OpenScad Library, v2.0. An OpenSCAD library of shapes, masks, and manipulators to make working with OpenSCAD easier. BETA
Find a file
2018-11-26 19:55:18 -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 up some comments in beziers.scad 2018-11-25 15:23:30 -08:00
debug.scad Vertex numbers are now rotated to face viewer when re-previewed. 2018-11-25 20:01:12 -08:00
involute_gears.scad Updated docs comments for involute_gear.scad 2018-11-25 20:40:44 -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 Fixed fillet_angled_corner_mask 2018-11-26 01:53:02 -08:00
math.scad Changed lerp() formula to be less susceptible to FP rounding errors. 2018-11-25 15:22:58 -08:00
metric_screws.scad Added metric_bolt(). Improved metric_nut() detail. 2018-11-19 15:24:44 -08:00
nema_steppers.scad Fixed typo and color issues in nema_steppers.scad. 2018-11-25 15:49:22 -08:00
paths.scad Fixed example in paths.scad. 2018-11-25 19:13:25 -08:00
phillips_drive.scad Added metric_bolt(). Improved metric_nut() detail. 2018-11-19 15:24:44 -08: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 Added center argument to thinning_triangle 2018-11-21 12:56:35 -08:00
sliders.scad Added docs comments to sliders.scad 2018-11-25 20:18:36 -08:00
threading.scad Added center argument to trapezoidal_threaded_rod() 2018-11-19 15:20:24 -08:00
transforms.scad Updated transforms.scad example comments. 2018-11-26 19:55:18 -08:00
triangulation.scad Added triangulation support code. 2018-09-01 02:38:47 -07:00
wiring.scad Fixed some bugs with wiring() 2018-10-09 15:43:50 -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