The Belfry OpenScad Library, v2.0. An OpenSCAD library of shapes, masks, and manipulators to make working with OpenSCAD easier. BETA
Find a file
2022-09-11 08:53:36 -04:00
.github Workflow testing 12. 2022-07-21 21:35:58 -07:00
examples
images
scripts Added img2scad.py script. 2022-05-17 22:36:30 -07:00
tests screw fixes 2022-08-26 19:13:55 -04:00
tutorials fix attachment scope problem, change default mask tag to "remove", 2022-06-26 12:08:22 -04:00
.gitignore Setup Problem Matcher. Added some deliberate docs errors to test with. 2021-03-30 15:27:57 -07:00
.openscad_docsgen_rc add tripod mount 2022-05-01 18:43:08 -04:00
.openscad_mdimggen_rc
affine.scad Match affine3d skews up to affine2d_skew behaviour 2022-08-06 17:09:20 -07:00
attachments.scad screws update, including critical bugfix 2022-09-08 21:37:54 -04:00
beziers.scad Newer OpenSCAD dev versions get syntax errors on doubled commas. 2022-08-23 20:10:22 -07:00
bosl1compat.scad Added VNF tile texture support. 2022-06-21 18:04:51 -07:00
bottlecaps.scad Textures integration bugfixes. 2022-08-21 00:21:58 -07:00
builtins.scad
color.scad Typo fix: raindow() 2022-04-21 23:34:15 -07:00
comparisons.scad
constants.scad tags->tag 2022-05-15 13:05:24 -04:00
CONTRIBUTING.md
coords.scad
cubetruss.scad make slop undef and add get_slop() 2022-04-11 22:18:52 -04:00
distributors.scad Major rework on joiners. 2022-04-24 18:18:24 -07:00
drawing.scad Fix for issue #928 2022-08-21 02:49:47 -07:00
fnliterals.scad
gears.scad file summary improvements and tweaks 2022-04-21 00:26:20 -04:00
geometry.scad Newer OpenSCAD dev versions get syntax errors on doubled commas. 2022-08-23 20:10:22 -07:00
hingesnaps.scad file summary improvements and tweaks 2022-04-21 00:26:20 -04:00
joiners.scad Added cylindrical_heightfield() 2022-05-16 21:02:12 -07:00
LICENSE
linalg.scad
linear_bearings.scad file summary improvements and tweaks 2022-04-21 00:26:20 -04:00
lists.scad
masks2d.scad Fixed weird default excess= in masks2d.scad. 2022-04-24 19:22:18 -07:00
masks3d.scad Corrected masking diff() bugs in docs. 2022-08-21 00:51:39 -07:00
math.scad
metric_screws.scad
modular_hose.scad tags->tag 2022-05-15 13:05:24 -04:00
mutators.scad
nema_steppers.scad Fix for issue #666 2022-07-28 18:40:21 -07:00
partitions.scad make slop undef and add get_slop() 2022-04-11 22:18:52 -04:00
paths.scad textured_linear_sweep() bugfixes. 2022-07-15 18:58:15 -07:00
polyhedra.scad
README.md skew() now can take angle arguments. 2022-07-10 20:58:19 -07:00
regions.scad change count_true to num_true and simplify 2022-05-27 10:21:33 -04:00
rounding.scad screws doc fix, small rounding bugfix 2022-05-27 01:26:04 -04:00
screw_drive.scad screws update, including critical bugfix 2022-09-08 21:37:54 -04:00
screws.scad screw bugfixes 2022-09-08 23:23:39 -04:00
shapes2d.scad added n= option to supershape to give number of points 2022-08-06 10:28:36 -04:00
shapes3d.scad Textures integration bugfixes. 2022-08-21 00:21:58 -07:00
skin.scad Textures integration bugfixes. 2022-08-21 00:21:58 -07:00
sliders.scad make slop undef and add get_slop() 2022-04-11 22:18:52 -04:00
std.scad
strings.scad expose _str_cmp as substr_match and doc tweaks 2022-08-14 20:33:31 -04:00
structs.scad file summary improvements and tweaks 2022-04-21 00:26:20 -04:00
threading.scad Fix missing starts in docs and buttress threading 2022-09-11 08:53:36 -04:00
transforms.scad skew() now can take angle arguments. 2022-07-10 20:58:19 -07:00
trigonometry.scad
tripod_mounts.scad screws update, including critical bugfix 2022-09-08 21:37:54 -04:00
turtle3d.scad
utility.scad screws update, including critical bugfix 2022-09-08 21:37:54 -04:00
vectors.scad
version.scad
vnf.scad Fix for issue #928 2022-08-21 02:49:47 -07:00
walls.scad file summary improvements and tweaks 2022-04-21 00:26:20 -04:00
wiring.scad file summary improvements and tweaks 2022-04-21 00:26:20 -04:00
WRITING_DOCS.md

BOSL2

BOSL2 Logo

The Belfry OpenScad Library, v2

A library for OpenSCAD, filled with useful tools, shapes, masks, math and manipulators, designed to make OpenSCAD easier to use.

Requires OpenSCAD 2021.01 or later.

  • NOTE: BOSL2 IS BETA CODE. THE CODE IS STILL BEING REORGANIZED.
  • NOTE2: CODE WRITTEN FOR BOSLv1 PROBABLY WON'T WORK WITH BOSL2!

Join the chat at https://gitter.im/revarbat/BOSL2 BOSL2 Docs

Installation

  1. Download the .zip or .tar.gz release file for this library.
  2. Unpack it. Make sure that you unpack the whole file structure. Some zipfile unpackers call this option "Use folder names". It should create either a BOSL-v2.0 or BOSL2-master directory with the library files within it. You should see "examples", "scripts", "tests", and other subdirectories.
  3. Rename the unpacked main directory to BOSL2.
  4. Move the BOSL2 directory into the apropriate OpenSCAD library directory for your platform:
    • Windows: My Documents\OpenSCAD\libraries\
    • Linux: $HOME/.local/share/OpenSCAD/libraries/
    • Mac OS X: $HOME/Documents/OpenSCAD/libraries/
  5. Restart OpenSCAD.

Examples

A lot of the features of this library are to allow shorter, easier-to-read, intent-based coding. For example:

BOSL2/transforms.scad Examples Raw OpenSCAD Equivalent
up(5) translate([0,0,5])
xrot(30,cp=[0,10,20]) translate([0,10,20]) rotate([30,0,0]) translate([0,-10,-20])
xcopies(20,n=3) for (dx=[-20,0,20]) translate([dx,0,0])
zrot_copies(n=6,r=20) for (zr=[0:5]) rotate([0,0,zr*60]) translate([20,0,0])
skew(sxz=0.5,syz=0.333) multmatrix([[1,0,0.5,0],[0,1,0.333,0],[0,0,1,0],[0,0,0,1]])
BOSL2/shapes.scad Examples Raw OpenSCAD Equivalent
cube([10,20,30], anchor=BOTTOM); translate([0,0,15]) cube([10,20,30], center=true);
cuboid([20,20,30], rounding=5); minkowski() {cube([10,10,20], center=true); sphere(r=5, $fn=32);}
prismoid([30,40],[20,30],h=10); hull() {translate([0,0,0.005]) cube([30,40,0.01], center=true); translate([0,0,9.995]) cube([20,30,0.01],center=true);}
xcyl(l=20,d=4); rotate([0,90,0]) cylinder(h=20, d=4, center=true);
cyl(l=100, d=40, rounding=5); translate([0,0,50]) minkowski() {cylinder(h=90, d=30, center=true); sphere(r=5);}

Documentation

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