Arch OBJ/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "Arch: OBJ")
 
No edit summary
 
(29 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{docnav|[[Arch DAE|DAE]]|[[Arch JSON|JSON]]|[[Arch_Module|Arch Module]]}}


{{Docnav/pl
Additionally to the standard FreeCAD [http://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ] exporter, the [[Arch Module]] features an alternative exporter that exports coplanar faces as whole OBJ faces, instead of triangulating [[Part Module|Shape]]-based objects, like the standard exporter does.
|[[Arch_DAE/pl|DAE]]
|[[Arch_JSON/pl|JSON]]
|[[Arch_Workbench/pl|Środowisko pracy Architektura]]
|IconL=
|IconR=
|IconC=Workbench_Arch.svg
}}


{{TOCright}}
==Tutorials==
* [[Import_from_STL_or_OBJ|Import from STL or OBJ]]
* [[Export_to_STL_or_OBJ|Export to STL or OBJ]]


<span id="Description"></span>
{{docnav|[[Arch DAE|DAE]]|[[Arch JSON|JSON]]|[[Arch_Module|Arch Module]]}}
==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.


<span id="Exporting_without_GUI"></span>
{{Arch Tools navi{{#translation:}}}}
==Eksportowanie bez GUI==


Eksportowanie bez interfejsu graficznego jest możliwe z wiersza poleceń, tylko przy użyciu eksportera Środowiska pracy [[Mesh_Workbench/pl|Mesh]].

W tym przykładzie importowany jest plik STEP, zapisywane są kolory elementu [[Shape|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.

{{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>
==Informacje dodatkowe==

* [https://forum.freecadweb.org/viewtopic.php?f=8&t=37452 Konwersja STEP do Wavefront OBJ z kolorami powierzchni czołowych]

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

* [[Import_from_STL_or_OBJ/pl|Importowanie plików STL lub OBJ]]
* [[Export_to_STL_or_OBJ|Eksport do formatu STL lub OBJ]]


{{Docnav/pl
|[[Arch_DAE/pl|DAE]]
|[[Arch_JSON/pl|JSON]]
|[[Arch_Workbench/pl|Środowisko pracy Architektura]]
|IconL=
|IconR=
|IconC=Workbench_Arch.svg
}}

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

Latest 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