SolidWorks Programme - STL2POV Konverter

Swtool.gif (1531 Byte) Auf diesen Seiten stelle ich einige von meinen Beispielprogrammen zur Verfügung. Um die Dateigrößen für den Download möglichst klein zu halten (und auch, weil ich nicht beliebig viel Webspace zur Verfügung habe) kommen die Programm ohne Installationsroutinen oder die notwendigen Visual Basic Laufzeitbibliotheken.

Programm: STL2POV
Kompiliert: stl2pov.exe
Sourcecode: Visual Basic 6 Sourcecode nicht freigegeben
Beispiele: sind aus Platzgründen nicht mit enthalten
Download: stl2pov.zip (17.536 Bytes)

Das kompilierte Programm stl2pov.exe benötigt keine spezielle Installation, sondern sollte aus jeden beliebigen Ordner heraus lauffähig sein. Scannen Sie sicherheitshalber den Download und die EXE nach dem Herunterladen auf Viren, ich habe alles mit Norton Antivirus und McAffee gescannt, bei mir scheint alles klar zu sein, aber man weiß ja nie.

Wenn Sie keine eigene VB6 Entwicklungsumgebung haben benötigen Sie noch zusätzlich die VB6-Laufzeitbibliotheken. Diese findet man heutzutage auf jeder 2. Heft-CD (und sicherlich auch bei Microsoft) deswegen habe ich es mir verkniffen komplette Installationspakete zu machen (3 Megabyte statt 17 Kilobyte).

Wenn Sie das aber nirgendwo finden können Sie auch eine Kopie der deutschen Runtimeumgebung von meinen Downloadseiten von http://swtools.cad.de herunterladen. Oder laden Sie irgendeins meiner anderen Programme mit Installationssetup, da sind dann die benötigten Runtimes bei.

Zurück zum Seitenanfang

Was soll das überhaupt?

Ich arbeite schon seit geraumer Zeit mit dem IMHO besten Raytracer, den es gibt: POV-RAY. Wenn Sie fotorealistische Bilder generieren wollen, kann ich dieses mächtige Programm nur empfehlen und das beste daran ist, dass dieses Programm und sehr viele Zusatztools vollkommen umsonst sind.

Eine der mühsamen Arbeiten ist das Generieren der Scenen, die dann berechnet werden sollen. Und da ja mit SolidWorks ein hervorragender 3D-Modeller zur Verfügung steht wollte ich einen Weg finden, wie ich die erzeugten Modelle anschließend in POV-RAY raytracen kann. Nichts gegen PhotoWorks, aber a) wird hier "nur" gerendert, b) wollte ich mich nicht auf noch ein Programm einarbeiten und c) kostet das ja auch ein paar Mark.

Wenn Sie also auch schon Erfahrungen mit POV-RAY haben und sich nicht umgewöhnen wollen kommt Ihnen dieser kleine Konverter wahrscheinlich genau richtig.

So, genug erzählt, gehen wir ins Eingemachte.

stl2pov_demo-swklein.gif (2137 Byte)

Modell in SolidWorks

stl2pov_demo160x120.jpg (6204 Byte)

Scene geraytraced

Zurück zum Seitenanfang

Vorbereitung

Zunächst müssen Sie auf Ihrem System POV-RAY installiert haben. Mein Programm läuft zwar auch ohne, aber dann macht das Ganze eigentlich keinen Sinn. Sie können die aktuelle Version von POV-RAY direkt von www.povray.org herunterladen. Installieren Sie das Programm und machen sich mit den Grundlagen des Raytracens vertraut.

Anschließend laden Sie einfach mein Programm STL2POV (sprich: STL to POV) herunter. Das ZIP-File enthält nur die ausführbare EXE-Datei und ist mit 17KB wirklich schnell geladen. Entpacken Sie die Datei in irgendein Verzeichnis Ihrer Wahl, es braucht nichts installiert werden und sollte von überall aus laufen. BTW, das funktioniert nur, wenn Sie die VB6 Laufzeit-Umgebung bereits installiert haben.

Stellen Sie die Exportparameter für STL-Dateien in SolidWorks ein.
  • Ausgabe im ASCII-Format
  • Baugruppen NICHT in eine Datei exportieren (wenn Sie das doch tun, können Sie anschließend in POV-RAY den einzelnen Komponenten nicht mehr unterschiedliche Texturen zuweisen)
  • Qualität der Ausgabe je nach Erfordernis (je feiner die Qualität, desto schöner sehen hinterher die gerenderten Bilder aus, aber umso größer werden auch die Dateien; und wir sprechen hier von mehreren Megabyte ...)
stlexport_small.gif (1802Byte)

STL-Export Parameter

Ob Sie die STL-Infobox vor dem Speichern anzeigen lassen ist Ihrem Geschmack überlassen.

Zurück zum Seitenanfang

Der Weg zum geraytracten Bild

Jetzt kann es losgehen. Rufen Sie in SolidWorks Ihr Modell auf. Sinnvoll ist es bei Assemblies alle Komponenten in einem Verzeichnis zu sammeln, sonst klappt das anschließend mit der Konvertierung nicht vollautomatisch und Sie müssen von Hand nacharbeiten.

