# OpenSCAD

OpenSCAD é um software de código aberto para a criação de sólidos 3D CAD (desenho assistido por computador). É um modelador baseado somente em scripts e usa sua própria linguagem de descrição; as partes podem ser visualizadas, mas não podem ser interativamente selecionadas ou modificadas com o mouse na janela de visualização 3D. Um script do OpenSCAD especifica primitivos geométricos (tais como esferas, caixas, cilindros, etc.) e define a forma como eles são modificados e combinados (por exemplo, interseção, diferença, envelope de combinação e adição de Minkowski) para compor um modelo 3D. Ou seja, o programa realiza geometria sólida construtiva (CSG). OpenSCAD está disponível para Windows, Linux e OS X.

## Visualização

Para rápida pré-visualização de modelos usando o z-buffer, OpenSCAD emprega OpenCSG e OpenGL.
A posição do modelo 3D pode ser manipulada de forma interativa com o mouse na janela de exibição de forma semelhante a outros modeladores 3D. Também é possível definir uma posição padrão para a câmera no script. Pré-visualização é relativamente rápida e permite modificações interativas ao modificar o script.
Cores das partes podem ser definidas na janela de visualização 3D (incluindo transparência). O renderizador leva em conta a iluminação, mas a fonte de iluminação não é modificável.

## Computação de volumes 3D

Em contraste com a pré-visualização, CGAL é usado para renderização completa das geometrias 3D, o que, como em outros motores de geometria CSG, pode demorar vários minutos ou horas para ser concluído.

## Uso

OpenSCAD permite que um designer crie modelos 3D precisos e designs paramétricos que podem ser facilmente ajustados alterando os parâmetros.
Documentos OpenSCAD são scripts legíveis em texto ASCII simples. Assim sendo, OpenSCAD é um programa de modelagem voltado para programadores e tem sido recomendado como uma ferramenta CAD introdutória para a concepção de hardware livre, como ferramentas científicas para ensino e pesquisa.
Ele é usado principalmente no design de peças de impressoras 3D, que são exportados em formato STL.

## Exportação

* Visualizações podem ser exportadas em formato PNG.
* Modelos 2D podem ser exportados em DXF do AutoCAD.
* Peças em 3D pode ser exportadas em AMF, OFF, STL, como volumes simples. Não há cor, material, nem definição de peças do modelo exportado (julho de 2016).

## Importação

* Desenhos 2D em DXF podem ser importados, em seguida, extrudados como partes monolíticas.
* Peças em 3D podem ser importadas como STL e podem ser dimensionadas e submetidas a operações de subtração ou adição.

## Animação

A animação é possível com a velocidade de algumas imagens por segundo para modelos simples. A animação pode afetar qualquer parâmetro, seja a posição da câmera, ou as dimensões, posições, forma ou existência de peças. Ela pode ser gravada como um conjunto de imagens usadas para criar vídeos.

## Design

OpenScad é um wrapper para um motor de CSG com uma interface gráfica e editor integrado, desenvolvido em C++. A partir de 2016, ele usa a Computational Geometry Algorithms Library (CGAL) como base motor CSG.
A sintaxe de seus scripts é baseada na filosofia de programação funcional e não usa variáveis reais.