Arch OBJ/de: Difference between revisions

From FreeCAD Documentation
(Created page with "==Übungen== * Import von STL oder OBJ * Export nach STL oder OBJ")
(Updating to match new version of source page)
(27 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
Zusätzlich zur Standard-FreeCAD [http://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ]-Exportfunktion hat das [[Arch Module/de|Arch-Modul]] eine alternative Exportfunktion, die nebeneinander liegende Flächen als vollständige (whole) Flächen exportiert, anstatt als dreiecksbasierte [[Part Module/de|Formteil]]-Objekte, wie es die Standard-Exportfunktion tut.


<div class="mw-translate-fuzzy">
{{docnav/de
|[[Arch_DAE/de|DAE]]
|[[Arch_JSON/de|JSON]]
|[[Arch_Workbench/de|Arch-Arbeitsbereich]]
}}
</div>

==Beschreibung==

Zusätzlich zur Standard-FreeCAD [http://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ]-Exportfunktion hat das [[Arch_Workbench/de|Arch-Modul]] eine alternative Exportfunktion, die nebeneinander liegende Flächen als vollständige (whole) Flächen exportiert, anstatt als dreiecksbasierte [[Shape/de|Formteil]]-Objekte, wie es die Standard-Exportfunktion tut.

== Exportieren ohne GUI ==

Exportieren ohne die grafische Benutzeroberfläche ist auf der Kommandozeile nur mit dem [[Mesh_Export/de|Mesh-Arbeitsbereich]]-Exporter möglich.

In diesem Beispiel wird eine STEP-Datei importiert, die Farben der [[Shape/de|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.

{{Code|code=
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 ==

* [https://forum.freecadweb.org/viewtopic.php?f=8&t=37452 Convert STEP to Wavefront OBJ with colors of faces]

==Tutorials==

<div class="mw-translate-fuzzy">
==Übungen==
==Übungen==
* [[Import_from_STL_or_OBJ/de|Import von STL oder OBJ]]
* [[Import_from_STL_or_OBJ/de|Import von STL oder OBJ]]
* [[Export_to_STL_or_OBJ/de|Export nach STL oder OBJ]]
* [[Export_to_STL_or_OBJ/de|Export nach STL oder OBJ]]
</div>


<div class="mw-translate-fuzzy">
{{docnav/de
|[[Arch_DAE/de|DAE]]
|[[Arch_JSON/de|JSON]]
|[[Arch_Workbench/de|Arch-Arbeitsbereich]]
}}
</div>


{{Arch Tools navi{{#translation:}}}}
[[Category:User Documentation/de]]
{{Userdocnavi{{#translation:}}}}
[[Category:File Formats{{#translation:}}]]

Revision as of 15:51, 9 March 2022

Beschreibung

Zusätzlich zur Standard-FreeCAD OBJ-Exportfunktion hat das Arch-Modul eine alternative Exportfunktion, die nebeneinander liegende Flächen als vollständige (whole) Flächen exportiert, anstatt als dreiecksbasierte Formteil-Objekte, 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