OpenSCAD User Manual

OpenSCAD logo
OpenSCAD logo

Introduction

OpenSCAD is an opensource application for modelling and animating Solid CAD objects in three dimensions.

It is offered as free software and is available for several platforms.

OpenSCAD provides a functional descriptive language that may be used to numerically describe a 3D object using primitive shapes assembled and combined using 3D boolean operations. It is well suited to Computer-aided design tasks that will lead to production using CNC machining or 3D Printing processes.

OpenSCAD is not an interactive modelling tool in the way that Blender or AutoCAD's apps are. Rather it uses a compiler to generate a run-time process to draw the 3D shapes specified by the instructions in an OpenSCAD file. Its user interface does offer a feature rich editing panel for the .scad programs currently loaded, an on-screen preview, a rendering engine to produce images, and a limited animation function.

OpenSCAD renders in two modes, Preview and Render.

Older versions of openSCAD use OpenCSG and OpenGL to perform fast, frame buffer based rendering for the on-screen preview. More recent versions of the Development Snapshot have switched to Manifold for preview rendering. This change lifts several limitations, not least of which are artifacts that occur on convoluted surfaces.

Another rendering engine is used to fully tessellate a model into a polygon mesh that is then used to create an image. The tessellation stage is preformed using the CGAL geometry engine.

OpenSCAD is available via the common distribution methods as listed on the downloads page.

Participation

Information about OpenSCAD development is available on GitHub.

The ways to participate in the community include the mailing list, and chatting on IRC.

Suggestions for features, feedback and bug reports may be written using GitHub Issues, but please read the preferred Way of Work before submitting.

Operations Manual

These pages were originally created as part of the OpenSCAD User Manual, now in the process of being restructured.

Category:Books with print version#OpenSCAD%20User%20Manual
  1. First Steps
  2. The OpenSCAD User Interface
  3. Input Devices
  4. Customizer
  5. Import
  6. SVG Import
  7. Export
  8. Paths
  9. Using an external Editor with OpenSCAD
  10. Integration with other applications
  11. Using OpenSCAD in a command line environment
  12. Libraries

The OpenSCAD Language Reference

Category:Books with print version#OpenSCAD%20User%20Manual
  1. The OpenSCAD Language
    1. General - READ THIS FIRST - comments, values and data types, variables, vectors, objects, getting input
  2. 3D objects -
    1. 3D Primitive Solids - cube, sphere, cylinder, polyhedron
    2. 3D to 2D Projection
  3. 2D Objects
    1. 2D Primitives - square, circle, polygon
    2. Text - Generate text using installed or user supplied font files; functions to retrieve text metrics.
    3. 2D to 3D - linear_extrude, rotate_extrude
  4. Transform
    1. color
    2. rotate, translate, mirror, multmatrix
    3. scale, resize
    4. offset, minkowski, hull
    5. Combining transformations
  5. Boolean combination
    1. union, difference, intersection, render
  6. Other Functions and Operators
    1. Conditional and Iterator Functions - for, intersection_for, if, conditional ? :, assign, let
    2. Mathematical Operators - General, Vectors, Matrix multiplication
    3. Mathematical Functions
      1. Trigonometric (cos sin tan acos asin atan atan2)
      2. Other (abs ceil concat cross exp floor ln len let log lookup max min norm pow rands round sign sqrt)
    4. String Functions - str, chr, ord
    5. Type Test Functions - is_undef, is_bool, is_num, is_string, is_list, is_object
    6. List Comprehensions
    7. Other Language Features - Special '$' variables, echo, render, surface, search , version(), version_num(), parent_module(n) and $parent_modules, assert
  7. User-Defined Functions and Modules - Functions, Modules, Children
  8. Debugging aids -  % # ! * echo
  9. External libraries and code files
    1. include - SCAD, CSG
    2. use - SCAD
    3. import - STL, OFF, DXF
      1. import_dxf - Deprecated
      2. import_stl - Deprecated
    4. export - STL, OFF, AMF, 3MF, DXF, SVG, PNG, CSG
    5. surface - PNG

Examples

  1. Example Projects
  2. Strandbeest

Build Manual

  1. Building OpenSCAD from Sources
    1. Building on Linux/UNIX
    2. Cross-compiling for Windows on Linux or Mac OS X
    3. Building on Windows (Outdated)
    4. Building on Windows (New)
    5. Building on Mac OS X

