OpenSCAD Libraries
Printago provides a collection of popular OpenSCAD libraries to extend your design capabilities. This page lists the available libraries and how to use them in your OpenSCAD designs. For each library, we've included links to the original repository, documentation, and the license under which it's available. These license links are provided to help you understand how you can use each library in accordance with its terms.
Using Libraries in Printago
Each library is stored in a folder with the same name as its GitHub repository. All library paths in Printago are prepended with printago/
. To use a library in your OpenSCAD files, include it with the use
or include
statement followed by the path to the specific library file.
// Examples of importing libraries
use <printago/BOSL2/ball_bearings.scad> // Import specific modules from BOSL2 library
include <printago/catchnhole/catchnhole.scad> // Import all modules from catchnhole library
Available Libraries
Printago includes a comprehensive collection of OpenSCAD libraries to enhance your 3D modeling capabilities.
Table of Contents
General Libraries
- BOSL
- BOSL2
- dotSCAD
- NopSCADlib
- UB.scad
- Functional OpenSCAD
- Constructive Library
- StoneAgeLib
- BOLTS
- Asset Collection
Specialized Libraries
- Round Anything
- Mark's Enclosure Helper
- funcutils
- OpenSCAD threads.scad Module
- OpenSCAD Smooth Primitives Library
- OpenSCAD Function Plotting Library
- OpenSCAD ClosePoints Library
- Tray Library
- YAPP Generator
- STEMFIE Parts Library
- Catch'n'Hole
- Pathbuilder
- Altair's 2D Library
- Gridfinity Rebuilt
- KeyV2
- Getriebe
- Knurled Finish Library
General Libraries
BOSL
The Belfry OpenScad Library - A library of tools, shapes, and helpers to make OpenScad easier to use.
- Library Repository
- Documentation
- License: BSD-2-Clause
use <printago/BOSL/threading.scad> // Import specific BOSL module
BOSL2
Belfry OpenScad Library v2 - A library of tools, shapes, and helpers to make OpenScad easier to use.
use <printago/BOSL2/ball_bearings.scad> // Import specific BOSL2 module
dotSCAD
Reduce the burden of 3D modeling in mathematics.
- Library Repository
- Documentation
- License: LGPL-3.0-only
use <printago/dotSCAD/bezier_surface.scad> // Import bezier surface module
NopSCADlib
An ever expanding library of parts modelled in OpenSCAD useful for 3D printers and enclosures for electronics, etc.
use <printago/NopSCADlib/vitamins/screws.scad> // Import screws module
UB.scad
This library is a full 3D printing workflow solution for OpenSCAD, bringing tools for modifying and generating 3D objects, view helpers and a selection of mechanical parts.
- Library Repository
- Documentation
- License: CC0-1.0
use <printago/UB.scad/UB.scad> // Import the main UB.scad library
Functional OpenSCAD
Implementing OpenSCAD in OpenSCAD.
- Library Repository
- Documentation
- License: MIT
use <printago/FunctionalOpenSCAD/func.scad> // Import functional utilities
Constructive Library
Extends OpenScad Language for complex and complementary mechanical parts with less mathematical code. Offers a "Stamping" approach to quickly create mechanical parts fitting and complementing one another. This is used as a replacement for Constraints known from other CAD systems.
- Library Repository
- Documentation
- Tutorials: Basics, Part II, Part III
- License: GPL-2.0-only
include <printago/constructive/constructive-all.scad> // Import the constructive library
StoneAgeLib
StoneAgeLib - All sorts of scripts for OpenSCAD. The scripts are for 3D models for 3D printing. An important aspect of this library is the CC0 (Public Domain) license.
- Library Repository
- Documentation
- License: CC0-1.0
use <printago/StoneAgeLib/utils.scad> // Import general utilities
BOLTS
BOLTS is an Open Library of Technical Specifications.
use <printago/BOLTS/bolts.scad> // Import BOLTS library
Asset Collection
A collection of OpenSCAD Scripts. There are some mechanical parts, as well as furniture and models that can be used as base mesh for 3D animations and game design.
- Library Repository
- Documentation
- License: MIT
use <printago/OpenSCAD-Snippet/models/something.scad> // Import a specific asset
Specialized Libraries
Round Anything
Round-Anything is primarily a set of OpenSCAD utilities that help with rounding parts, but it also embodies a robust approach to developing OpenSCAD parts.
- Library Repository
- Overview - A pragmatic approach to OpenSCAD design
- Documentation - API reference and examples
- License: MIT
use <printago/Round-Anything/polyround.scad> // Import polyround module
Mark's Enclosure Helper
A script for generating a two piece hinged box, with rounded corners, lid, interlocking rims, snap fit, magnet, or screw closures, and easy places for adding cutouts or additions to any face.
- Library Repository
- Documentation
- License: GPL-3.0-only
use <printago/MarksEnclosureHelper/enclosure.scad> // Import the enclosure module
funcutils
This library is a collection of OpenSCAD functions for use with the function-literals feature. It is meant to provide algorithms and tools to help build efficient scripts using functional programming techniques in OpenSCAD.
- Library Repository
- Documentation
- License: CC0-1.0
use <printago/funcutils/functional.scad> // Import functional programming utilities
OpenSCAD threads.scad Module
This is an efficient OpenSCAD threading library intended primarily to be used as a component in other designs. It supports metric compatible internal and external threads, auger threads, thread tapering, clearance holes, countersunk holes, recessed holes, hex bolts, nuts, washers, Phillips tips, and long rods which are extended with threaded joints.
- Library Repository
- Documentation
- License: CC0-1.0
use <printago/threads-scad/threads.scad> // Import threading utilities
OpenSCAD Smooth Primitives Library
This library is a collection of some smooth primitives, i.e. having specified rounded edges, for use in other designs. It's not a comprehensive collection, but a useful set.
- Library Repository
- Documentation
- License: CC0-1.0
use <printago/smooth-prim/smooth_prim.scad> // Import smooth primitives
OpenSCAD Function Plotting Library
This is a general purpose function plotting library for OpenSCAD which will render functions with Cartesian coordinates (x & y input, z output), polar/cylindrical coordinates (r & angle input, z output), or axial coordinates (z & angle input, r output).
- Library Repository
- Documentation
- License: CC0-1.0
use <printago/plot-function/plot_function.scad> // Import function plotting utilities
OpenSCAD ClosePoints Library
This is a general purpose OpenSCAD library for easily creating diverse shapes by simply creating lists of points which trace out layers in an outline of the desired shape.
- Library Repository
- Documentation
- License: CC0-1.0
use <printago/closepoints/closepoints.scad> // Import closepoints functionality
Tray Library
Allows the design of trays with optional subdivisions. Many different configuration options available. Designed to quickly create trays with different configurations, for efficient storing of parts, such as hardware, small tools, board game inserts, etc.
use <printago/openscad-tray/tray.scad> // Import tray generation functionality
YAPP (Yet Another Parametric Projectbox) Generator
A generator for electronic project boxes, based on a definition of a PCB and lots of options for defining PCB standoffs and case cutouts.
- Library Repository
- Documentation
- License: MIT
use <printago/YAPP_Box/YAPP_Box.scad> // Import YAPP box generator
STEMFIE Parts Library
OpenSCAD library to create parts for the STEMFIE project. STEMFIE is a free educational construction-set toy you can download and make at home using a 3D printer.
use <printago/Stemfie_OpenSCAD/stemfie.scad> // Import STEMFIE parts library
Catch'n'Hole
An ergonomic way to create nutcatches, screw holes and countersinks in OpenSCAD.
- Library Repository
- Documentation
- License: MIT
include <printago/catchnhole/catchnhole.scad> // Import Catch'n'Hole library
Pathbuilder
A fast way to create complex 2D shapes with fillets and chamfers using SVG syntax. Supports the full SVG syntax.
- Library Repository
- Documentation
- Wiki
- License: MIT
use <printago/pathbuilder/pathbuilder.scad> // Import Pathbuilder library
Altair's 2D Library for OpenSCAD (A2D)
A library of useful functions, modules and constants for 2D drawing in OpenSCAD.
- Library Repository
- Documentation
- License: MIT
use <printago/A2D/A2D.scad> // Import Altair's 2D Library
Gridfinity Rebuilt
A ground-up rebuild of the Gridfinity storage system in OpenSCAD. Gridfinity is a modular storage system designed by Zack Freedman, and this library provides a parametric implementation in OpenSCAD.
use <printago/gridfinity-rebuilt-openscad/gridfinity-rebuilt-bins.scad> // Import Gridfinity bins
KeyV2
A parametric mechanical keycap library for designing and customizing keycaps for mechanical keyboards.
- Library Repository
- Documentation
- License: GPL-3.0
use <printago/KeyV2/src/key.scad> // Import keycap generation functionality
Getriebe
An OpenSCAD gear library for creating various types of gears and gear systems.
- Library Repository
- License: CC0-1.0
use <printago/getriebe/getriebe.scad> // Import gear generation library
Knurled Finish Library
A library for creating knurled finishes on cylindrical surfaces in OpenSCAD.
- Library Repository
- Examples
- License: LGPL-2.1
use <printago/knurledFinishLib_v2/knurledFinishLib_v2.scad> // Import knurled surface library
Library Requests
If you need a specific library that isn't listed here, please reach out to our support team at support@printago.io or join our Discord community.