<< back

OpenSCAD 2021.01

OpenSCAD - The Programmers Solid 3D CAD Modeller

Category: Graphics & Design
Price: Free
Popularity: Medium
Version String: 2021.01.31
Release Date: 2021-01-31
Architecture: Intel & AppleSilicon(ARM)
Minimum OS: macOS 10.14.0
Vendor Name: OpenSCAD
Homepage: www.openscad.org

Version History 2021.01.31

#{version_history}

Description:

WHAT IS OPENSCAD?




OpenSCAD is a software for creating solid 3D CAD objects. It is free
software and available for Linux/UNIX, MS Windows and Mac OS X.

Unlike most free software for creating 3D models (such as the famous
application Blender), OpenSCAD focuses on the CAD aspects rather than
the artistic aspects of 3D modeling. Thus this might be the application
you are looking for when you are planning to create 3D models of machine
parts but probably not the tool for creating computer-animated movies.

OpenSCAD is not an interactive modeler. Instead it is more like a
3D-compiler that reads a script file that describes the object and
renders the 3D model from this script file (see examples below). This
gives you, the designer, complete control over the modeling process and
enables you to easily change any step in the modeling process or make
designs that are defined by configurable parameters.

OpenSCAD provides two main modeling techniques: First there is
constructive solid geometry (aka CSG) and second there is extrusion of
2D outlines. As the data exchange format for these 2D outlines Autocad
DXF files are used. In addition to 2D paths for extrusion it is also
possible to read design parameters from DXF files. Besides DXF files
OpenSCAD can read and create 3D models in the STL and OFF file formats.



CONTENTS


- Getting Started
- Documentation
- Building OpenSCAD
- Prerequisites
- Getting the source code
- Building for Mac OS X
- Building for Linux/BSD
- Building for Linux/BSD on systems with older or missing
dependencies
- Building for Windows
- Compilation



GETTING STARTED


You can download the latest binaries of OpenSCAD at
https://www.openscad.org/downloads.html. Install binaries as you would
any other software.

When you open OpenSCAD, you’ll see three frames within the window. The
left frame is where you’ll write code to model 3D objects. The right
frame is where you’ll see the 3D rendering of your model.

Let’s make a tree! Type the following code into the left frame:

cylinder(h = 30, r = 8);

Then render the 3D model by hitting F5. Now you can see a cylinder for
the trunk in our tree. Now let’s add the bushy/leafy part of the tree
represented by a sphere. To do so, we will union a cylinder and a
sphere.

union() {
cylinder(h = 30, r = 8);
sphere(20);
}

But, it’s not quite right! The bushy/leafy are around the base of the
tree. We need to move the sphere up the z-axis.

union() {
cylinder(h = 30, r = 8);
translate() sphere(20);
}

And that’s it! You made your first 3D model! There are other primitive
shapes that you can combine with other set operations (union,
intersection, difference) and transformations (rotate, scale, translate)
to make complex models! Check out all the other language features in the
OpenSCAD Manual.



DOCUMENTATION


