Skip to main content

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

Specialized Libraries

General Libraries

BOSL

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

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.

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.

use <printago/UB.scad/UB.scad>  // Import the main UB.scad library

Functional OpenSCAD

Implementing OpenSCAD in OpenSCAD.

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.

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.

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.

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.

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.

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.

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.

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.

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).

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.

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.

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.

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.

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.

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.

use <printago/KeyV2/src/key.scad>  // Import keycap generation functionality

Getriebe

An OpenSCAD gear library for creating various types of gears and gear systems.

use <printago/getriebe/getriebe.scad>  // Import gear generation library

Knurled Finish Library

A library for creating knurled finishes on cylindrical surfaces in OpenSCAD.

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.