• Stars
    star
    415
  • Rank 104,301 (Top 3 %)
  • Language OpenSCAD
  • License
    BSD 2-Clause "Sim...
  • Created over 5 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Belfry OpenScad Library, v2.0. An OpenSCAD library of shapes, masks, and manipulators to make working with OpenSCAD easier. BETA

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

Documentation

You can find the full BOSL2 library documentation at: https://github.com/BelfrySCAD/BOSL2/wiki

Installation

  1. Download the .zip or .tar.gz release file for this library. Currently you should be able to find this at https://github.com/BelfrySCAD/BOSL2/archive/refs/heads/master.zip
  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); minkowski() {cylinder(h=90, d=30, center=true); sphere(r=5);}
tube(od=40,wall=5,h=30); difference() {cylinder(d=40,h=30,center=true); cylinder(d=30,h=31,center=true);}
torus(d_maj=100, d_min=30); rotate_extrude() translate([50,0,0]) circle(d=30);

More Repositories

1

BOSL

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

snappy-reprap

The world's most 3D printable 3D printer. (Guinness Book of World Records 2017 & 2018)
OpenSCAD
499
star
3

mandoline-py

A 3D printing STL-to-GCode slicer based on the Clipper library.
Python
83
star
4

Mandoline

A lightning-fast program to slice 3D STL files into GCode tool paths for FDM 3D printing. (in Alpha)
Shell
48
star
5

belfrywidgets

A collection of useful Tkinter widgets and megawidgets.
Python
29
star
6

openscad_docsgen

A processor for generating Mardown code documentation from comments in OpenSCAD source files.
Python
11
star
7

stl_normalize

Script to normalize and validate STL files so that they play better with git version control.
Python
10
star
8

TkCAD

A 2D CAD with rudimentary support for 2.5D GCode generation.
Tcl
7
star
9

TikiBot

Touchscreen barbot software for dispensing mixed drinks.
Python
6
star
10

TextToSvgPath

OS X command-line program to convert font text to svg paths.
Objective-C
6
star
11

openscad_runner

A Python library for running scripts via OpenSCAD, to generate images, animations, or STLs.
Python
3
star
12

pymuv

A pure python implementation of the MUV 2.0 to fb6 MUF compiler.
Python
3
star
13

Belfry-Fabber

A design for a home-built plastic extrusion 3D printer.
2
star
14

CLIVE

Celestial Laser Identification and Visualization Experiment: Astronomy software to point out stars, planets, etc. using a stepper based turret.
C++
2
star
15

mcpgui

Fuzzball GUI package for the Mud Client Protocol.
Python
1
star
16

muv

A C/Bison implementation of the MUV 2.0 to fb6 MUF compiler.
Forth
1
star
17

epubber

Code to create ePub files from various story websites.
Python
1
star
18

mudclientprotocol

Mud Client Protocol support library.
Python
1
star
19

img2scad

A script to convert a grayscale image to a heightfield/texture array in a .scad file.
1
star
20

BOSU

A utility to help work with OpenSCAD scripts.
1
star
21

mufsim

An offline simulator, debugger, and IDE for the MUF and MUV languages, with GUI and command-line interfaces.
Python
1
star