Open Source im professionellen Einsatz

Von der Idee bis zum handfesten 3D-Teil mit Linux

Formgebung

Wer Vorlagen für Rapid-Prototyping-Werkstücke erzeugen wollte, war bisher auf teure CAD-Programme angewiesen. Mit den hier vorgestellten Werkzeugen gibt es erstmals eine komplette Kette aus freier Software, die mit einem Povray-Modell beginnt und beim Werkstück aus Polymeren endet.

Damit ein Prototyp oder ein Kleinseriengerät Gestalt annimmt, kommen heute gern so genannte Rapid-Prototyping-Werkstücke zum Einsatz. Dem Hersteller dieser Teile wird dabei eine Datei übermittelt, die eine komplett in Dreiecksfacetten zerlegte Oberfläche des gewünschten Teils beschreibt. Der Dienstleister fertigt auf dieser Grundlage dann das gewünschte Teil mit einem dafür geeigneten Verfahren.

Am gebräuchlichsten sind derzeit Stereolithographie (das Werkstück wird aus einem Gel mittels Laserlicht selektiv ausgehärtet) und selektives Lasersintern, wobei das Teil anhand der CAD-Daten aus einem Pulver durch gezielte örtliche Wärmeeinwirkung in seiner endgültigen Form gebacken wird.

Bereits seit längerem besteht unter Linux die Möglichkeit, dreidimensionale Situationen zu modellieren und fotorealistisch darzustellen. Das Programm Povray und seine Skriptsprache bieten dazu alle notwendigen Fähigkeiten, die Bedienung kann zusätzlich noch durch die Verwendung eines geeigneten Geometrie-Editors wie KPov Modeler oder Sceda vereinfacht werden. Einen optischen Eindruck des vorerst nur virtuell vorhandenen Werkstücks kann man sich also leicht verschaffen.

Wollte man dieses vorhandene Computermodell auch tatsächlich anfertigen lassen, dann war bisher an dieser Stelle die Welt zu Ende. Das Povray-Modell ließ sich nicht weiterverwenden, kein Weg führte an der Benutzung recht kostenintensiver kommerzieller (CAD-)Modellierungssoftware vorbei.

Loch in der Werkzeugkette

Die Alternative ist das Projekt Volume3D, das derzeit vor allem aus einem in Pascal geschriebenen 3D-Kern besteht. Verschiedene mit diesem Kern arbeitende Geometriekonverter erzeugen ein für Rapid Prototyping geeignetes Datenformat aus einem Povray-Modell. Daraus kann dann direkt der Prototyp entstehen. Der 3D-Kern der Software selbst ist nicht ausschließlich auf Linux festgelegt, sondern auch unter anderen Betriebssystemen mit leichten Änderungen übersetz- und ausführbar.

Der Hersteller will für seine Planungen ein Bild von einem Gerät, das es noch gar nicht gibt? Gar kein Problem. Schnell ist ein kleines Povray-Skript geschrieben, ein fotorealistisches Bild erzeugt, etwas montiert. Sieht fast aus wie fotografiert (Abbildung 1). Jetzt müssten sich doch genau so schnell von diesem Teil zehn Stück anfertigen lassen!

Am Anfang stand das Problem

Anfragen in einigen entsprechenden Newsgroups fanden jedoch kaum ermutigende Antworten. Auch andere Quellen im Internet verbreiteten genauso wenig Optimismus. Selbst wenn das Vorhaben ziemlich kompliziert zu sein scheint: Es verheißt die Schließung der bestehenden Lücke zwischen Modellierung und fotorealistischer Darstellung auf der einen Seite und der Materialisierung einer Idee auf der anderen, also einen zu großen Nutzen, um nicht zum Weitermachen anzuspornen.

Welche Komponenten müssen ergänzt werden, um einen durchgehenden Ablauf vom Povray-Modell bis zu den Fertigungs-Grunddaten herzustellen? Ein Parser ist nötig, um die Povray-Modellbeschreibung zu lesen und ein entsprechendes Objektmodell mit triangulierter Oberfläche anzulegen. Darunter liegende Softwareschichten einer 3D-Bibliothek sind für die Erzeugung von Grundformen, Verwaltung, boolesche Operationen und Transformationen sowie den Export in verschiedene Datenformate verantwortlich. Ein Viewer dient nach der Umwandlung des Povray-Modells in eine aus Dreiecken zusammengesetzte (triangulierte) Oberfläche zur Kontrolle, ob die Konvertierung fehlerfrei abgelaufen ist. So stand der Entschluss, mal ein kleines Pascal-Programm zu schreiben, das diese Abläufe automatisiert, schnell fest.

Abbildung 1: Dieses Teil brachte den Stein ins Rollen: Intralogic- Frontblende mit Povray modelliert und visualisiert.

Abbildung 1: Dieses Teil brachte den Stein ins Rollen: Intralogic- Frontblende mit Povray modelliert und visualisiert.

Abbildung 2: Die fertige Intralogic-Groupware-Appliance mit Rapid-Prototyping-Frontteil.

Abbildung 2: Die fertige Intralogic-Groupware-Appliance mit Rapid-Prototyping-Frontteil.

Als Compiler wurde der Free-Pascal-Compiler ausgewählt, der unter Linux, DOS/Windows und OS/2 einsetzbar ist. Als Alternativen wären auch der GNU-Pascal-Compiler - für fast alle Betriebssysteme und Hardware-Umgebungen, er muss aber für exotische Systeme selbst kompiliert werden - oder Borland Turbo Pascal ab Version 6 (DOS) oder Delphi/Kylix geeignet.

Von Fall zu Fall sind kleine Änderungen erforderlich. Es hätte auch C++ sein können - für nicht ganz so systemnahe Programmierung wie im vorliegenden Fall ist Pascal aber kein Nachteil. Falls nahtlose Integration mit C++-Code notwendig ist, kann das mit dem GNU-Compiler am problemlosesten und elegantesten realisiert werden.

Abbildung 3: Das rechtshändige Koordinatensystem bestimmt die Reihenfolge der Eckpunkte.

Abbildung 3: Das rechtshändige Koordinatensystem bestimmt die Reihenfolge der Eckpunkte.

Also los! Sicherlich wäre auch die GNU Triangulated Surfaces Library eine Überlegung wert gewesen, aber schließlich siegte der Drang, selbst in die Tiefen dreidimensionaler Modellierung vorzudringen und eine schlanke 3D-Bibliothek aufzubauen. Intern liegt die hier vorgestellte Bibliothek von der Datenrepräsentation her nahe an dem für den CAM-Export wichtigen Fileformat STL (definierte Innen- beziehungsweise Außen-Orientierung der Facetten).

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook