Tutorial FreeCAD POV ray/de

Einleitung
Dieses Tutorial zeigt, wie man ein gerendertes Bild in FreeCAD mit dem POV-Ray Renderer erzeugt. Es wird davon ausgegangen, dass der Anwender bereits ein Teil oder eine Baugruppe in FreeCAD erstellt oder in FreeCAD importiert hat. Es verwendet die Raytracing Arbeitsbereich, um die Datei für das Rendern zu erzeugen.

Dieses Tutorial basiert auf dem Forumsbeitrag von schupin FreeCAD / pov ray tutorial, der auch eine Datei enthält, die zur Erstellung eines Renderings benötigt wird.



Die in diesem Tutorial verwendeten Dateien befinden sich im Beitrag Nr. 8 im selben Diskussionsbeitrag.

Grundaufbau
Folge dem grundlegenden Arbeitsablauf, der in der Dokumentation Raytracing Workbench/de beschrieben ist.

Damit das direkte Rendern funktioniert, muss die ausführbare Datei in ; setze sie auf deinem Speicherort in deinem System, z.B. . Andere vom Renderer verwendete Optionen können hier ebenfalls definiert werden, einschließlich der Breite  und Höhe  des Bildes sowie die Verwendung von Antialiasing.

Einrichten der .pov Datei
1. Erstelle eine Baugruppe mit Körpern aus der Part oder PartDesign Arbeitsbereich oder eines anderen Arbeitsbereichs, die Volumenkörper erzeugt, z.B. der Arch Workbench. Weise den einzelnen Körpern, aus denen die Baugruppe besteht, Farben oder Materialien zu, die ungefähr der Farbe entsprechen, die du in Ihrem Rendering wünschst.



2. Wenn dein Modell sehr detailliert ist, stelle sicher, dass die des Körpers auf einen niedrigen Wert zwischen  und  oder sogar kleiner eingestellt ist. Je niedriger dieser Wert ist, desto detaillierter wird das exportierte Mesh sein und desto besser wird die Qualität des Renderings sein.



3. Erstelle ein POV-Ray Projekt, durch anklicken von klickst. Wenn das Ansichtsfenster als orthografisch eingestellt ist, ändere es in Perspektive, da der Renderer normalerweise mit einer Kamera mit perspektivischer Ansicht arbeitet. Die Verwendung der perspektivischen Ansicht ermöglicht es dir, die Art der zu rendernden Szene besser zu erkennen.

4. Wähle alle Objekte aus, die du zu deiner Szene hinzufügen möchtest, wähle dann das erstellte Objekt und klicke auf.

Hüte dich vor den Objekten, die derzeit nicht im 3D Ansichtsfenster sichtbar sind. Wenn sie unsichtbar sind, aber in der Szene enthalten sind, werden sie trotzdem gerendert. Wenn andererseits ein Körper wirklich nicht gerendert werden soll, wähle ihn nicht für die Aufnahme in das POV-Ray Projekt aus.

Alle Objekte im POV-Ray Projekt werden einen Namen haben, der auf ihrem internen FreeCAD-Namen basiert. Es ist wichtig zu beachten, welches der POV-Ray Name ist, da diesen POV-Ray Namen weitere Optionen, z.B. die Materialtexturen, zugeordnet werden.

5. Im 3D Ansichtsfenster kannst du die Ansicht zoomen, schwenken und drehen, um die Szene nach deinen Wünschen einzurichten. Stellen sicher, dass die Objekte im Ansichtsfenster zentriert sind, wähle dann das erstellte Objekt aus und drücke.

6. Die POV-Ray Datei ist nun fertig; sie enthält die ausgewählten Objekte und die Kamerainformationen. Wähle das erstellte Objekt und drücke dann, um die Datei   zu speichern.

7. Die erzeugte Datei kann nun direkt aus FreeCAD heraus gerendert werden. Wähle das erstellte Objekt aus und drücke dann. Wenn das Popup Bild auf dem Bildschirm erscheint, klicke auf es, damit es in einem eigenen Fensterreiter an FreeCAD gesendet wird.



