Mesh Workbench: Difference between revisions

From FreeCAD Documentation
mNo edit summary
No edit summary
Line 18: Line 18:
In FreeCAD, since it is an engineering application, we would obviously prefer to work with more intelligent types of 3D objects, that can carry more informations, such as mass, solid behaviour, or even custom parameters. The mesh module was first created to serve as a testbed, but to be able to read, manipulate and convert meshes is also highly important for FreeCAD. Very often, in your workflow, you will receive 3D data in mesh format. You will need to handle that data, analyse it to detect errors or other problems that prevent converting them to more intelligent objects, and finally, convert them to more intelligent objects, handled by the [[Part Module]].
In FreeCAD, since it is an engineering application, we would obviously prefer to work with more intelligent types of 3D objects, that can carry more informations, such as mass, solid behaviour, or even custom parameters. The mesh module was first created to serve as a testbed, but to be able to read, manipulate and convert meshes is also highly important for FreeCAD. Very often, in your workflow, you will receive 3D data in mesh format. You will need to handle that data, analyse it to detect errors or other problems that prevent converting them to more intelligent objects, and finally, convert them to more intelligent objects, handled by the [[Part Module]].


=== Using the mesh module === <!--T:7-->
== Using the mesh module == <!--T:7-->


<!--T:8-->
<!--T:8-->
The mesh module has currently a very simple interface, all its functions are grouped in the '''Mesh''' menu entry. The most important operations you can currently do with meshes are:
The mesh module has currently a very simple interface, all its functions are grouped in the '''Mesh''' menu entry. The most important operations you can currently do with meshes are:
* [[Image:Mesh_Import_Mesh.svg|32px]] Import meshes in several file formats
* [[Image:Mesh_Import_Mesh.svg|32px]] [[Mesh Import|Import Mesh]]: Import meshes in several file formats
* [[Image:Mesh_Export_Mesh.svg|32px]] Export meshes in several file formats
* [[Image:Mesh_Export_Mesh.svg|32px]] [[Mesh Export|Export Mesh]]: Export meshes in several file formats
* [[Image:Mesh_Mesh_from_Shape.svg|32px]] Convert [[Part Module|Part]] objects into meshes
* [[Image:Mesh_Mesh_from_Shape.svg|32px]] [[Mesh MeshFromShape|Create Mesh from shape]] : Convert [[Part Module|Part]] objects into meshes
* [[Image:Mesh_Harmonize_Normals.svg|32px]] Harmonize normals
* [[Image:Mesh_Harmonize_Normals.svg|32px]] [[Mesh HarmonizeNormals|Harmonize Normals]]: Harmonize normals
* [[Image:Mesh_Flip_Normals.svg|32px]] Flip [http://en.wikipedia.org/wiki/Surface_normal normals]
* [[Image:Mesh_Flip_Normals.svg|32px]] [[Mesh FlipNormals|Flip Normals]]: Flip [http://en.wikipedia.org/wiki/Surface_normal normals]
* [[Mesh FillHoles|Fill Holes...]]: Fill up holes
* [[Image:Mesh_boundary.svg|32px]] Close holes in meshes
* [[Image:Mesh_Remove_Components.svg|32px]] Remove components of meshes
* [[Image:Mesh_boundary.svg|32px]] [[Mesh FillInteractiveHole|Close hole]]: Close holes in meshes
* [[Image:Mesh_cut.svg|32px]] Cut meshes along a line
* [[Image:Mesh_Remove_Components.svg|32px]] [[Mesh RemoveComponents|Remove components...]]: Remove components of meshes
* [[Mesh RemoveCompByHand|Remove components by hand...]]: Remove components of meshes by hand
* [[Mesh AddTriangle|Add triangle]]: Add triangle
* [[Mesh Smooth|Smooth...]]: Smooth mesh




<!--T:12-->
<!--T:12-->
Analyse curvature, faces, and check if a mesh can be safely converted into a solid
* Analyse curvature, faces, and check if a mesh can be safely converted into a solid




Line 48: Line 51:
<!--T:14-->
<!--T:14-->
* Union, subtract and intersect meshes
* Union, subtract and intersect meshes


<!--T:15-->
* [[Mesh Merge|Merge]]: Merges meshes
* [[Mesh SelectMesh|Select Mesh]]: Selects meshes
* [[Image:Mesh_cut.svg|32px]] Cut meshes along a line
* [[Mesh SplitMesh|Split Mesh]]: Splits meshes
* [[Image:PolygonPick.svg|32px]] [[Mesh MakeSegment|Make segment]]: Makes a segment
* [[Mesh TrimMesh|Trim Mesh]]: Trims meshes
* [[Mesh TrimMeshWithPlane|Split Mesh]]: Splits meshes
* [[Mesh CreateMeshSegment|Create mesh segments...]]: Creates mesh segments
* [[Image:Mesh_Curvature_Plot.svg|32px]] [[Mesh CurvatureInfo|Curvature Plot]]: Creates a curvature plot




<!--T:9-->
<!--T:9-->
These are only some of the basic operations currently present in the Mesh module interface. But the FreeCAD meshes can also be handled in many more ways by [[Mesh Scripting| scripting]].
These are only some of the basic operations currently present in the Mesh module interface.
<br />
More mesh tools are available in the [[OpenSCAD Workbench]].
<br />
But the FreeCAD meshes can also be handled in many more ways by [[Mesh Scripting| scripting]].


==Links== <!--T:15-->
==Links== <!--T:15-->

Revision as of 12:56, 13 March 2016

The Mesh Workbench handles triangle meshes. Meshes are a special type of 3D object, composed of triangles connected by their edges and their corners (also called vertices).

An example of a mesh object

An example of a mesh object

Many 3D applications use meshes as their primary type of 3D object, like sketchup, blender, maya or 3d studio max. Since meshes are very simple objects, containing only vertices (points), edges and (triangular) faces, they are very easy to create, modify, subdivide, stretch, and can easily be passed from one application to another without any loss. Besides, since they contain very simple data, 3D applications can usually manage very large quantities of them without any problem. For those reasons, meshes are often the 3D object type of choice for applications dealing with movies, animation, and image creation.

In the field of engineering, however, meshes present one big limitation: They are very dumb objects, only composed of points,lines and faces. They are only made of surfaces, and have no mass information, so they don't behave as solids. In a mesh there is no automatic way to know if a point is inside or outside the object. This means that all solid-based operations, such as addition or subtraction, are always a bit difficult to perform on meshes, and return errors often.

In FreeCAD, since it is an engineering application, we would obviously prefer to work with more intelligent types of 3D objects, that can carry more informations, such as mass, solid behaviour, or even custom parameters. The mesh module was first created to serve as a testbed, but to be able to read, manipulate and convert meshes is also highly important for FreeCAD. Very often, in your workflow, you will receive 3D data in mesh format. You will need to handle that data, analyse it to detect errors or other problems that prevent converting them to more intelligent objects, and finally, convert them to more intelligent objects, handled by the Part Module.

Using the mesh module

The mesh module has currently a very simple interface, all its functions are grouped in the Mesh menu entry. The most important operations you can currently do with meshes are:


  • Analyse curvature, faces, and check if a mesh can be safely converted into a solid


  • File:Mesh Regular Solid.svg Regular solid... Create mesh primitives, like cubes, cylinders, cones, or spheres:
    • Create a mesh cube
    • Create a mesh cylinder
    • Create a mesh cone
    • Create a mesh sphere
    • Create a mesh ellipsoid
    • Create a mesh torus


  • Union, subtract and intersect meshes



These are only some of the basic operations currently present in the Mesh module interface.
More mesh tools are available in the OpenSCAD Workbench.
But the FreeCAD meshes can also be handled in many more ways by scripting.

Links


PartDesign Workbench
OpenSCAD Module