Additional Resources

  1. Command Glossary - Very short name and syntax reference
  2. Frequently Asked Questions
  3. Tips and Tricks

A clear guided introduction to using OpenSCAD and to the OpenSCAD language is available in the OpenSCAD Tutorial.

For Teachers: a basic 25-slide presentation from 2014 is available under GNUFDL to walk your students through the process of using OpenSCAD here.

Fablab Lannion (France) edited a nice French-language interactive tutorial that you might appreciate.

A "cheat sheet" is a useful quick reference for the OpenSCAD language, with each item linking back to this Wikibook.

A list of books can be found here.

History

Periodically the two manuals below get cleaned up or have major transitions. Consider archiving the manuals prior to starting a major update.

This can be done for the two 'printable version' links below to the Internet Archive

The Wayback Machine no longer has a free user requested site archive, so below is just the two 'printable version' manuals

Work in progress

This section contains documentation about ongoing work which is available as experimental features in snapshot versions of OpenSCAD or not yet integrated at all and pending in a branch or pull-request at the OpenSCAD github repository.

Category:Subject:3D graphics software/all books Category:Subject:Multimedia software/all books Category:Subject:Computer software/all books Category:Subject:Computing/all books Category:Subject:Books by subject/all books Category:Subject:Computer programming languages#OpenSCAD%20User%20Manual Category:Subject:Computer programming languages/all books Category:Subject:Computer programming/all books Category:Subject:Computer science/all books Category:Subject:Computing/all books Category:Subject:Books by subject/all books Category:Subject:Computing/all books Category:Subject:Books by subject/all books Category:Subject:Computer aided design#OpenSCAD%20User%20Manual Category:Subject:Computer aided design/all books Category:Subject:Design/all books Category:Subject:Visual arts/all books Category:Subject:Fine arts/all books Category:Subject:Humanities/all books Category:Subject:Books by subject/all books Category:Subject:Computer software/all books Category:Subject:Computing/all books Category:Subject:Books by subject/all books Category:Book:OpenSCAD User Manual#%20 Category:Book:Wikibooks Stacks/Books#OpenSCAD%20User%20ManualCategory:Shelf:3D graphics software Category:Shelf:3D graphics software/all books Category:Shelf:Computer software/all books#Computer%20software Category:Department:Computing/all books#Computing Category:Shelf:Multimedia software/all books#Multimedia%20softwareCategory:Shelf:Computer programming languages Category:Shelf:Computer programming languages/all books Category:Shelf:Computer programming/all books#Computer%20programming Category:Shelf:Computer science/all books#Computer%20science Category:Department:Computing/all books#ComputingCategory:Shelf:Computer aided design Category:Shelf:Computer aided design/all books Category:Shelf:Computer software/all books#Computer%20software Category:Department:Computing/all books#Computing Category:Shelf:Design/all books#Design Category:Shelf:Fine arts/all books#Fine%20arts Category:Department:Humanities/all books#Humanities Category:Shelf:Visual arts/all books#Visual%20arts Category:Completed booksCategory:Books by completion status/all books
Category:Alphabetical/O Category:Book:OpenSCAD User Manual Category:Book:Wikibooks Stacks/Books Category:Books by completion status/all books Category:Books with print version Category:Completed books Category:Department:Computing/all books Category:Department:Humanities/all books Category:Shelf:3D graphics software Category:Shelf:3D graphics software/all books Category:Shelf:Computer aided design Category:Shelf:Computer aided design/all books Category:Shelf:Computer programming/all books Category:Shelf:Computer programming languages Category:Shelf:Computer programming languages/all books Category:Shelf:Computer science/all books Category:Shelf:Computer software/all books Category:Shelf:Design/all books Category:Shelf:Fine arts/all books Category:Shelf:Multimedia software/all books Category:Shelf:Visual arts/all books Category:Subject:3D graphics software Category:Subject:3D graphics software/all books Category:Subject:Books by subject/all books Category:Subject:Computer aided design Category:Subject:Computer aided design/all books Category:Subject:Computer programming/all books Category:Subject:Computer programming languages Category:Subject:Computer programming languages/all books Category:Subject:Computer science/all books Category:Subject:Computer software/all books Category:Subject:Computing/all books Category:Subject:Design/all books Category:Subject:Fine arts/all books Category:Subject:Humanities/all books Category:Subject:Multimedia software/all books Category:Subject:Visual arts/all books