Software:OpenSCAD

From HandWiki
Revision as of 09:08, 9 February 2024 by MedAI (talk | contribs) (fixing)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Free software for creating 3D objects
OpenSCAD
Openscad.svg
Openscad screen english.png
OpenSCAD 2015.03
Developer(s)Marius Kintel, Claire Wolf[1]
Initial release19 February 2010; 14 years ago (2010-02-19)
Written inC++ and Qt, CGAL, OpenCSG, and OpenGL[2]
Operating systemLinux, macOS, Windows, FreeBSD, NetBSD, OpenBSD
PlatformIA-32, x64, arm64
Size15–27 MB (varies by operating system)[3]
Available in12 languages
List of languages
Czech, English, French, German, Polish, Russian, Spanish, Magyar, Armenian, Turkish, Ukrainian, Chinese
TypeCAD
LicenseGPL-2.0-or-later
Websitewww.openscad.org

OpenSCAD is a free software application for creating solid 3D computer-aided design (CAD) objects. It is a script-only based modeller that uses its own description language; the 3D preview can be manipulated interactively, but cannot be interactively modified in 3D. Instead, 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, or Minkowski sums) to render a 3D model. As such, the program performs constructive solid geometry (CSG). OpenSCAD is available for Windows, Linux, and macOS.

Overview

Scripting language

OpenSCAD employs The OpenSCAD Language to produce 3D graphics.

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.[citation needed]

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

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.[6]

OpenSCAD documents are human-readable scripts in plain ASCII text and potentially syntactically better suited to integrate with version control systems such as GIT.

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

It is often used to design 3D printed parts, which can be exported in various 3D file formats. Its script-based parametric nature allows it to be integrated into online model customization services, such as the "Customizer" tool on Thingiverse.

Animation of a Strandbeest model created with OpenSCAD

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 animated GIFs.

An experimental coupling with Calculix for FEM (Finite Element Method) is available.[9] FreeCAD can import OpenSCAD files also for FEM with Calculix or other supported FEM solvers.[10] FreeCAD features a workbench for interoperability with OpenSCAD.[11]

File formats

Imports

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

Exports

OpenSCAD views and models can be exported to many different formats. Including:

  • Views: can be exported in PNG format.
  • 2D models can be exported in SVG, AutoCAD DXF, and PDF.
  • 3D parts can be exported in 3MF, AMF, OFF, and STL as simple volumes. There is no color, material, or parts definition in the exported model.[12]

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.

Platform implementations

  • Official standalone version written in C++ for Windows, MacOS, and Linux
  • FreeCAD: has an OpenSCAD command line interface that can be used instead of the part solver or part workbench
  • Browser implementations are also available, such as cadhub.xyz and openjscad.azurewebsites.net.

See also

References

External links