Meshes are very simple objects, containing only vertices (points), edges and triangular faces. In general, they are easy to create, modify, subdivide, and stretch, and can be passed from one application to another without any loss of detail. In addition, since meshes contain very simple data, 3D applications like animation software and video games can manage very large quantities of them (millions of triangles) without using a lot of computing resources.
However, in the field of engineering meshes present one big limitation: they are only made of surfaces, and have no "mass" information, so they don't behave like "solids". This means that solid-based operations, like boolean addition or subtraction, are difficult to perform on meshes. Also, since they are defined by individual points, they are hard to describe in a parametric fashion.
Meshes are normally created by internal functions of the Mesh Workbench, or by importing mesh format files, like STL and OBJ.
Essentially, every object derived from a Mesh Feature (
Mesh::Feature class) is expected to hold and manipulate a Mesh.
Since FreeCAD is designed to be a solid modeller primarily, it is better suited to deal with solid Shapes. It can import and display Meshes in the 3D view, but to transform them or create new geometry, the Mesh first needs to be converted to a Shape (see Part ShapeFromMesh). In many cases, this conversion is not automatic, and requires re-creating the geometry using solid modelling techniques, making use of Part and PartDesign tools.
Finite element meshes
In FreeCAD the word "Mesh" may also refer to a specific object that will be used in finite element analysis (FEA).
When an object with a solid Shape is used in the FEM Workbench it will be discretized into a triangular mesh. In this case, the resulting object is a Fem FemMeshObject (
Fem::FemMeshObject class), and is not derived from a Mesh Feature (