Arch OBJ/ru: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 8: Line 8:


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
В дополнение к стандартному экспортировщику файлов [http://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ] FreeCAD, [[Arch Module/ru|модуль Arch]] содержит альтернативный экспортёр, который экспортирует сопланарные поверхности как полные поверхности OBJ, вместо триангуляции объектов [[Part Module/ru|Shape]], как делает стандартный экспортёр.
В дополнение к стандартному экспортировщику файлов [http://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ] FreeCAD, [[Arch Module/ru|модуль Arch]] содержит альтернативный экспортёр, который экспортирует сопланарные поверхности как полные поверхности OBJ, вместо триангуляции объектов [[Part_Workbench/ru|Shape]], как делает стандартный экспортёр.
</div>
</div>



Revision as of 09:30, 31 August 2021

Description

В дополнение к стандартному экспортировщику файлов OBJ FreeCAD, модуль Arch содержит альтернативный экспортёр, который экспортирует сопланарные поверхности как полные поверхности OBJ, вместо триангуляции объектов Shape, как делает стандартный экспортёр.

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

Учебники