All Projects → revarbat → Bosl

revarbat / Bosl

Licence: bsd-2-clause
The Belfry OpenScad Library - A library of tools, shapes, and helpers to make OpenScad easier to use.

Projects that are alternatives of or similar to Bosl

Hob3l
100x Faster Slicing of SCAD Files for 3D Printing
Stars: ✭ 182 (-23.21%)
Mutual labels:  3d-printing, stl
Print3r
Command line interface (CLI) for 3d printing
Stars: ✭ 41 (-82.7%)
Mutual labels:  stl, 3d-printing
xcsg
XML based Constructive Solid Geometry based on carve
Stars: ✭ 24 (-89.87%)
Mutual labels:  stl, 3d-printing
Slic3r
Open Source toolpath generator for 3D printers
Stars: ✭ 2,791 (+1077.64%)
Mutual labels:  3d-printing, stl
Sdfx
A simple CAD package using signed distance functions
Stars: ✭ 213 (-10.13%)
Mutual labels:  3d-printing, stl
LipSync
An open-source mouth operated sip and puff joystick that enables people with limited hand function emulate a mouse on their computer and/or smartphone.
Stars: ✭ 27 (-88.61%)
Mutual labels:  stl, 3d-printing
vasaro
Vasaro let you create 3d printable vases in a snap.
Stars: ✭ 30 (-87.34%)
Mutual labels:  stl, 3d-printing
PolyDraw
✳️ PTSource PolyDraw is a free 3D polygonal modeller for Windows x86 and x64, for creating or modifying 3D objects using a mesh of 3D points and parametric NURBS Curves .Exports and imports to over 40 formats including WebVR and 3D Printing.
Stars: ✭ 17 (-92.83%)
Mutual labels:  stl, 3d-printing
Openastrotracker
3D printed DSLR tracking mount
Stars: ✭ 434 (+83.12%)
Mutual labels:  3d-printing, stl
BodyParts3D
Clone of the BodyParts3D/Anatomography 3D model files
Stars: ✭ 32 (-86.5%)
Mutual labels:  stl, 3d-printing
Duckyspark
Translator from USB-Rubber-Ducky payloads to a Digispark code.
Stars: ✭ 107 (-54.85%)
Mutual labels:  3d-printing, stl
Erizo
Fast native STL viewer
Stars: ✭ 89 (-62.45%)
Mutual labels:  3d-printing, stl
3d models
3D Models of our products
Stars: ✭ 177 (-25.32%)
Mutual labels:  3d-printing, stl
Advi3pp
ADVi3++, an alternative and better firmware for Wanhao i3 Plus printers and clones. Fork of Marlin Firmware.
Stars: ✭ 192 (-18.99%)
Mutual labels:  3d-printing
Sketchup Stl
A SketchUp Ruby Extension that adds STL (STereoLithography) file format import and export.
Stars: ✭ 214 (-9.7%)
Mutual labels:  stl
Rapidyaml
Rapid YAML - a library to parse and emit YAML, and do it fast.
Stars: ✭ 183 (-22.78%)
Mutual labels:  stl
Pulse
A pendant to warn you when you touch your face
Stars: ✭ 229 (-3.38%)
Mutual labels:  3d-printing
Marquee Scroller
Marquee Scroller Clock News Weather and More
Stars: ✭ 211 (-10.97%)
Mutual labels:  3d-printing
Cq Editor
CadQuery GUI editor based on PyQT
Stars: ✭ 183 (-22.78%)
Mutual labels:  stl
Arduinostl
An STL and iostream implementation based on uClibc++ that supports my CS-11M class.
Stars: ✭ 201 (-15.19%)
Mutual labels:  stl

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.

Installation

  1. Download the .zip or .tar.gz release file for this library.
  2. Unpack it. It should create a BOSL-v1.0 directory with the library files within it.
  3. Rename the directory to BOSL.
  4. Move the BOSL 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.

Terminology

For purposes of the BOSL library, the following terms apply:

  • Left: Towards X-

  • Right: Towards X+

  • Front/Forward: Towards Y-

  • Back/Behind: Towards Y+

  • Bottom/Down/Below: Towards Z-

  • Top/Up/Above: Towards Z+

  • Axis-Positive: Towards the positive end of the axis the object is oriented on. IE: X+, Y+, or Z+.

  • Axis-Negative: Towards the negative end of the axis the object is oriented on. IE: X-, Y-, or Z-.

Common Arguments:

Args What it is
fillet Radius of rounding for interior or exterior edges.
chamfer Size of chamfers/bevels for interior or exterior edges.
orient Axis a part should be oriented along. Given as an XYZ triplet of rotation angles. It is recommended that you use the ORIENT_ constants from constants.scad. Default is usually ORIENT_Z for vertical orientation.
align Side of the origin that the part should be on. Given as a vector away from the origin. It is recommended that you use the V_ constants from constants.scad. Default is usually V_ZERO for centered.

Examples

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

BOSL/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])
xspread(20,n=3) for (dx=[-20,0,20]) translate([dx,0,0])
zring(n=6,r=20) for (zr=[0:5]) rotate([0,0,zr*60]) translate([20,0,0])
skew_xy(xa=30,ya=45) multmatrix([[1,0,tan(30),0],[0,1,tan(45),0],[0,0,1,0],[0,0,0,1]])
BOSL/shapes.scad Examples Raw OpenSCAD Equivalent
upcube([10,20,30]); translate([0,0,15]) cube([10,20,30], center=true);
cuboid([20,20,30], fillet=5, edges=EDGES_Z_ALL); 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, fillet=5); translate([0,0,50]) minkowski() {cylinder(h=90, d=30, center=true); sphere(r=5);}
BOSL/masks.scad Examples Raw Openscad Equivalent
chamfer_mask_z(l=20,chamfer=5); rotate(45) cube([5*sqrt(2), 5*sqrt(2), 20], center=true);
fillet_mask_z(l=20,fillet=5); difference() {cube([10,10,20], center=true); for(dx=[-5,5],dy=[-5,5]) translate([dx,dy,0]) cylinder(h=20.1, r=5, center=true);}
fillet_hole_mask(r=30,fillet=5); difference() {cube([70,70,10], center=true); translate([0,0,-5]) rotate_extrude(convexity=4) translate([30,0,0]) circle(r=5);}

The Library Files

The library files are as follows:

Commonly Used

  • 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().
  • threading.scad: Modules to make triangular and trapezoidal threaded rods and nuts.
  • paths.scad: Functions and modules to work with arbitrary 3D paths.
  • beziers.scad: Functions and modules to work with bezier curves.

Standard Parts

Miscellaneous

Documentation

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].