Arch: OBJ

From FreeCAD Documentation
Revision as of 06:06, 27 September 2020 by Kaktus (talk | contribs) (Created page with "* [https://forum.freecadweb.org/viewtopic.php?f=8&t=37452 Konwersja STEP do Wavefront OBJ z kolorami powierzchni czołowych]")

Opis

Dodatkowo oprócz standardowego eksportera FreeCAD OBJ, Środowisko pracy Arch posiada alternatywny eksporter, który eksportuje koplanarne powierzchnie jako całe powierzchnie OBJ, zamiast triangulacji obiektów opartych na kształtach, jak to robi standardowy eksporter.

Eksportowanie bez GUI

Eksportowanie bez interfejsu graficznego jest możliwe z wiersza poleceń, tylko przy użyciu eksportera Środowiska pracy Mesh.

W tym przykładzie importowany jest plik STEP, zapisywane są kolory elementu Kształt. Następnie tworzona jest z niego siatka, a kolory oryginalnego obiektu są ponownie nakładane na powierzchnie nowej siatki, który jest następnie eksportowany do formatu OBJ. Ponieważ jest to robione przy użyciuŚrodowiska pracy Mesh, wynikiem jest siatka trójkątów.

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

Informacje dodatkowe

Poradniki