openscad(1) script file based graphical CAD environment


openscad [options] [file]


This manual page documents briefly the openscad command.

openscad is a software for creating solid 3D CAD objects. It focuses on CAD aspects rather than artistic ones.

OpenSCAD will start as a graphical program unless export options are given (see below). For the usage of the GUI and a description of the OpenSCAD language see the OpenSCAD user manual at


-o outputfile
Export the given file to outputfile in STL, OFF, AMF, DXF, SVG, or PNG format, depending on file extension of outputfile. If this option is given, the GUI will not be started.

Additional formats, which are mainly used for debugging and testing (but can also be used in automation), are AST (the input file as parsed and serialized again), CSG (an OpenSCAD language representation of the input file with calculations done and module calls applied), TERM (the constructive solid geometry expression passed to OpenCSG). If outputfile is null, no output file will be written, but the file will still be evaluated and all echo commands will be written to the standard error output. (The rendering process will still take place if the --render option is given.)

-d file.deps
If the -d option is given, all files accessed while exporting are written to the given deps file in the syntax of a Makefile.
-m make_command
If a nonexisting file is accessed during OpenSCAD's operation, it will try to invoke make_command missing_file to create the missing file, and then read it again.
-D var=val
This option can be used to assign constant values to OpenSCAD variables. The variable's value is an expression, so if this mechanism is used to assign strings, care has to be taken that the shell does not consume quotation marks. More than one -D option can be given.
If exporting an image, render the model fully. (Default is preview)
If exporting an image, use an OpenCSG preview (optionally in throwntogether mode for quicker rendering).
If exporting an image as an OpenCSG preview, stop rendering after encountering limit elements to avoid runaway resource usage.
If exporting an image, use a Gimbal camera with the given parameters. Rot is rotation around the x, y, and z axis, trans is the distance to move the object in the x, y, and z directions, and distance is the distance between the camera and the center of the object.
If exporting an image, use a Vector camera with the given parameters. The first three are for the Eye position, while the next three are for the Center (or target) that the camera will look at. The 'up' vector is not currently supported.
If exporting an image, adjust camera distance to fit the whole design in the frame
If exporting an image, center the design in the frame
If exporting an image, specify the pixel width and height
If exporting an image, specify whether to use orthographic or perspective projection
If exporting an image, use the specified color scheme for the rendering. scheme can be any of Cornfield, Sunset, Metallic, Starnight, BeforeDawn, Nature or DeepOcean.
-v, --version
Show version of program.
Show which versions of libraries were used to compile the program, and which OpenGL details are discovered.


Render example001.scad into the .stl format (raw triangle data):

openscad -o example001.stl examples/example001.scad

Compile a 2d image using a camera rotated 25 degrees in x and 35 in z, distance 500, with orthographic projection:

openscad -o o.png o.scad --camera=0,0,0,25,0,35,500 --projection=ortho

Set the 'mode' variable in example017 so that it will render only the parts of the shape. Export to a .dxf file.

openscad -x example017.dxf -D'mode=parts' examples/example017.scad


OpenSCAD was written by Clifford Wolf, Marius Kintel, and others.

This manual page was written by chrysn <[email protected]>, for the Debian project (and may be used by others). Updated by the OpenSCAD team.