Difference between revisions of "Arch OBJ/en"

From FreeCAD Documentation
Jump to navigation Jump to search
(Importation d’une nouvelle version depuis une source externe.)
 
(Updating to match new version of source page)
 
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Additionally to the standard FreeCAD [http://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ] exporter, the [[Arch Module]] features an alternative exporter that exports coplanar faces as whole OBJ faces, instead of triangulating [[Part Module|Shape]]-based objects, like the standard exporter does.
+
<languages/>
 +
 
 +
{{Docnav
 +
|[[Arch_DAE|DAE]]
 +
|[[Arch_JSON|JSON]]
 +
|[[Arch_Workbench|Arch]]
 +
|IconL=
 +
|IconR=
 +
|IconC=Workbench_Arch.svg
 +
}}
 +
 
 +
== Description ==
 +
 
 +
Additionally to the standard FreeCAD [http://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ] exporter, the [[Arch_Workbench|Arch Workbench]] features an alternative exporter that exports coplanar faces as whole OBJ faces, instead of triangulating [[Shape|Shape]]-based objects, like the standard exporter does.
 +
 
 +
== Exporting without GUI ==
 +
 
 +
Exporting without the graphical interface is possible from the command line, using the [[Mesh_Workbench|Mesh Workbench]] exporter only.
 +
 
 +
In this example, a STEP file is imported, the colors of the [[Shape|Shape]] are saved, then a mesh is created from it, the colors of the original object are re-applied to the faces of the new mesh, which is then exported to OBJ format. Since this is done with the Mesh Workbench, the result is a triangulated mesh.
 +
 
 +
{{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")
 +
}}
 +
 
 +
== More information ==
 +
 
 +
* [https://forum.freecadweb.org/viewtopic.php?f=8&t=37452 Convert STEP to Wavefront OBJ with colors of faces]
 +
 
 +
==Tutorials==
  
[[Category:User Documentation]]
+
* [[Import_from_STL_or_OBJ|Import from STL or OBJ]]
<languages/>
+
* [[Export_to_STL_or_OBJ|Export to STL or OBJ]]
 +
 
 +
 
 +
{{Docnav
 +
|[[Arch_DAE|DAE]]
 +
|[[Arch_JSON|JSON]]
 +
|[[Arch_Workbench|Arch]]
 +
|IconL=
 +
|IconR=
 +
|IconC=Workbench_Arch.svg
 +
}}
 +
 
 +
{{Arch Tools navi{{#translation:}}}}
 +
{{Userdocnavi{{#translation:}}}}
 +
[[Category:File Formats{{#translation:}}]]

Latest revision as of 16:02, 9 March 2022

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎čeština • ‎русский
Arrow-left.svg Previous: DAE
Next: JSON Arrow-right.svg

Description

Additionally to the standard FreeCAD OBJ exporter, the Arch Workbench features an alternative exporter that exports coplanar faces as whole OBJ faces, instead of triangulating Shape-based objects, like the standard exporter does.

Exporting without GUI

Exporting without the graphical interface is possible from the command line, using the Mesh Workbench exporter only.

In this example, a STEP file is imported, the colors of the Shape are saved, then a mesh is created from it, the colors of the original object are re-applied to the faces of the new mesh, which is then exported to OBJ format. Since this is done with the Mesh Workbench, the result is a triangulated mesh.

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")

More information

Tutorials


Arrow-left.svg Previous: DAE
Next: JSON Arrow-right.svg