Arch OBJ/en: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{docnav|[[Arch DAE|DAE]]|[[Arch JSON|JSON]]|[[Arch_Module|Arch Module]]}}


{{Docnav
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.
|[[Arch_DAE|DAE]]
|[[Arch_JSON|JSON]]
|[[Arch_Workbench|Arch]]
|IconL=
|IconR=
|IconC=Workbench_Arch.svg
}}

{{TOCright}}

== Description ==

Additionally to the standard FreeCAD [https://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==
==Tutorials==

* [[Import_from_STL_or_OBJ|Import from STL or OBJ]]
* [[Import_from_STL_or_OBJ|Import from STL or OBJ]]
* [[Export_to_STL_or_OBJ|Export to STL or OBJ]]
* [[Export_to_STL_or_OBJ|Export to STL or OBJ]]


{{docnav|[[Arch DAE|DAE]]|[[Arch JSON|JSON]]|[[Arch_Module|Arch Module]]}}


{{Docnav
|[[Arch_DAE|DAE]]
|[[Arch_JSON|JSON]]
|[[Arch_Workbench|Arch]]
|IconL=
|IconR=
|IconC=Workbench_Arch.svg
}}


{{Arch Tools navi{{#translation:}}}}
{{Arch Tools navi{{#translation:}}}}

{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
[[Category:File Formats{{#translation:}}]]
[[Category:File Formats{{#translation:}}]]

Latest revision as of 12:08, 19 May 2023

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