OpenSCAD
   HOME

TheInfoList



OR:

OpenSCAD is a
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
application for creating solid 3D computer-aided design (CAD) objects. It is a script-only based modeller that uses its own description language; parts can be previewed, but cannot be interactively 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 sum In geometry, the Minkowski sum (also known as dilation) of two sets of position vectors ''A'' and ''B'' in Euclidean space is formed by adding each vector in ''A'' to each vector in ''B'', i.e., the set : A + B = \. Analogously, the Minkowski ...
s) to render a 3D model. As such, the program does constructive solid geometry (CSG). OpenSCAD is available for
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ser ...
,
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
and
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
.


Previewing

For fast previewing of models using
z-buffering A depth buffer, also known as a z-buffer, is a type of data buffer used in computer graphics to represent depth information of objects in 3D space from a particular perspective. Depth buffers are an aid to rendering a scene to ensure that the ...
, 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). 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. OpenSCAD documents are human-readable scripts in plain ASCII text and potentially syntacitically better suited to integrate with version control systems such as GIT. As such, OpenSCAD is a programmer-oriented solid-modeling tool and has been recommended as an entry-level
CAD Computer-aided design (CAD) is the use of computers (or ) to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve co ...
tool for designing open-source hardware such as scientific tools for research and education. It is mostly used to design
3D printed 3D printing or additive manufacturing is the construction of a three-dimensional object from a CAD model or a digital 3D model. It can be done in a variety of processes in which material is deposited, joined or solidified under computer co ...
parts, which are exported in STL format. 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 (
Finite Element Method The finite element method (FEM) is a popular method for numerically solving differential equations arising in engineering and mathematical modeling. Typical problem areas of interest include the traditional fields of structural analysis, heat ...
) is available. FreeCAD can import OpenSCAD files also for FEM with Calculix or other supported FEM solvers. FreeCAD features a workbench for interoperability with OpenSCAD.


Exportation

* Views can be exported in PNG format. * 2D models can be exported in SVG,
AutoCAD DXF AutoCAD DXF (Drawing Interchange Format, or Drawing Exchange Format) is a CAD data file format developed by Autodesk for enabling data interoperability between AutoCAD and other programs. DXF was introduced in December 1982 as part of AutoCAD ...
and PDF. * 3D parts can be exported in
3MF 3D Manufacturing Format or 3MF is an open source file format standard developed and published by the 3MF Consortium. 3MF is an XML-based data format designed specifically for additive manufacturing. It includes information about materials, color ...
, 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, OFF, AMF and 3MF 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 The Computational Geometry Algorithms Library (CGAL) is an open source software library of computational geometry algorithms. While primarily written in C++, Scilab bindings and bindings generated with SWIG (supporting Python and Java for now) ...
(CGAL) as its basic CSG engine. Its script syntax reflects a
functional programming In computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarative programming paradigm in which function definitions are trees of expressions that ...
philosophy. Much as in
Haskell Haskell () is a general-purpose, statically-typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research and industrial applications, Haskell has pioneered a number of programming lan ...
, within a scope each "variable" is treated as a constant, immutable with at most one value.


Platform Implementations


OpenSCAD
has its own standalone version written in C++ *
FreeCAD FreeCAD is a general-purpose parametric 3D computer-aided design (CAD) modeler and a building information modeling (BIM) software application with finite element method (FEM) support. It is intended for mechanical engineering product design bu ...
: has an OpenSCAD command line interface that can be used in-lieu of the part solver or part workbench


Browser

* https://cadhub.xyz *


See also

*
Comparison of computer-aided design software The table below provides an overview of notable computer-aided design (CAD) software. It does not judge power, ease of use, or other user-experience aspects. The table does not include software that is still in development (beta software). For al ...
* PLaSM is another open source scripting language for creating 3D objects


References


External links

* * *
Primary IRC Chat
{{CAD software 3D computer graphics software for Linux 3D graphics software Computer-aided design software for Linux Engineering software that uses Qt Free 3D graphics software Free computer-aided design software Free software programmed in C++