Title: 1.3. How does OpenSCAD work? 1.3. Wie funktioniert OpenSCAD?
Course: Library of Things >> Part 1: OpenSCAD Basics Library of Things >> Teil 1: Basiskurs in OpenSCAD > Section: 1. Introduction 1. Einführung

OpenSCAD is based on CSG, or Constructive Solid Geometry. It represents an object by combining basic shapes in a particular hierarchy of mainly Boolean operations.

This operations can be explained as follows:

- NOT can be expressed as every point that is inside polygon A but not inside B, and vice versa, effectively performing a subtraction of one from the other, known as difference.
- OR can be expressed as every point that is inside either polygon A or B, therefor also known as union.
- AND can be expressed as every point that is inside of both polygons A and B and thus represents the intersection of A and B.
- XOR can be expressed as every point that only lies in either polygon A or B, leaving out all points that lie on the intersection of A and B.

OpenSCAD uses following syntax principles, that we will learn piece-by-piece in this course:

object();

variable = value;

operator() action();

operator() { action(); action(); }

operator() operator() { action(); action(); }

operator() { operator() action(); operator() { action(); action();

Objects

- are building blocks for models, created by 2D and 3D primitives
- end in a semicolon (;)

Actions:

- statements include creating objects using primitives and assigning values to variables
- end with a semicolon (;)

Operators:

- or transformations, modify the location, color and other properties of Objects
- of different kinds can be used for the same action or group of actions
- closest to the action are processed first
- do not end with a semicolon ;

Values:

- are Numbers e.g. 42, a Boolean e.g. true, a String e.g."foo", a Range e.g.[0:1:10], or the Undef value e.g. undef
- can be stored in variables, passed as function argument, or returned as function result

!Lets get started, first lets look at the software graphical interface first!

OpenSCAD basiert auf CSG oder Construtive Solid Geometry. Es stellt ein Objekt dar, indem es kombiniert wird Grundformen in einer bestimmten Hierarchie von hauptsächlich booleschen Operationen.

Diese Operationen können wie folgt erklärt werden:

- NICHT kann als jeder Punkt ausgedrückt werden, der innerhalb von Polygon A, aber nicht innerhalb von B liegt, und umgekehrt, wodurch effektiv eine Subtraktion des einen vom anderen durchgeführt wird, bekannt als Differenz (difference).
- ODER kann als jeder Punkt ausgedrückt werden, der sich innerhalb von Polygon A oder B befindet, daher auch als Union (union) bekannt.
- AND kann als jeder Punkt ausgedrückt werden, der innerhalb der beiden Polygone A und B liegt und somit den Schnittpunkt (intersection) von A und B darstellt.
- XOR kann als jeder Punkt ausgedrückt werden, der nur in Polygon A oder B liegt, wobei alle Punkte weggelassen werden, die auf dem Schnittpunkt (intersection) von A und B liegen.

OpenSCAD verwendet folgende Syntaxprinzipien, die wir in diesem Kurs Stück für Stück lernen werden:

Objekt();
Variable = Wert;
Operator() Aktion();
Operator () { Aktion (); Aktion(); }
Operator () Operator () { Aktion (); Aktion(); }
Operator () { Operator () Aktion (); Operator () { Aktion (); Aktion(); } }

Objekte:

- sind Bausteine für Modelle, erstellt aus 2D- und 3D-Primitiven.
- enden mit einem Semikolon (;).

Aktionen:

- umfassen Anweisungen, das Erstellen von Objekten mit Primitiven und das Zuweisen von Werten zu Variablen.
- enden mit einem Semikolon (;).

Operatoren:

- oder Transformationen, ändern die Position, Farbe und andere Eigenschaften von Objekten.
- können für dieselbe Aktion oder Aktionsgruppe in unterschiedlicher Art verwendet werden.
- die der Aktion am nächsten sind, werden zuerst verarbeitet.
- enden nicht mit einem Semikolon (;).

Werte:

- sind Zahlen (wie 42), ein Boolean (wie wahr), ein Text (wie "foo"), ein Bereich (wie [0:1:10]) oder der Undef-Wert (undef).
- kann in Variablen gespeichert, als Funktionsargument übergeben oder als Funktionsergebnis zurückgegeben werden.

Fangen wir an! Schauen wir uns zuerst die grafische Benutzeroberfläche der Software an!