OpenSCAD

From Wikipedia, the free encyclopedia
Jump to: navigation, search
OpenSCAD
OpenSCAD-logo.png
Openscad screen english.png
Developer(s) Marius Kintel, Clifford Wolf
Stable release 2015.03 / 10 March 2015; 16 months ago (2015-03-10)
Written in C++ (Qt)[1]
Operating system Windows, Linux, OS X, FreeBSD, OpenBSD
Type CAD
License GNU General Public License
Website www.openscad.org

OpenSCAD is a free software application for creating solid 3D CAD objects. It is a script only based modeller, with a specific description language. Parts cannot be selected or modified by mouse in the 3D view. An OpenSCAD script specifies geometric primitives and defines how they are modified and manipulated to render a 3D model. OpenSCAD is available for Windows, Linux and OS X. It does constructive solid geometry (CSG).

As of 2016, it uses Computational Geometry Algorithms Library (CGAL) as the basic CSG engine, which along with other libraries takes care of details such as intersection, difference, envelope combination and Minkowski sums.

Previewing[edit]

For fast previewing of models using z-buffering, OpenSCAD employs OpenCSG and OpenGL.

The 3D model position can be interactively manipulated in the view with a mouse similarly to other 3D modellers. It is also possible to define a default 'camera' position in the script.

Part colors can be defined in the 3D view (including transparency).[2]

Preview is relatively fast and allow interactive modifications while modifying the script.

The model renderer take into account lighting, but the lighting source is not modifiable.

3D volumes computation[edit]

In contrast, CGAL is used for full 3D geometry rendering, which, as with other CSG geometry engines, can sometimes take several minutes or hours to complete.

Use[edit]

OpenSCAD allows a designer to create accurate 3D models and parametric designs that can be easily adjusted by changing the parameters.[3]

OpenSCAD documents are human-readable scripts in plain ASCII text.

As such, OpenSCAD is a programmer-oriented solid-modeling tool,[4] and has been recommended as an entry-level CAD tool for designing open-source hardware such as scientific tools for research and education.[5]

It is mostly used to design 3D printed parts which are exported in STL format.

Exportation[edit]

  • Views can be exported in png format
  • 2D models can be exported in DXF
  • 3D parts can be exported in AMF, OFF, STL, as simple volumes. There is no color, material nor parts definition in the exported model (July 2016).

Importation[edit]

  • 2D drawings in DXF can be imported, then extruded as monolithic parts
  • 3D parts can be imported in STL and can be scaled and submitted to subs-tractive or additive operations.

Animation[edit]

Animation is possible with a speed of a few images per seconds for simple models. The animation can have effect on any parameter, being it the camera position or the parts dimensions, position, shape or existence. It can be recorded as a set of images usable to build films.

Design[edit]

OpenScad is a wrapper to a CSG engine with a GUI interface and integrated editor, developed in C++.

Its script syntax is based upon functional programming philosophy and does not use real variables.

See also[edit]

References[edit]

  1. ^ https://github.com/openscad/openscad/blob/master/README.md#building-openscad
  2. ^ Transparency is evaluated in the construction order, so a part is only transparent for parts already built
  3. ^ Evans, Brian (2012), Practical 3D Printers: The Science and Art of 3D Printing, Apress, p. 113, ISBN 9781430243922 
  4. ^ Pettis, Bre; France, Anna Kaziunas; Shergill, Jay (2012), Getting Started with MakerBot, O'Reilly Media, Inc., p. 131, ISBN 9781449338657 
  5. ^ Pearce, Joshua M. (2014), Open-Source Lab: How to Build Your Own Hardware and Reduce Research Costs, Elsevier [page needed]

External links[edit]

Related software[edit]

  • OpenJscad Web interface for a programmatic modeller with partial compatibility with OpenScad scripts. Developed in Javascript.
  • ImplicitCAD Script-based modeller with an custom graphic engine. It does have an internal object model. Syntax similar but different from OpenScad. No GUI.
  • Varkon Programmatic modeller with interactivity between the 3D view and the programmatic model. No development since 2009.
  • Rapcad Programmatic modeller
  • CoffeeScad Browser based programmatic modeller using CoffeeScript syntax. No development since 2013.