Have a look at the OpenSCAD Homepage
(https://www.openscad.org/documentation.html) for documentation.


Building OpenSCAD

To build OpenSCAD from source, follow the instructions for the platform
applicable to you below.

Prerequisites

To build OpenSCAD, you need some libraries and tools. The version
numbers in brackets specify the versions which have been used for
development. Other versions may or may not work as well.

If you’re using a newer version of Ubuntu, you can install these
libraries from aptitude. If you’re using Mac, or an older Linux/BSD,
there are build scripts that download and compile the libraries from
source. Follow the instructions for the platform you’re compiling on
below.

- A C++ compiler supporting C++11
- Qt (4.4 -> 5.x)
- QScintilla2 (2.7 ->)
- CGAL (3.6 ->)
- GMP (5.x)
- MPFR (3.x)
- cmake (2.8 ->, required by CGAL and the test framework)
- boost (1.35 ->)
- OpenCSG (1.3.2 ->)
- GLEW (1.5.4 ->)
- Eigen (3.x)
- glib2 (2.x)
- fontconfig (2.10 -> )
- freetype2 (2.4 -> )
- harfbuzz (0.9.19 -> )
- libzip (0.10.1 -> )
- Bison (2.4 -> )
- Flex (2.5.35 -> )
- pkg-config (0.26 -> )
- double-conversion (2.0.1 -> )

Getting the source code

Install git (https://git-scm.com/) onto your system. Then run a clone:

git clone git://github.com/openscad/openscad.git

This will download the latest sources into a directory named openscad.

To pull the MCAD library (https://github.com/openscad/MCAD), do the
following:

cd openscad
git submodule update --init

Building for Mac OS X

Prerequisites:

- Xcode
- cmake
- pkg-config

Install Dependencies:

After building dependencies using one of the following three options,
follow the instructions in the _Compilation_ section.

1. FROM SOURCE

Run the script that sets up the environment variables:

source setenv_mac.sh

Then run the script to compile all the dependencies:

./scripts/macosx-build-dependencies.sh

2. HOMEBREW (assumes Homebrew is already installed)

./scripts/macosx-build-homebrew.sh

3. MACPORTS (assumes MacPorts is already installed)

For the adventurous, it might be possible to build OpenSCAD using
_MacPorts_. The main challenge is that MacPorts have partially
broken libraries, but that tends to change from time to time.

NB! MacPorts currently doesn’t support Qt5 very well, so using Qt4
is the only working option at the moment. However, MacPorts’ Qt4 has
a broken moc command, causing OpenSCAD compilation to    break. This
may be fixed in MacPorts by the time you read this.

       sudo port install opencsg qscintilla boost cgal pkgconfig eigen3 harfbuzz fontconfig

Building for Linux/BSD

First, make sure that you have git installed (often packaged as
‘git-core’ or ‘scmgit’). Once you’ve cloned this git repository,
download and install the dependency packages listed above using your
system’s package manager. A convenience script is provided that can help
with this process on some systems:

sudo ./scripts/uni-get-dependencies.sh

After installing dependencies, check their versions. You can run this
script to help you:

./scripts/check-dependencies.sh

Take care that you don’t have old local copies anywhere (/usr/local/).
If all dependencies are present and of a high enough version, skip ahead
to the Compilation instructions.

Building for Linux/BSD on systems with older or missing dependencies

If some of your system dependency libraries are missing or old, then you
can download and build newer versions into $HOME/openscad_deps by
following this process. First, run the script that sets up the
environment variables.

source ./scripts/setenv-unibuild.sh

Then run the script to compile all the prerequisite libraries above:

./scripts/uni-build-dependencies.sh

Note that huge dependencies like gcc, qt, or glib2 are not included
here, only the smaller ones (boost, CGAL, opencsg, etc). After the
build, again check dependencies.

./scripts/check-dependencies.sh

After that, follow the Compilation instructions below.

Building for Windows

OpenSCAD for Windows is usually cross-compiled from Linux. If you wish
to attempt an MSVC build on Windows, please see this site:
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_on_Windows

To cross-build, first make sure that you have all necessary dependencies
of the MXE project ( listed at https://mxe.cc/#requirements ). Don’t
install MXE itself, the scripts below will do that for you under
$HOME/openscad_deps/mxe

Then get your development tools installed to get GCC. Then after you’ve
cloned this git repository, start a new clean bash shell and run the
script that sets up the environment variables.

source ./scripts/setenv-mingw-xbuild.sh 64

Then run the script to download & compile all the prerequisite libraries
above:

./scripts/mingw-x-build-dependencies.sh 64

Note that this process can take several hours, and tens of gigabytes of
disk space, as it uses the https://mxe.cc system to cross-build many
libraries. After it is complete, build OpenSCAD and package it to an
installer:

./scripts/release-common.sh mingw64

If you wish you can only build the openscad.exe binary:

cd mingw64
qmake ../openscad.pro CONFIG+=mingw-cross-env
make

For a 32-bit Windows cross-build, replace 64 with 32 in the above
instructions.

Compilation

First, run qmake openscad.pro from Qt to generate a Makefile.

On some systems, depending on which version(s) of Qt you have installed,
you may need to specify which version you want to use, e.g. by running
qmake4, qmake-qt4, qmake -qt=qt5, or something alike.

Then run make. Finally you might run make install as root or simply copy
the ‘openscad’ binary (OpenSCAD.app on Mac OS X) to the bin directory of
your choice.

If you had problems compiling from source, raise a new issue in the
issue tracker on the github page.

This site and it’s subpages can also be helpful:
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_OpenSCAD_from_Sources