Mesh MeshObject
Introduction
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 those not apply to that data structure.
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.
How to use
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.
Scripting
See also: FreeCAD Scripting Basics, and scripted objects.
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")
For a full list of attributes and methods, consult the source documentation, and the Std PythonHelp tool.
- Miscellaneous: Import mesh, Export mesh, Create mesh from shape, Regular solid, Unwrap Mesh, Unwrap Face
- Modifying: Harmonize normals, Flip normals, Fill holes, Close hole, Add triangle, Remove components, Remove components by hand, Smooth, Refinement, Decimation, Scale
- Boolean: Union, Intersection, Difference
- Cutting: Cut mesh, Trim mesh, Trim mesh with a plane, Create section from mesh and plane, Cross-sections
- Components and segments: Merge, Split by components, Create mesh segments, Create mesh segments from best-fit surfaces
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub