SolidWorks Programme - STL2POV Konverter
|
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. |
Modell
in SolidWorks
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 ...)
|
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. |
Modell
in SolidWorks
erzeugte STL-Dateien
STL2POV Konverter
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.
- Die Kamera wird nicht aus SolidWorks übernommen, sondern einfach
standardmäßig eingebaut. Sie liegt bei <0, 200, 500> und Blickrichtung ist genau auf
den Nullpunkt des Modells. Wenn Sie also ein (von den Abmessungen) her sehr großes Modell
haben kann es passieren, das die Camera in Ihrem Modell ist.
Logischerweise sehen Sie dann nichts, d.h. die geraytracete Scene ist schwarz.
Wenn Ihr Modell nicht in der Nähe des Ursprungs ist, kann es sein, das Sie nichts von dem
Modell sehen.
Legen Sie also die Position für die Kamera und die Blickrichtung nach den Erfordernissen
Ihres Modells fest.
- POV-RAY benutzt ein linkshändiges Koordinatensystem, SolidWorks
dagegen ein rechtshändiges. Dies müssen Sie beachten, wenn Sie die
Z-Koordinaten (also i.A. die Tiefeninformation) in POV-RAY bearbeiten. Deswegen sehen Sie
auch in der Standardeinstellung alles spiegelverkehrt (an der X-Y Ebene gespiegelt).
Kommentieren Sie in der Scenedatei einfach den right-Vektor der Camera
wieder ein, dann haben Sie dieselben Koordinatenrichtungen wie in SolidWorks.
- Jedes Objekt hat in der unbearbeiteten Scenedatei als Textur einfach nur die Farbe Rot
zugewiesen, also nicht wundern, wenn alles einfach rot ist. Editieren Sie die Scene und
fügen Sie den einzelnen Objekten realistische Texturen zu. Ich persönlich benutze seit
längerer Zeit den ausgezeichneten Viewer TextureView von
Friedemann Schmidt zur Anzeige, Verwaltung und Übernahme von Texturen. Sie
können die deutschsprachige Freeware direkt von seiner Homepage unter http://www.friedemann-schmidt.de/
herunterladen.
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:
- Lichter aus SolidWorks übernehmen
- Kameraposition aus SolidWorks ermitteln und übernehmen
- Seitenverhältnis des Bildschirms in SolidWorks ermitteln und übernehmen
- Farb- und erweiterte Farbinformationen der Komponenten aus SolidWorks übernehmen
- Texturen, Pigment, Finish etc. direkt im Programm den Komponenten zuweisen und im Modell
mit abspeichern.
- und, und, und ...
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
|
Kritik und Anregungen bitte an Stefan
Berlitz. Letzte Änderung dieser Seite am Donnerstag, 01. Februar 2007 17:40 |