Siatka: Obiekt siatki

From FreeCAD Documentation
Revision as of 09:34, 18 December 2022 by Kaktus (talk | contribs) (Created page with "Wszystkie obiekty pochodzące z {{incode|Mesh::Feature}} będą miały Obiekt siatki środowiska Projekt Siatki, który jest normalnie dostępny z atryb...")
Other languages:

Opis

Siatka: Obiekt siatki, lub formalnie Mesh::MeshObject, jest klasą, która definiuje strukturę danych siatki w oprogramowaniu. Jest to podobne do obiektu Część: Kształt topologiczny, ale dla siatek.

Siatki są zwykle tworzone za pomocą środowiska pracy Projekt Siatki lub importowane z plików STL, OBJ i podobnych formatów siatek.

Proszę zauważyć, że środowisko pracy MES również wykorzystuje siatki, ale w tym przypadku używa innej struktury danych, zwanej MES: Siatka (klasa Fem::FemMesh). Ta informacja nie dotyczy siatek MES.

Uproszczony schemat zależności pomiędzy podstawowymi obiektami programu. Klasa Mesh::MeshObject jest osadzona w obiekcie Mesh::Feature i stamtąd jest propagowana do wszystkich obiektów, które są od niej pochodne.

Użycie

Siatka: MeshObject jest obiektem, który jest przypisany do niektórych App: Obiektów dokumentu.

W szczególności podstawowym obiektem obsługującym tego typu atrybuty jest cecha siatki (klasa Mesh::Feature). Wszystkie obiekty wywodzące się z tej klasy będą miały dostęp do obiektu typu Siatka: MeshObject.

Najbardziej godne uwagi obiekty, które będą posiadały MeshObject to:

  • Każda siatka elementu pierwotnego utworzona za pomocą środowiska pracy Projekt Siatki
  • Każdy obiekt utworzony przez import plików w formacie STL, OBJ i podobnych siatek.

Tworzenie skryptów

Zobacz również: Podstawy tworzenia skryptów FreeCAD, oraz Obiekty tworzone skryptami. Pełną listę atrybutów i metod można znaleźć w dokumentacji źródeł oraz w opisie narzędzia Pomoc dla środowiska Python.

Wszystkie obiekty pochodzące z Mesh::Feature będą miały Obiekt siatki środowiska Projekt Siatki, który jest normalnie dostępny z atrybutu Kształt.

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("Mesh::Cube", "Cube")
App.ActiveDocument.recompute()
print(obj.Mesh)

A MeshObject has many attributes (variables) and methods that contain information about it, and which allow doing operations with it. These variables and methods can be tested in the Python console.

print(obj.Mesh.Area)
print(obj.Mesh.BoundBox)
print(obj.Mesh.CountPoints)
print(obj.Mesh.Volume)

obj.Mesh.copy()
obj.Mesh.countComponents()
obj.Mesh.getEigenSystem()
obj.Mesh.write("my_file.stl")