Wir nutzen Cookies, um das allgemeine Benutzerelebnis zu verbessern. Mit der Nutzung unseres Wikis stimmst du der Nutzung von Cookies zu.

BlocksCAD

BlocksCAD ist wie Scratch oder Beetle Blocks eine grafische auf Blöcken basierende Entwicklungsumgebung welche einen einfachen Zugang zum rechnerunterstützten Konstruieren (computer-aided design (CAD)) bietet. BlocksCAD läuft wie Scratch im Webbrowser, basiert aber wie Snap! auf HTML5 und hängt somit nicht von Adobe Flash ab. Es läuft auf Google Chrome oder Firefox, erfordert aber dass WEbGL eingeschaltet ist.

BlocksCAD wurde mit Hilfe von Förderungen der DARPA (Defense Advanced Research Projects Agency) entwickelt und ist unter der GPL v3 als Open-Source-Projekt veröffentlicht.

BlocksCAD bietet vor allem Kindern und Leuten ohne Computerkenntnisse einen Zugang zur 3D-Konstruktion und zum Erstellen von Modellen zum 3D-Drucken zu geben. BlocksCAD wird unter anderen von Einstein’s Workshop, einer Kinderwerkstatt zur Förderung technischer Fähigkeiten, verwendet. Einstein’s Workshop bietet auch eine online verwendbare Version von BlocksCAD an.

Befehle in BlocksCAD

BlocksCAD bietet in der sogenannten Toolbox am linken Rand 10 verschiedene Gruppen von Blöcken an, wobei jede Gruppe durch durch eine einheitliche Farbgebung sichtbar gemacht wird. Das Interface und die Blöcke sind derzeit nur in englischer Sprache verfügbar.

3D Shapes
Grundformen Kugel, Quader, Zylinder und Torus, bei denen die Größe als Parameter angegeben werden kann.
2D Shapes
Kreis und Rechteck, die Größe wird als Parameter angegeben.
Transforms
Anders als bei Beetle Blocks werden Objekte in BlocksCAD durch ihre absoluten Positionen in die 3D-Welt gedruckt, es gibt also keinen Cursor oder keine Figur, deren Position die Position des nächsten Abdrucks bestimmt. Statt Bewegungsblöcken gibt es daher Transform-Blöcke, welche eine Verschiebung, Rotation, Spiegelung, etc. definieren. Die Transform-Blöcke sind Klammer-Blöcke, wobei die Transformation sich nur auf genau jene Objekte bezieht, die sich im Klammer-Block befinden.
Beispiel für die Difference-Mengenoperation zum Zeichen eines Würfels mit herausgeschnittenen Teilen
Set Ops (Mengenoperationen)
Mengenoperationen erlauben das Kombinieren von Objekten, sodass Teile zusammengefügt, weggeschnitten, vereinigt oder auf ihre Hüller reduziert werden.
Math
Arithmetische Rechenblöcke und Konstanten
Logic
Wenn-dann-Blöcke und Logische Operatoren
Loops
Schleifenoperationen, statt einer "wiederhole Fortlaufend"-Schleife gibt es hier eine Schleife mit Zählvariable
Text
Blöcke zum Generieren von Text in 2D und 3D in verschiedenen Schriftarten
Variables
Blöcke zum setzen und Abrufen von Variablen
Modules
Klammer-Blöcke zum Erstellen von Unterprogrammen und Funktionen. Die Blöcke beginnen mit dem Schlüsselwort "to", was auf die Programmiersprache Logo zurückgeht. Um die Übersichtlichkeit zu verbessern, können Unterprogramme zusammengeklappt werden, sodass der Code im Unterprogramm nicht angezeigt wird.

Um den Einstieg für Anfänger zu erleichtern gibt es eine Einstellung "Simple Toolbox" welche nur sechs Befehlsgruppen (3D Shapes, Transforms, Set Ops, Math, Variables, Modules) mit jeweils geringerem Befehlsumfang anzeigt.

Rendering-Fenster mit Render- und Generate STL-Button

Das Rendering-Fenster

BlocksCAD stellt auf der rechten Seite ein Rendering-Fenster dar, welches eine 3D-Ansicht des Ergebnisses des Programms zeigt. Im Rendering-Fenster gibt es eine Schaltläche namens Render welche das Programm ausführt. Programme in BlocksCAD sind nicht interaktiv, sondern laufen in einem durch. Das erzeugte 3D-Modell kann dann aus verschiedenen Ansichten betrachtet werden und mit dem Scrollrad der Maus gezoomt werden.

Speichern und Export

Projekte können vom Browser aus lokal am Computer als XML Datei gespeichert und geladen werden. Zusätzlich besteht die Möglichkeit, das gerenderte Ergebnis als STL-Datei zu speichern. Eine solche STL-Datei kann dann direkt zum Drucken von 3D-Modellen verwendet werden.

Beispiele

Erstellung eines dreidimensionalen Kleeblattknotens, definiert durch die Formeln x(t) = sin(t) + 2sin(2t) ; y(t) = cos(t) - 2cos(2t) ; z(t) = -sin(3t) welche im Programm links umgesetzt sind.
Detaillierte Modellierung eines Fisches. Der umfangreiche Code ist durch Unterprogramme strukturiert. Bis auf das Unterprogramm "make side fin" ist der Code der Unterprogramme ausgeblendet.

WebGL installieren und aktivieren

WebGL ist eine Komponente von Webbrowsern, um hardwarebeschleunigte 3D-Grafiken direkt im Browser ohne zusätzliche Erweiterungen darzustellen. Auf Windows-Rechnern ist dazu die Microsoft DirectX runtime zu installieren. Unter Linux funktioniert es mit aktuellen Nvidia-Grafiktreibern.

Im Chrome-Browser funktioniert WebGL dann anstandslos.

Um WebGL im Firefox-Browser zu aktivieren, ist es eventuell notwendig, about: config in die Firefox-Adressleiste einzugeben und den Wert webgl.force-enabled auf true zu setzen.

Videos

BlocksCAD: Easy 3D CAD for Kids & Adults, Open-Sourced

Links



Code zum Einbinden ins Forum:
[wiki=de:BlocksCAD]BlocksCAD[/wiki]