Arch OBJ/fr: Difference between revisions

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


{{Docnav/fr
En plus de la norme d'exportation FreeCAD '''[http://fr.wikipedia.org/wiki/Objet_3D_(format_de_fichier) .OBJ]''',
|[[Arch_DAE/fr|DAE]]
le [[Arch Module/fr|module Arch]] dispose d'une solution alternative d'exportation, qui exporte les faces coplanaires des faces comme faces '''.OBJ''', au lieu de la triangulation [[Part Module|Shape (forme)]] des objets de base, comme le fait l'exportateur standard.
|[[Arch_JSON/fr|JSON]]
|[[Arch_Workbench/fr|Atelier Arch]]
|IconL=
|IconR=
|IconC=Workbench_Arch.svg
}}

{{TOCright}}

== Description ==

En plus de l'exportateur standard '''[https://fr.wikipedia.org/wiki/Objet_3D_(format_de_fichier) .OBJ]''' de FreeCAD, 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.

<span id="Exporting_without_GUI"></span>
== Exporter sans GUI ==

L'exportation sans l'interface graphique est possible à partir de la ligne de commande, en utilisant uniquement l'exportateur de l'[[Mesh_Workbench/fr|atelier Mesh]].

Dans cet exemple, un fichier STEP est importé, les couleurs de [[Shape/fr|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é.

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

<span id="More_information"></span>
== Plus d'informations ==

* [https://forum.freecadweb.org/viewtopic.php?f=8&t=37452 Convertir STEP en Wavefront OBJ avec les couleurs des faces]

<span id="Tutorials"></span>
== Tutoriels ==


==Tutoriels==
* [[Import_from_STL_or_OBJ/fr|Importe un fichier STL ou OBJ]]
* [[Import_from_STL_or_OBJ/fr|Importe un fichier STL ou OBJ]]
* [[Export_to_STL_or_OBJ/fr|Exporte un fichier STL ou OBJ]]
* [[Export_to_STL_or_OBJ/fr|Exporte un fichier STL ou OBJ]]



<div class="mw-translate-fuzzy">
{{Docnav/fr
[[Category:Arch/fr]]
|[[Arch_DAE/fr|DAE]]
</div>
|[[Arch_JSON/fr|JSON]]
|[[Arch_Workbench/fr|Atelier Arch]]
|IconL=
|IconR=
|IconC=Workbench_Arch.svg
}}

{{Arch Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
[[Category:File Formats{{#translation:}}]]

Latest revision as of 08:41, 20 May 2023

Description

En plus de l'exportateur standard .OBJ de FreeCAD, 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