---
name: "openscad"
section: "1"
platform: "linux"
package: "openscad"
version: "2021.01-23"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/openscad"
---

# openscad(1)

script file based graphical CAD environment

## NAME

openscad - script file based graphical CAD environment

## SYNOPSIS

**openscad** \[*options*\] \[*file*\]

## DESCRIPTION

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 https://en.wikibooks.org/wiki/OpenSCAD\_User\_Manual. A tutorial can be found at https://en.wikibooks.org/wiki/OpenSCAD\_Tutorial.

## OPTIONS

- **-o** *outputfile*

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

  Known extensions: stl, off, amf, 3mf, csg, dxf, svg, png, echo, ast, term, nef3, nefdbg.

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

- **--export-format**

  **Overrides format of exported scad file when using option -o, arg can** **be any of its supported file extensions.**

- **-q**

  **Quiet mode (don't print anything except errors)**

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

- **-p**

  **Customizer parameter file.**

- **-p**

  **Customizer parameter set.**

- **-v**

  **Print version.**

- **--render**

  **If exporting an image, render the model fully. (Default is preview)**

- **--preview\[=throwntogether\]**

  **If exporting an image, use an OpenCSG preview (optionally in throwntogether mode for quicker rendering).**

- **--animate\[=N\]**

  **Export N animated frames as PNG images.**

- **--view\[=axes\|crosshairs\|edges\|scales\|wireframe\]**

  **View options**

- **--csglimit=limit**

  **If exporting an image as an OpenCSG preview, stop rendering after encountering** *limit* **elements to avoid runaway resource usage.**

- **--camera=transx,transy,transz,rotx,roty,rotz,distance**

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

- **--camera=eyex,eyey,eyez,centerx,centery,centerz**

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

- **--viewall**

  **If exporting an image, adjust camera distance to fit the whole design in the frame**

- **--autocenter**

  **If exporting an image, center the design in the frame**

- **--imgsize=width,height**

  **If exporting an image, specify the pixel width and height**

- **--projection=\[o\|ortho\|p\|perspective\]**

  **If exporting an image, specify whether to use orthographic or perspective**  **projection**

- **--colorscheme=*scheme***

  **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** **Solarized, Tomorrow, Tomorrow 2, Tomorrow Night,** **Monotone.**

- **--hardwarnings**

  **Stop on the first warning**

- **--check-parameters=\[true\|false\]**

  **Configure the parameter check for user modules and functions**

- **--check-parameter-ranges=\[true\|false\]**

  **Configure the parameter range check for builtin modules**

- **--info**

  **Show which versions of libraries were used to compile the program, and which** **OpenGL details are discovered.**

## COMMAND LINE EXAMPLES

**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 -o example017.dxf -D'mode="parts"' examples/example017.scad**

## AUTHOR

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

**This manual page was written by chrysn \<chrysn@fsfe.org\>,** **for the Debian project (and may be used by others). Updated by**  **the OpenSCAD team.**
