OpenSCAD User Manual

From Wikibooks, open books for an open world
Jump to: navigation, search

Loupe light.svg

OpenSCAD-logo.png

Introduction[edit]

OpenSCAD is a software for creating solid 3D CAD objects.
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.

OpenSCAD can be downloaded from http://openscad.org/. You may find extra information in the mailing list.

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

Fablab Lannion (France) edited a nice (french speaking) interactive tutorial that you might appreciate.

First Steps

Overview[edit]

  1. 50% developed  as of Oct 2012 First Steps
  2. 50% developed  as of Oct 2012 The OpenSCAD User Interface
  3. 75% developed  as of Oct 2012 The OpenSCAD Language
    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 concat cross exp floor ln len let 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. 50% developed  as of Oct 2012 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. 75% developed  as of Oct 2012 STL Import and Export
    1. STL Import
    2. STL Export
  6. 0% developed  as of Jun 2013 Commented Example Projects
  7. 0% developed  as of Oct 2012 Using an external Editor with OpenSCAD
  8. 50% developed  as of Oct 2012 Using OpenSCAD in a command line environment
  9. 50% developed  as of Oct 2012 Building OpenSCAD from Sources
    1. Building on Linux/UNIX
    2. Cross-compiling for Windows on Linux or Mac OS X
    3. Building on Windows (Outdated)
    4. Building on Windows (New)
    5. Building on Mac OS X
    6. Submitting patches
  10. 25% developed  as of Oct 2012Libraries
  11. 75% developed  as of Oct 2012Command Glossary - Very short name and syntax reference