Arch OBJ/de: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 15: Line 15:
==Beschreibung==
==Beschreibung==


Zusätzlich zu FreeCADs Standard-[http://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ]-Exportfunktion hat derArbeitsbereich [[Arch_Workbench/de|Arch]] eine alternative Exportfunktion, die komplanare Flächen als eine einzige OBJ-Flächen exportiert, anstatt sie als [[Shape/de|Form]]-basierte Objekte zu triangulieren, wie es die Standard-Exportfunktion tut.
Zusätzlich zu FreeCADs Standard-[http://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ]-Exportfunktion hat derArbeitsbereich [[Arch_Workbench/de|Arch]] eine alternative Exportfunktion, die komplanare Flächen als eine einzige OBJ-Fläche exportiert, anstatt sie als [[Shape/de|Form]]-basierte Objekte zu triangulieren, wie es die Standard-Exportfunktion tut.


<span id="Exporting_without_GUI"></span>
<span id="Exporting_without_GUI"></span>

Revision as of 17:15, 29 October 2023

Beschreibung

Zusätzlich zu FreeCADs Standard-OBJ-Exportfunktion hat derArbeitsbereich Arch eine alternative Exportfunktion, die komplanare Flächen als eine einzige OBJ-Fläche exportiert, anstatt sie als Form-basierte Objekte zu triangulieren, wie es die Standard-Exportfunktion tut.

Exportieren ohne GUI

Exportieren ohne die grafische Benutzeroberfläche ist auf der Kommandozeile nur mit dem Mesh-Arbeitsbereich-Exporter möglich.

In diesem Beispiel wird eine STEP-Datei importiert, die Farben der Form werden gespeichert, dann ein Polygonnetz daraus erstellt, die Farben des Originalobjekts auf die Flächen des neuen Netzes angewendet, das dann im OBJ-Format exportiert wird. Weil dies mit dem Mesh-Arbeitsbereich passiert, ist das Ergebnis ein trianguliertes Netz.

import Mesh
import MeshPart
import Import

data = Import.open("example.stp")
shape = data[0][0].Shape
shape_colors = data[0][1]

mesh = MeshPart.meshFromShape(Shape=shape, LinearDeflection=0.1, Segments=True)

face_colors = [(0, 0, 0)] * mesh.CountFacets

for i in range(mesh.countSegments()):
    color = shape_colors[i]
    segm = mesh.getSegment(i)
    for j in segm:
        face_colors[j] = color

mesh.write(Filename="new_example.obj", Material=face_colors, Format="obj")

Weitere Informationen

Tutorials