7.1. Wenn die Datei bereits erstellt wurde, ist es auch möglich,  von der Befehlszeile aus zu starten.

Die Optionen legen die horizontale und vertikale Pixelgröße des endgültigen Bildes fest.

Die Optionen (Typ 2, rekursive Superabtastung) und  lösen ein Antialiasing aus, um ein glatteres Bild zu erzeugen.

8. Durch Doppelklicken auf das Objekt kann man sehen, dass es die  Vorlage verwendet; diese Vorlage erzeugt eine grundlegende  Datei, die ein einfaches und dunkles Bild erzeugt.

Um das Aussehen des Bildes zu verbessern, verwende eine bessere Vorlage. Doppelklicke auf das Objekt und wähle die Vorlage. Exportiere dann eine neue  Datei und führe den Renderer erneut aus. Das Bild sollte heller und allgemein besser aussehen.



Doppelklicke noch einmal auf das Objekt und wähle nun die Vorlage. Exportiere dann eine neue Datei und führe den Renderer erneut aus. Die Erzeugung des Bildes sollte länger dauern, aber das Ergebnis sollte eine bessere Qualität haben.

Wenn das gerenderte Bild gut genug ist, dann kann es gespeichert werden, und es gibt nichts mehr zu tun. Um jedoch das Aussehen der Materialien genau zu kontrollieren und noch bessere Ergebnisse zu erzielen, muss die Datei manuell bearbeitet werden.

In den folgenden Abschnitten bearbeiten wir die Basisdatei, die mit der Vorlage erstellt wurde.

Bearbeiten der .pov Datei
9. Die von FreeCAD generierte Datei ist eine einfache Textdatei, die mit jedem Editor geöffnet werden kann. Sie ähnelt grob einer C++ Quellcodedatei: Anweisungen beginnen mit einem Hash und werden mit einem Semikolon  abgeschlossen. Geschweifte Klammern  werden verwendet, um Abschnittsblöcke zu begrenzen, und die Einrückung ist ein beliebiger Weißraum. Kommentare werden mit einem doppelten Schrägstrich angegeben; Blockkommentare können wie in C mit einem Paar  definiert werden.

Die Datei mag auf den ersten Blick kompliziert aussehen, aber 90 % ihres Inhalts sind nur Netzdaten, die nicht viele Änderungen erfordern, da diese Netze die Geometrie der Körper darstellen, die wir rendern wollen.

Die Datei ist wie folgt strukturiert:
 * Beinhaltet
 * Globale Einstellungen
 * Himmelskugel
 * Flugzeuge
 * Oberflächen und Texturen
 * Kamera
 * Netz- und Körperinformationen
 * Lichtquelle

Die Kamerainformationen werden nicht berührt, ebenso wenig wie die meisten Informationen in den Netzen. Die wichtigsten Änderungen werden in den anderen Abschnitten vorgenommen.

Da die Netze nicht stark verändert werden, kann die Datei neu organisiert werden, so dass diese Informationen am Ende der Datei stehen.

Dies ist der vollständige Inhalt der Datei, nur ohne die Netze.

Grundlegende Reorganisation
10. Öffne die Datei mit einem Texteditor, gehe zum Ende der Datei, wähle den  Abschnitt aus, schneide ihn aus und füge  ihn vor der ersten  Zeile ein.

Die resultierende Datei sollte die Abschnitte und  nebeneinander haben, zum Beispiel

Lichter vorbereiten
11. Standardmäßig wird in der Projektdatei eine Leuchte mit einer Position und einer Farbe definiert.

Die Position des Lichts wird durch einen Vektor definiert. Die kann wie ein  Vektor festgelegt werden, oder es kann auch eine benannte Farbe wie   sein. Wenn die RGB Werte angegeben werden, sollten sie im Bereich von  bis  liegen, damit das Licht eine normale Helligkeit hat.

