Arch OBJ/pl: Difference between revisions

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


Dodatkowo oprócz standardowego eksportera FreeCAD [https://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ], środowisko pracy [[Arch_Workbench/pl|Architektura]] posiada alternatywny eksporter, który eksportuje koplanarne powierzchnie jako całe powierzchnie OBJ, zamiast triangulacji obiektów opartych na [[Shape/pl|kształtach]], jak to robi standardowy eksporter.
<div class="mw-translate-fuzzy">
Dodatkowo oprócz standardowego eksportera FreeCAD [http://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ], środowisko pracy [[Arch_Workbench/pl|Architektura]] posiada alternatywny eksporter, który eksportuje koplanarne powierzchnie jako całe powierzchnie OBJ, zamiast triangulacji obiektów opartych na [[Shape/pl|kształtach]], jak to robi standardowy eksporter.
</div>


<span id="Exporting_without_GUI"></span>
<span id="Exporting_without_GUI"></span>

Revision as of 17:20, 19 May 2023

Opis

Dodatkowo oprócz standardowego eksportera FreeCAD OBJ, środowisko pracy Architektura 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