![]() | |
![]() OpenSCAD 2015.03 | |
Developer(s) | Marius Kintel, Claire Wolf[1] |
---|---|
Initial release | 19 February 2010 |
Stable release | 2021.01[2]
/ 31 January 2021 |
Preview release | 2021.02.11[3]
/ 11 February 2021 |
Repository | ![]() |
Written in | C++ and Qt, CGAL, OpenCSG, and OpenGL[4] |
Operating system | Linux, macOS, Windows, FreeBSD, NetBSD, OpenBSD |
Platform | IA-32, x64 |
Size | 15–27 MB (varies by operating system)[5] |
Available in | 7 languages |
List of languages Czech, English, French, German, Polish, Russian, Spanish, Magyar | |
Type | CAD |
License | GPLv2 |
Website | www |
OpenSCAD is a free software application for creating solid 3D CAD (computer-aided design) objects. It is a script-only based modeller that uses its own description language; parts can be previewed, but cannot be interactively selected or modified by mouse in the 3D view. An OpenSCAD script specifies geometric primitives (such as spheres, boxes, cylinders, etc.) and defines how they are modified and combined (for instance by intersection, difference, envelope combination and Minkowski sums) to render a 3D model. As such, the program does constructive solid geometry (CSG). OpenSCAD is available for Windows, Linux and macOS.
Previewing
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).[6]
Preview is relatively fast and allows interactive modifications while modifying the script.
The model renderer takes into account lighting, but the lighting source is not modifiable.
Use
OpenSCAD allows a designer to create accurate 3D models and parametric designs that can be easily adjusted by changing the parameters.[7]
OpenSCAD documents are human-readable scripts in plain ASCII text.
As such, OpenSCAD is a programmer-oriented solid-modeling tool[8] and has been recommended as an entry-level CAD tool for designing open-source hardware such as scientific tools for research and education.[9]
It is mostly used to design 3D printed parts, which are exported in STL format.
![](https://web.archive.org/web/20210819091208im_/https://upload.wikimedia.org/wikipedia/commons/thumb/0/08/Strandbeest_3d_-_crank_offset_corrected.gif/220px-Strandbeest_3d_-_crank_offset_corrected.gif)
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.
An experimental coupling with calculix for FEM is available last updated 2019. [10] Freecad can import openscad files also for FEM with Calculix or other supported FEM solvers. [11][12]
Exportation
- Views can be exported in PNG format.
- 2D models can be exported in AutoCAD 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
- 2D drawings in DXF, SVG and PNG can be imported, then extruded as monolithic parts.
- 3D parts can be imported in STL and can be scaled and submitted to subtractive or additive operations.
Design
OpenSCAD is a wrapper to a CSG engine with a graphical user interface and integrated editor, developed in C++. As of 2016, it uses the Computational Geometry Algorithms Library (CGAL) as its basic CSG engine.
Its script syntax reflects a functional programming philosophy. Much as in Haskell, within a scope each "variable" is treated as a constant, immutable with at most one value.
See also
- List of computer-aided design editors for architecture, engineering and construction
- PLaSM is another open source scripting language for creating 3D objects
References
- ^ "Claire Wolf".
- ^ "OpenSCAD News".
- ^ "OpenSCAD Development Snapshots".
- ^ "Building OpenSCAD".
- ^ http://www.openscad.org/downloads.html
- ^ Transparency is evaluated in the construction order, so a part is only transparent for parts already built.
- ^ Evans, Brian (2012), Practical 3D Printers: The Science and Art of 3D Printing, Apress, p. 113, ISBN 9781430243922.
- ^ Pettis, Bre; France, Anna Kaziunas; Shergill, Jay (2012), Getting Started with MakerBot, O'Reilly Media, Inc., p. 131, ISBN 9781449338657.
- ^ Pearce, Joshua M. (2014), "Chapter 6: „Digital Designs and Scientific Hardware"", Open-Source Lab: How to Build Your Own Hardware and Reduce Research Costs, Elsevier, pp. 165–254, ISBN 9780124104624.
- ^ https://github.com/timmaxw/os2cx
- ^ https://wiki.freecadweb.org/OpenSCAD_Module
- ^ https://wiki.freecadweb.org/FEM_CalculiX
External links
OpenSCAD User Manual at Wikibooks
- OpenSCAD page on Shapeoko wiki — includes links to supporting utilities, special purpose tools (such as a screw generator) and includes an example of creating a Machinist's diamond, circle, square milling test as a parameterized file suitable for re-creating at any desired size.
- Videos on the basics of modeling with OpenSCAD
Related software
- 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.
- Rapcad Programmatic modeller
- Blockscad3D Blockly implementation of OpenSCAD