Wie andere Objekte auch, kann das Licht mit vielen Optionen modifiziert werden. Die Option erzeugt eine rechteckige Quelle, was realistischer ist, da es zu einer diffusen Beleuchtung führt, die weiche Schatten erzeugt. Das Schlüsselwort hilft, die Berechnungszeit der Lichtwege zu reduzieren; je größer der Wert, desto genauer wird das Ergebnis sein; um lange Renderingzeiten zu vermeiden, solltest du die kleinste Ganzzahl verwenden, die ein akzeptables Ergebnis liefert ( oder  ist normalerweise ausreichend); um das beste Ergebnis zu erhalten, entferne das Schlüsselwort vollständig (lange Renderingzeit). Das Schlüsselwort hilft bei der Verbesserung der Schatten durch zufällige Verschiebung der Position der Lichter. Die Schlüsselwörter und  verwandeln das Flächenlicht in eine sphärische Quelle, die bei abgerundeten Objekten in der Szene bessere Schatten erzeugt. Das Einbeziehen von und  ist hilfreich, um den Wert des Lichts mit der Entfernung abzuschwächen, genau wie es bei einer echten Lichtquelle geschieht.

Richte das von rechts und oben kommende Licht ein.

Wenn die Lichtquelle in der Szene sein soll, kann es nützlich sein, auf dem Bildschirm einen Hinweis darauf zu sehen, wo diese Quelle sein sollte. Erstelle zu diesem Zweck eine Kugel mit einem kleinen Radius und nimm an, dass diese Kugel die Lichtquelle darstellt; positioniere die Kugel an der gewünschten Stelle, bewege dann das Licht sehr nahe an diese Koordinaten und teste die Beleuchtung der Szene; wenn du mit der Position des Lichts zufrieden bist, lösche die Kugel einfach.

12. Der Abschnitt wird verwendet, um einen realistischen Himmelshintergrund zu erstellen. Er wird üblicherweise als ein und eine  von mindestens zwei Farben definiert, um einen fließenden Übergang von der Farbe des Horizonts zur Farbe des Zenits der Szene zu erzeugen.



Bereite die Körpertexturen vor
13. Die Texturen der einzelnen Körper müssen angepasst werden. Dies ist die zeitaufwendigste Aufgabe dieses Prozesses.

In der Datei wird jeder Körper auf folgende Weise beschrieben
 * Fläche1, Fläche2, Fläche3, Fläche4, ...
 * Körper (Vereinigung der Flächen)
 * Objekt

Ein Körpernetz wird durch Flächen definiert, und jede Fläche wird durch eine Reihe von Dreieckselementen definiert, die ihrerseits durch, und  definiert werden. Diese Informationen müssen überhaupt nicht geändert werden. Dann wird jeder Körper als Vereinigung der angegebenen Flächen definiert. Auch diese Information muss nicht verändert werden.

Schließlich wird jedes zu rendernde als einer der spezifizierten Körper definiert, mit einer bestimmten, die ihrerseits durch Eigenschaften wie  und  definiert wird.

Indem man die Datei nach dem Schlüsselwort  durchsucht, ist es möglich, direkt zum gewünschten Teil in der Datei zu gehen und die  entsprechend zu modifizieren.

Wie im Kommentar angegeben, steht die Definition von ganz oben in der Datei, in diesem Fall vor den Kamerainformationen. Dieser Wert kann auf vielfältige Weise deklariert werden, als Kombination verschiedener Eigenschaften, wie in den kommentierten und unkommentierten Zeilen gezeigt wird.

In general, a is a container that describes a material; it includes information like the  (color or graphic),  (how the color changes with the curvature of the surface),  (interaction of the surface with the light),  (agate, brick, dents, leopard, radial, ripples, tiling, waves, wood, etc.), and other properties. There are many options that can be combined together to produce a texture. This mixing is not trivial, but there are many examples online to obtain the desired appearance of the material.

Material libraries
14. POV-Ray comes with an extensive library of materials that can be used by name. By default, the project template makes available some materials by using statements at the beginning of the file. These materials can be further modified as desired.

