Mesh MeshObject/it: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
Line 7: Line 7:
Meshes are normally created with the [[Mesh_Workbench|Mesh Workbench]], or imported from STL, OBJ, and similar mesh file formats.
Meshes are normally created with the [[Mesh_Workbench|Mesh Workbench]], or imported from STL, OBJ, and similar mesh file formats.


Please note that the {{Button|[[Image:Workbench_FEM.svg|16px]] [[FEM Workbench|FEM Workbench]]}} also uses meshes, but in this case, it uses a different data structure, called [[FEM_Mesh|Fem FemMesh]] ({{incode|Fem::FemMesh}} class). This information does not apply to FEM meshes.
Please note that the {{Button|[[Image:Workbench_FEM.svg|16px]] [[FEM_Workbench|FEM Workbench]]}} also uses meshes, but in this case, it uses a different data structure, called [[FEM_Mesh|FEM FemMesh]] ({{incode|Fem::FemMesh}} class). This information does not apply to FEM meshes.


[[File:FreeCAD_core_objects.svg|800px]]
[[File:FreeCAD_core_objects.svg|800px]]
Line 25: Line 25:
== Script ==
== Script ==


{{Emphasis|See also:}} [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]], and [[scripted objects|scripted objects]]. For a full list of attributes and methods, consult the [[Source_documentation|source documentation]], and the [[Std_PythonHelp|Std PythonHelp]] tool.
{{Emphasis|See also:}} [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]], and [[Scripted_objects|scripted objects]]. For a full list of attributes and methods, consult the [[Source_documentation|source documentation]], and the [[Std_PythonHelp|Std PythonHelp]] tool.


All objects derived from {{incode|Mesh::Feature}} will have a [[Mesh_MeshObject|Mesh MeshObject]], which is normally accessible from its {{incode|Mesh}} attribute.
All objects derived from {{incode|Mesh::Feature}} will have a [[Mesh_MeshObject|Mesh MeshObject]], which is normally accessible from its {{incode|Mesh}} attribute.

{{Code|code=
{{Code|code=
import FreeCAD as App
import FreeCAD as App
Line 38: Line 39:


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|Python console]].
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|Python console]].

{{Code|code=
{{Code|code=
print(obj.Mesh.Area)
print(obj.Mesh.Area)
Line 49: Line 51:
obj.Mesh.write("my_file.stl")
obj.Mesh.write("my_file.stl")
}}
}}






Latest revision as of 11:28, 13 November 2021

Other languages:

Descrizione

A Mesh MeshObject, or formally a Mesh::MeshObject, is a class that defines a mesh data structure in the software. This is similar to the Part TopoShape but for meshes.

Meshes are normally created with the Mesh Workbench, or imported from STL, OBJ, and similar mesh file formats.

Please note that the FEM Workbench also uses meshes, but in this case, it uses a different data structure, called FEM FemMesh (Fem::FemMesh class). This information does not apply to FEM meshes.

Simplified diagram of the relationships between the core objects in the program. The Mesh::MeshObject class is embedded in the Mesh::Feature object and from there it is propagated to all objects that are derived from it.

Utilizzo

The Mesh MeshObject is an object that is assigned to some App DocumentObjects.

In particular, the basic object that handles these types of attributes is the Mesh Feature (Mesh::Feature class). All objects derived from this class will have access to a Mesh MeshObject.

The most notable objects that will have a Mesh MeshObject are the following:

  • Any primitive mesh created with the Mesh Workbench.
  • Any object created by importing an STL, OBJ, and similar mesh format files.

Script

See also: FreeCAD Scripting Basics, and scripted objects. For a full list of attributes and methods, consult the source documentation, and the Std PythonHelp tool.

All objects derived from Mesh::Feature will have a Mesh MeshObject, which is normally accessible from its Mesh attribute.

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