Speichern Sie jetzt Ihr Modell (wie gesagt, es klappt auch mit kompletten Baugruppen) als STL-Datei ab. WICHTIG: Stellen Sie die Exportparamter wie oben beschrieben ein.

SolidWorks generiert nun für jede einzelne Komponente ein STL-File. Für die eigentliche Baugruppe und Unterbaugruppen (also die Dateien, die als Endung in SolidWorks SLDASM haben, werden keine STL-Dateien erzeugt; das ist auch ganz okay so. Ich habe allerdings noch nie probiert, was passiert, wenn Sie z.B. in der Baugruppe Schnitte erzeugt haben. Diese Daten werden ja in der Baugruppe gespeichert ... hhmmmm, muss ich unbedingt mal probieren.

Nun gut. Achten Sie darauf, dass Sie genügend Speicherplatz haben, wie Sie am nebenstehenden Beispiel erkennen können, werden diese Dateien SEHR groß. Dies passiert insbesondere bei allen Teilen, die irgendwelche Rundungen haben, da hier sehr kleine Triangles erzeugt werden.

Üblicherweise speichert SolidWorks diese ganzen STL-Dateien in einem Verzeichnis ab.

Jetzt schlägt die Stunde des Konverters, rufen Sie STL2POV auf. Navigieren Sie in der Laufwerk- und Verzeichnisauswahlbox in das Verzeichnis, in dem die STL-Dateien abgespeichert wurden und wählen Sie in der Dateiauswahlbox alle STL-Dateien an, die Sie in der POV-Scene sehen wollen. Vergewissern Sie sich, das genügend Speicherplatz in diesem Verzeichnis vorhanden ist (es erfolgt keine Prüfung!) und klicken Sie anschließend auf den GO-Button. Sie werden nach einem Namen für das Scenenfile gefragt und dann geht's los.

Je nach Umfang der gewählten Dateien kann es jetzt ein paar Minuten dauern, Sie können den Fortschritt aber verfolgen. Ach ja, einen Abbruch der Aktion habe ich noch nicht eingebaut ...

STL2POV erzeugt jetzt für jede ausgewählte STL-Datei eine Include-Datei für POV-RAY und baut darin das Mesh auf. Außerdem wird in dem Scenenfile direkt eine Standardscene mitgeschrieben, in dem alle Includes eingeladen werden, eine Standardkameraposition, Standardlicht und eine Umgebung (eine Skysphere) eingebaut ist. Für jedes Objekt wird eine Textur aufgebaut (alles wird einfach rot gemacht) und das gesamte Modell in eine Union verpackt, so dass Sie auch in POV-RAY noch jedes Objekt, aber auch das gesamte Modell ansprechen können.

stl2pov_demo-swklein.gif (2137 Byte)

Modell in SolidWorks

stl2pov_stlgroesse_small.gif (4274 Byte)

erzeugte STL-Dateien

stl2pov_small.gif (4403 Byte)

STL2POV Konverter

stl2pov_demo160x120.jpg (6204 Byte)

Scene geraytraced

Diese Scenenfile (Endung *.pov) rufen Sie jetzt in POV-RAY auf und lassen es rendern. Eh voila, ein geraytracetes Bild Ihres Modells.

Bis Sie zu einem Ergebnis wie im Beispiel gelangen, müssen Sie logischerweise in POV-RAY noch etwas Hand anlegen. Sie sollten sich mit dem Grundprinzipien vertraut machen, damit Sie den Objekten noch die richtigen Texturen zuweisen, die Lichtquellen nacharbeiten und die Kameraposition anpassen können.

Zurück zum Seitenanfang

Ein paar Tipps für den Anfang

Es gibt einige kleine Fallstricke, die Sie kennen sollten.

Zurück zum Seitenanfang

Erweiterungen sind angedacht

Ich habe schon eine Menge Erweiterungen für dieses Projekt im Kopf, wenn ich die Zeit finde, werde ich so nach und nach einige Funktionen einbinden:

Ach ja, vielleicht mach ich hier auch mal einen kompletten Online-Kursus, wie man diese Bilder erstellt. Aber das ist reichlich viel Arbeit, u.U. mach ich das dann als Shareware ...

Zurück zum Seitenanfang

Feedback

Wenn Sie nicht mehr aus noch ein wissen können Sie mich auch gerne anmailen, die Adresse ist an diversen Stellen aufgeführt. Auch für Anregungen, Kritik (bitte konstruktiv) und Lob bin ich offen und hoffe auf einige Resonanz.

Ach ja, da fehlt noch etwas unvermeidliches:

DISCLAIMER

Die Software, Beispielprogramme und Dokumente stehen "so wie sie sind" zur freien Verfügung. In keinem Fall kann der Autor für irgendwelche Schäden oder auch nur Funktionen zur Verantwortung gezogen werden. Der Benutzer trägt das gesamte Risiko, wenn er dieses Programm benutzt.

Zurück zum Seitenanfang

hr.gif (4491 Byte)

counter Kritik und Anregungen bitte an Stefan Berlitz. Letzte Änderung dieser Seite am Donnerstag, 01. Februar 2007 17:40