The library defines basic colors by name,, , , , , , , , and. It also defines several other shades as well as functions to transform colors. The library contains copper, silver, chrome, and brass textures, and  contains the gold textures.

The standard libraries are located in the installation directory of POV-ray, for example

New textures
15. For example, to create a mirror texture, the is given a high value of.

Alternatively, for metals, a predefined finish can be used.

Then it can be assigned to the specific object.

The library defines the  texture (yellow pine, ragged grain). It can be used as the basis of a more complex texture, with some additional scaling and translation.

Then it is assigned to the specific object.

The library defines  as a finish for transparent acrylic; it also defines  as an interior material which, together with the  option, is used to calculate as close as possible the effects of light passing through a transparent material. In this case, the section is used, containing external  and internal  information of the material.

Then it is assigned to the specific object.



Prepare planes
16. If not provided by the original 3D model, planes can be added to simulate a floor or table top on which the objects are standing. More planes can be defined to serve as walls or other types of boundaries.

By default, a single plane is created. It is placed 1 millimeter below the model, so that it appears as a floor. The plane is assigned a basic texture that is black and slightly reflective.

Notice that in POV-Ray the X axis is defined as horizontal (left-right), the Y axis is defined as vertical (up-down), and the Z axis is defined as depth (front-rear).

For a simple gray floor, that is barely reflective use



17. The plane can be given a more complex appearance with the help of normals and material libraries.

Define a normal map that will be used to give the plane the appearance of a parquet floor.

Then define the plane. As use a wood  defined in, and modify it with  and  so that the wood grain looks random. Then add the created normal, together with another normal; this will result in the texture of the parquet with slight imperfections. Then as, make it a little bit reflective and glossy.



18. Add a second plane, this time perpendicular to the Z direction, to serve as a backwall. Displace it just a little bit behind the model to avoid covering the mirror. Include the library, add a generic granite texture, and scale it a bit. This will result in the appearance off a simple dry wall.

A third plane can be added behind the position of the camera so that the mirror reflects a limited area between the two walls.



Prepare the global settings, radiosity
19. The global settings define ambient light.

The property inside the  controls the way POV-Ray computes diffuse light interactions between different objects. It's essential to adjust this property to obtain good rendering results.

Because it can be time consuming to test different settings you can use a variable  and a  statement to quickly set low, medium or high quality render settings. The higher the quality settings the more time is required to render an image.



20. The library defines a macro to quickly set up the  to a predefined configuration.

The value can be one of the predefined constants:

The and  values are either  or.

Therefore, to test different settings, the statement could also be written like in the following.

The exact values used by these presets can be found in the file which is found in the installation directory of POV-Ray, for example:

The Raytracing Workbench has three default templates:
 * , it doesn't use at all.
 * , it uses the preset.
 * , it uses the preset.

Final render
21. The edited file can be saved when all adjustments have been done.

The final structure is as follows:
 * Includes, with additional libraries
 * Global settings, with radiosity parameters
 * Sky sphere, with lighter color
 * Planes, positioned and with textures
 * Finishes and textures, with custom definitions
 * Camera, not changed
 * Light source, with additional properties
 * Mesh and body information, using the textures defined previously

the sections of the file can be in any order, although it is probably easier to work with the file if the mesh information is at the end.

The final rendering can be done by clicking or by running the executable from the command line.



This is the complete content of the file, only without the last section, that is, without the meshes.

Final notes
POV-Ray is a relatively old piece of software, first released in the early 1990s. Its main advantages over more modern software are
 * it is a tested solution that has existed for many years
 * runs in many operating systems
 * the scene can be set with only one text file
 * requires simple computational resources to produce a high quality image, so it works even in relatively old hardware

The user is advised to read the POV-Ray documentation and more tutorials or examples in order to get the right settings for his or her needs.
 * POV-Ray for Unix version 3.7
 * POV-Ray Tutorial
 * POV-Ray Reference