## IntroductionEdit

It is free software and available for GNU/Linux, MS Windows and Apple OS X.

Unlike most free software for creating 3D models (such as the well-known application Blender), OpenSCAD does not focus on the artistic aspects of 3D modelling, but instead focuses on the CAD aspects. So it might be the application you are looking for when you are planning to create 3D models of machine parts, but probably is not what you are looking for when you are more interested in creating computer-animated movies.

OpenSCAD is not an interactive modeller. Instead it is something like a 3D interpreter that reads in a script file that describes the object and renders the 3D model from the script file. This gives you (the designer) full control over the modelling process and enables you to easily change any step in the modelling process, or even to produce designs that are defined by configurable parameters.

OpenSCAD provides two main modelling techniques: First, constructive solid geometry (CSG) and second, extrusion of 2D outlines. Autocad DXF files are used as the data exchange format for the 2D outlines. In addition to 2D paths for extrusion, it is also possible to read design parameters from DXF files. In addition to reading DXF files, OpenSCAD can also read and create 3D models in the STL and OFF file formats.

People who don't want to (or can't) install new software on their computer may be able to use OpenJSCAD ( http://OpenJSCAD.org/ ), a port of OpenSCAD that runs in a web browser, if your browser supports WebGL

A pt_BR translation of this document is avaliable on GitHub repository (not completed/on development) [1]

Teachers: A basic 25 slide presentation is made freely available under GNUFDL to walk your students through the process of using OpenSCAD here

First Steps

## OverviewEdit

1. First Steps
1. Primitive Solids - cube, sphere, cylinder & polyhedron
2. General - comments, variables & input, dxf_dim()
3. Mathematical Operators
4. Mathematical Functions
1. Trigonometric (cos sin tan acos asin atan atan2)
2. Other (abs ceil cross exp floor ln len log lookup max min norm pow rands round sign sqrt)
5. String Functions - str, chr
6. List Comprehensions
7. Transformations - Size & placement. scale, resize, rotate, translate, mirror, multmatrix, color, minkowski & hull
8. Conditional and Iterator Functions - for, if & assign
9. CSG Modelling - Combine primitives. union, difference, intersection & render
10. Modifier Characters - Debugging aids, % # ! *
11. Modules - Write your own primitive/transformation function
12. User-Defined Functions
13. Include Statement
14. Other Language Features - Special '\$' variables, echo, render, offset, surface, search , version() & version_num()
4. Using the 2D Subsystem
1. 2D Primitives - square, circle, polygon & import_dxf
2. Text - Generate text using installed or user supplied font files.
3. 3D to 2D Projection - projection
4. 2D to 3D Extrusion - linear_extrude & rotate_extrude
5. DXF Extrusion
6. Other 2D formats
5. STL Import and Export
6. Commented Example Projects
7. Using an external Editor with OpenSCAD
8. Using OpenSCAD in a command line environment