dotSCAD - An OpenSCAD library
Clone or download
Justin Lin
Justin Lin rename
Latest commit 5a15e86 Dec 11, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs add Dec 11, 2018
src rename Dec 11, 2018
test update test cases May 2, 2018
.gitignore added .gitignore Apr 18, 2017
GoldenTaiwan.JPG updated image May 11, 2017
LICENSE Create LICENSE Mar 13, 2017
LICENSE.svg added image Mar 17, 2017 add Dec 11, 2018
_config.yml Set theme jekyll-theme-architect Apr 6, 2017


These fundamental modules and functions are helpful when playing OpenSCAD.




OpenSCAD uses three library locations, the installation library, built-in library, and user defined libraries. It's convenient to set OPENSCADPATH. Check Setting OPENSCADPATH in OpenSCAD User Manual/Libraries for details.

Every module or function is located in the file which has the same name as the module or the function. For example, if you want to use the line2d module to draw a line, include <line2d.scad>; first.

include <line2d.scad>;

line2d(p1 = [0, 0], p2 = [5, 0], width = 1);

Some modules depend on other modules. For example, the polyline2d module depends on the line2d module, so you also have to include <line2d.scad>; besides include <polyline3d.scad>;.

include <line2d.scad>;
include <polyline3d.scad>;

polyline2d(points = [[1, 2], [-5, -4], [-5, 3], [5, 5]], width = 1);

If OpenSCAD generates "WARNING: Ignoring unknown xxx function" or "WARNING: Ignoring unknown xxx module" when using one module of dotSCAD. Just try to include <xxx.scad>;.

Too many dependencies? Because OpenSCAD doesn't provide namespace management, I personally think that exposing dependencies is better than hiding them. In this way, users can have their own way to manage dependencies. How to categorize dependencies is up to you. For example, you can include your commonly-used modules and functions in "commonly_used.scad" and then include <commonly_used.scad>; in the ".scad" file of your project.


Bugs and Feedback

For bugs, questions and discussions please use the Github Issues.

About dotSCAD

I've been using OpenSCAD for years and created some funny things. Some of them include several important ideas and details. To prevent forgetfulness, I decided to write them down. Some examples developed in the documentation are useful so I elaborate them into this library.

The idea of the name dotSCAD comes from the filename extension ".scad" of OpenSCAD.