Arch OBJ/pl: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(28 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

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


{{TOCright}}
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.


<span id="Description"></span>
==Tutorials==
==Opis==
* [[Import_from_STL_or_OBJ|Import from STL or OBJ]]
* [[Export_to_STL_or_OBJ|Export to STL or OBJ]]


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.
{{Docnav/pl
|[[Arch Arch DAE/pl|DAE]]
|[[Arch JSON/pl|JSON]]
|[[Arch_Module/pl|Środowisko pracy Arch]]}}


<span id="Exporting_without_GUI"></span>
==Eksportowanie bez GUI==


Eksportowanie bez interfejsu graficznego jest możliwe z wiersza poleceń, tylko przy użyciu eksportera Środowiska pracy [[Mesh_Workbench/pl|Mesh]].
{{Arch Tools navi{{#translation:}}}}


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 19:41, 5 May 2024

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