Arch OBJ/fr: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
Line 12: Line 12:


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
En plus de l'exportateur standard FreeCAD '''[http://fr.wikipedia.org/wiki/Objet_3D_(format_de_fichier) .OBJ]''', l'[[Arch_Module/fr|atelier Arch]] dispose d'une solution alternative d'exportation qui exporte les faces coplanaires comme des faces OBJ entières, au lieu de trianguler les objets basés sur les [[Shape/fr|Shape]], comme le fait l'exportateur standard.
En plus de l'exportateur standard FreeCAD '''[http://fr.wikipedia.org/wiki/Objet_3D_(format_de_fichier) .OBJ]''', l'[[Arch_Workbench/fr|atelier Arch]] dispose d'une solution alternative d'exportation qui exporte les faces coplanaires comme des faces OBJ entières, au lieu de trianguler les objets basés sur les [[Shape/fr|Shape]], comme le fait l'exportateur standard.
</div>
</div>



Revision as of 16:40, 2 September 2021

Description

En plus de l'exportateur standard FreeCAD .OBJ, l'atelier Arch dispose d'une solution alternative d'exportation qui exporte les faces coplanaires comme des faces OBJ entières, au lieu de trianguler les objets basés sur les Shape, comme le fait l'exportateur standard.

Exporter sans GUI

L'exportation sans l'interface graphique est possible à partir de la ligne de commande, en utilisant uniquement l'exportateur de l'atelier Mesh.

Dans cet exemple, un fichier STEP est importé, les couleurs de Shape sont sauvegardées, puis un maillage est généré, les couleurs de l'objet d'origine sont réappliquées sur les faces du nouveau maillage, qui est ensuite exporté au format OBJ. Comme cela est fait avec l'Atelier Mesh, le résultat est un maillage triangulé.

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

Plus d'informations

Tutoriels