Siatka: Obiekt siatki

From FreeCAD Documentation
This page is a translated version of the page Mesh MeshObject and the translation is 100% complete.
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)

MeshObject posiada wiele atrybutów (zmiennych) i metod, które zawierają informacje o nim i które pozwalają na wykonywanie na nim operacji. Te zmienne i metody mogą być testowane w konsoli Python.

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