Difference between revisions of "Mesh Workbench/hr"

From FreeCAD Documentation
Jump to navigation Jump to search
(Created page with "Mesh Workbench")
 
(Updating to match new version of source page)
(26 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
<languages/>
 
<languages/>
The '''Mesh Workbench''' handles [http://en.wikipedia.org/wiki/Triangle_mesh triangle meshes]. Meshes are a special type of 3D object, composed of triangles connected by their edges and their corners (also called vertices).
 
  
[[Image:Mesh_example.jpg|An example of a mesh object]]
+
{{Docnav
 +
|[[Inspection_Workbench|Inspection Workbench]]
 +
|[[OpenSCAD_Workbench|OpenSCAD Workbench]]
 +
|IconL=Workbench_Inspection.svg
 +
|IconR=Workbench_OpenSCAD.svg
 +
}}
  
An example of a mesh object
+
[[Image:Workbench_Mesh.svg|thumb|128px|Mesh workbench icon]]
  
Many 3D applications use meshes as their primary type of 3D object, like [http://en.wikipedia.org/wiki/Sketchup sketchup], [http://en.wikipedia.org/wiki/Blender_(software) blender], [http://en.wikipedia.org/wiki/Maya_(software) maya] or [http://en.wikipedia.org/wiki/3d_max 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.
+
{{TOCright}}
  
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.
+
==Introduction==
  
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 information, 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]].
+
The [[Image:Workbench_Mesh.svg|24px]] [[Mesh_Workbench|Mesh Workbench]] handles [http://en.wikipedia.org/wiki/Triangle_mesh triangle meshes]. Meshes are a special type of 3D object, composed of triangular faces connected by their vertices and edges.
  
== Using the mesh module ==
+
Many 3D applications, like [http://en.wikipedia.org/wiki/Sketchup Sketchup], [http://en.wikipedia.org/wiki/Blender_(software) Blender], [http://en.wikipedia.org/wiki/Maya_(software) Maya] and [http://en.wikipedia.org/wiki/3d_max 3D Studio Max], use meshes as their primary type of 3D object. 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 of details. In addition, since meshes contain very simple data, 3D applications can usually manage very large quantities of them without using a lot of resources. For these reasons, meshes are often the 3D object type of choice for applications dealing with movies, animation, and image creation.
  
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:
+
However, in the field of engineering meshes present a big limitation: they cannot accurately define curved surfaces. This is why FreeCAD relies on [[wikipedia:Boundary representation|Brep]] instead. The Mesh Workbench offers some commands to directly manipulate meshes, but it is most often used to import 3D mesh data and convert it to a solid for use with the [[Image:Workbench_Part.svg|24px]] [[Part_Workbench|Part Workbench]] or [[Image:Workbench_PartDesign.svg|24px]] [[PartDesign_Workbench|PartDesign Workbench]].
* [[Image:Mesh_ImportMesh.png|32px]] [[Mesh Import|Import Mesh]]: Import meshes in several file formats
 
* [[Image:Mesh_ExportMesh.png|32px]] [[Mesh Export|Export Mesh]]: Export meshes in several file formats
 
* [[Image:Mesh MeshFromShape.png|32px]] [[Mesh MeshFromShape|Create Mesh from shape]]: Convert [[Part Module|Part]] objects into meshes
 
* [[Image:Mesh HarmonizeNormals.png|32px]] [[Mesh HarmonizeNormals|Harmonize Normals]]: Harmonize normals
 
* [[Image:Mesh_FlipNormals.png|32px]] [[Mesh FlipNormals|Flip Normals]]: Flip [http://en.wikipedia.org/wiki/Surface_normal normals]
 
* [[Mesh FillHoles|Fill Holes...]]: Fill up holes
 
* [[Image:Mesh_FillInteractiveHole.png|32px]] [[Mesh FillInteractiveHole|Close hole]]: Close holes in meshes
 
* [[Image:Mesh_RemoveComponents.png|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
 
  
 +
[[Image:Mesh_example.jpg|500px]]
  
* '''Analyze''' curvature, faces, and check if a mesh can be safely converted into a solid
+
==Tools==
** [[Mesh EvaluateRepair|Evaluate & Repair mesh...]]: Evaluates and repairs meshes
 
** [[Image:Mesh EvaluateFacet.png|32px]] [[Mesh EvaluateFacet|Face Info]]: Gives info on faces
 
** [[Mesh EvaluateCurvature|Curvature Info]]: Gives info on curvature
 
** [[Mesh EvaluateSolid|Check solid mesh]]: Checks the solid if it can be converted to a mesh
 
** [[Mesh BoundingBox|Boundings info...]]: Evaluates the bounding box of a mesh
 
  
 +
All Mesh Workbench tools can be accessed from the '''Meshes''' menu. Almost all are also available in one of the Mesh toolbars.
  
* [[Image:Mesh_Regular_Solid.png|32px]] [[Mesh BuildRegularSolid|Regular solid...]] Create mesh primitives, like cubes, cylinders, cones, or spheres:
+
* [[Image:Mesh_Import.svg|32px]] [[Mesh_Import|Import mesh...]]: Imports a mesh object from a file.
** [[Image:Mesh_Cube.png|32px]] Create a mesh cube
 
** [[Image:Mesh_Cylinder.png|32px]] Create a mesh cylinder
 
** [[Image:Mesh_Cone.png|32px]] Create a mesh cone
 
** [[Image:Mesh_Sphere.png|32px]] Create a mesh sphere
 
** [[Image:Mesh_Ellipsoid.png|32px]] Create a mesh ellipsoid
 
** [[Image:Mesh_Torus.png|32px]] Create a mesh torus
 
  
 +
* [[Image:Mesh_Export.svg|32px]] [[Mesh_Export|Export mesh...]]: Exports a mesh object to a file.
  
* Do '''Boolean''' operations with meshes
+
* [[Image:Mesh_FromPartShape.svg|32px]] [[Mesh_FromPartShape|Create mesh from shape...]]: Creates mesh objects from shape objects.
** [[Mesh Union|Union]]: Does a union (fusion) on meshes
 
** [[Mesh Intersection|Intersection]]: Does an intersection (common) on meshes
 
** [[Mesh Difference|Difference]]: Does a difference (cut) on meshes
 
  
 +
* [[Image:Mesh_RemeshGmsh.svg|32px]] [[Mesh_RemeshGmsh|Refinement...]]: Remeshes a mesh object. {{Version|0.19}}
  
* [[Mesh Merge|Merge]]: Merges meshes
+
* Analyze
* [[Mesh SelectMesh|Select Mesh]]: Selects meshes
+
** [[Image:Mesh_Evaluation.svg|32px]] [[Mesh_Evaluation|Evaluate and repair mesh...]]: Evaluates and repairs a mesh object.
* [[Image:Mesh Cut.png|32px]] [[Mesh Cut|Cut mesh]]: Cut meshes along a line
+
** [[Image:Mesh_EvaluateFacet.svg|32px]] [[Mesh_EvaluateFacet|Face info]]: Shows information about faces of mesh objects.
* [[Mesh SplitMesh|Split Mesh]]: Splits meshes
+
** [[Image:Mesh_CurvatureInfo.svg|32px]] [[Mesh_CurvatureInfo|Curvature info]]: Shows the absolute curvature of [[Mesh_VertexCurvature|curvature objects]] at selected points.
* [[Image:Mesh MakeSegment.png|32px]] [[Mesh MakeSegment|Make segment]]: Makes a segment
+
** [[Image:Mesh_EvaluateSolid.svg|32px]] [[Mesh_EvaluateSolid|Check solid mesh]]: Checks if a mesh object is solid.
* [[Mesh TrimMesh|Trim mesh]]: Trims meshes
+
** [[Image:Mesh_BoundingBox.svg|32px]] [[Mesh_BoundingBox|Boundings info...]]: Shows the bounding box coordinates of a mesh object.
* [[Mesh TrimMeshWithPlane|Trim mesh with a plane]]: Trims meshes with a plane
 
* [[Mesh CreateMeshSegment|Create mesh segments...]]: Creates mesh segments
 
* [[Image:Mesh_CurvaturePlot.png|32px]] [[Mesh CurvaturePlot|Curvature Plot]]: Creates a curvature plot
 
  
 +
* [[Image:Mesh_VertexCurvature.svg|32px]] [[Mesh_VertexCurvature|Curvature plot]]: Creates Mesh Curvature objects for mesh objects.
  
* [[Image:Preferences-import-export.svg|32px]] [[Import_Export_Preference|Preference ...]] Import Export
+
* [[Image:Mesh_HarmonizeNormals.svg|32px]] [[Mesh_HarmonizeNormals|Harmonize normals]]: Harmonizes the normals of mesh objects.
  
These are only some of the basic operations currently present in the Mesh module interface.
+
* [[Image:Mesh_FlipNormals.svg|32px]] [[Mesh_FlipNormals|Flip normals]]: Flips the normals of mesh objects.
<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==
+
* [[Image:Mesh_FillupHoles.svg|32px]] [[Mesh_FillupHoles|Fill holes...]]: Fills holes in mesh objects.
  
* [[FreeCAD_and_Mesh_Import|FreeCAD and Mesh Import]]
+
* [[Image:Mesh_FillInteractiveHole.svg|32px]] [[Mesh_FillInteractiveHole|Close hole]]: Fills selected holes in mesh objects.
  
 +
* [[Image:Mesh_AddFacet.svg|32px]] [[Mesh_AddFacet|Add triangle]]: Adds faces along a boundary of an open mesh object.
  
 +
* [[Image:Mesh_RemoveComponents.svg|32px]] [[Mesh_RemoveComponents|Remove components...]]: Removes faces from mesh objects.
  
{{docnav|PartDesign Workbench|OpenSCAD Module}}
+
* [[Image:Mesh_RemoveCompByHand.svg|32px]] [[Mesh_RemoveCompByHand|Remove components by hand...]]: Removes components from mesh objects.
  
[[Category:User Documentation]]
+
* [[Image:Mesh_Segmentation.svg|32px]] [[Mesh_Segmentation|Create mesh segments...]]: Creates separate mesh segments for specified surface types of a mesh object.
 +
 
 +
* [[Image:Mesh_SegmentationBestFit.svg|32px]] [[Mesh_SegmentationBestFit|Create mesh segments from best-fit surfaces...]]: Creates separate mesh segments for specified surface types of a mesh object, and can identify their parameters.
 +
 
 +
* [[Image:Mesh_Smoothing.svg|32px]] [[Mesh_Smoothing|Smooth...]]: Smooths mesh objects.
 +
 
 +
* [[Image:Mesh_Decimating.svg|32px]] [[Mesh_Decimating|Decimation...]]: Reduces the number of faces in mesh objects. {{Version|0.19}}
 +
 
 +
* [[Image:Mesh_Scale.svg|32px]] [[Mesh_Scale|Scale...]]: Scales mesh objects.
 +
 
 +
* [[Image:Mesh_BuildRegularSolid.svg|32px]] [[Mesh_BuildRegularSolid|Regular solid...]]: Creates a regular parametric solid mesh object.
 +
 
 +
* Boolean
 +
** [[Image:Mesh_Union.svg|32px]] [[Mesh_Union|Union]]: Creates a mesh object that is the union of two mesh objects.
 +
** [[Image:Mesh_Intersection.svg|32px]] [[Mesh_Intersection|Intersection]]: Creates a mesh object that is the intersection of two mesh objects.
 +
** [[Image:Mesh_Difference.svg|32px]] [[Mesh_Difference|Difference]]: Creates a mesh object that is the difference of two mesh objects.
 +
 
 +
* Cutting
 +
** [[Image:Mesh_PolyCut.svg|32px]] [[Mesh_PolyCut|Cut mesh]]: Cuts whole faces from mesh objects.
 +
** [[Image:Mesh_PolyTrim.svg|32px]] [[Mesh_PolyTrim|Trim mesh]]: Trims faces and parts of faces from mesh objects.
 +
** [[Image:Mesh_TrimByPlane.svg|32px]] [[Mesh_TrimByPlane|Trim mesh with a plane]]: Trims faces and parts of faces on one side of a plane from a mesh object.
 +
** [[Image:Mesh_SectionByPlane.svg|32px]] [[Mesh_SectionByPlane|Create section from mesh and plane]]: Creates a cross section across a mesh object.
 +
** [[Image:Mesh_CrossSections.svg|32px]] [[Mesh_CrossSections|Cross-sections...]]: Creates multiple cross sections across mesh objects. {{Version|0.19}}
 +
 
 +
* [[Image:Mesh_Merge.svg|32px]] [[Mesh_Merge|Merge]]: Creates a mesh object by combining the meshes of two or more mesh objects.
 +
 
 +
* [[Image:Mesh_SplitComponents.svg|32px]] [[Mesh_SplitComponents|Split by components]]: Splits a mesh object into its components. {{Version|0.19}}
 +
 
 +
* [[Image:MeshPart_CreateFlatMesh.svg|32px]] [[MeshPart_CreateFlatMesh|Unwrap Mesh]]: Creates a flat representation of a mesh object. {{Version|0.19}}
 +
 
 +
* [[Image:MeshPart_CreateFlatFace.svg|32px]] [[MeshPart_CreateFlatFace|Unwrap Face]]: Creates a flat representation of a face of a shape object. {{Version|0.19}}
 +
 
 +
==Preferences==
 +
 
 +
There are some [[Import_Export_Preferences#Mesh_Formats|export preferences related to Mesh Formats]] but these are not used by commands belonging to this workbench. They are used by the [[Std_Export|Std Export]] command.
 +
 
 +
Mesh Workbench preferences can be found in the following categories of the [[Preferences_Editor|Preferences Editor]]:
 +
* [[Image:Preferences-display.svg|32px]] [[Preferences_Editor#Display_settings|Display]]: On the [[Preferences_Editor#Mesh_view|Mesh view]] tab several preferences can be set.
 +
* [[Image:Preferences-openscad.svg|32px]] [[OpenSCAD_Preferences|OpenSCAD]]: The [[Mesh_Union|Mesh Union]], [[Mesh_Intersection|Mesh Intersection]] and [[Mesh_Difference|Mesh Difference]] commands require [http://www.openscad.org/ OpenSCAD] and use the '''OpenSCAD executable''' preference to find its executable.
 +
 
 +
==Notes==
 +
 
 +
* More mesh tools are available in the [[Image:Workbench_OpenSCAD.svg|24px]] [[OpenSCAD_Workbench|OpenSCAD Workbench]].
 +
* See [[Mesh_Scripting|Mesh Scripting]] to manipulate and create meshes using [[Python|Python]].
 +
* See also [[FreeCAD_and_Mesh_Import|FreeCAD and Mesh Import]]
 +
* See [[Asymptote|Asymptote]] to export meshes to the Asymptote format.
 +
 
 +
 
 +
{{Docnav
 +
|[[Inspection_Workbench|Inspection Workbench]]
 +
|[[OpenSCAD_Workbench|OpenSCAD Workbench]]
 +
|IconL=Workbench_Inspection.svg
 +
|IconR=Workbench_OpenSCAD.svg
 +
}}
 +
 
 +
{{Mesh Tools navi{{#translation:}}}}
 +
{{Userdocnavi{{#translation:}}}}
 +
[[Category:Workbenches{{#translation:}}]]

Revision as of 09:10, 23 August 2021

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎hrvatski • ‎italiano • ‎magyar • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎svenska • ‎čeština • ‎български • ‎русский • ‎українська • ‎中文 • ‎中文(中国大陆)‎ • ‎中文(台灣)‎ • ‎日本語 • ‎한국어
Mesh workbench icon

Introduction

The Workbench Mesh.svg Mesh Workbench handles triangle meshes. Meshes are a special type of 3D object, composed of triangular faces connected by their vertices and edges.

Many 3D applications, like Sketchup, Blender, Maya and 3D Studio Max, use meshes as their primary type of 3D object. 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 of details. In addition, since meshes contain very simple data, 3D applications can usually manage very large quantities of them without using a lot of resources. For these reasons, meshes are often the 3D object type of choice for applications dealing with movies, animation, and image creation.

However, in the field of engineering meshes present a big limitation: they cannot accurately define curved surfaces. This is why FreeCAD relies on Brep instead. The Mesh Workbench offers some commands to directly manipulate meshes, but it is most often used to import 3D mesh data and convert it to a solid for use with the Workbench Part.svg Part Workbench or Workbench PartDesign.svg PartDesign Workbench.

Mesh example.jpg

Tools

All Mesh Workbench tools can be accessed from the Meshes menu. Almost all are also available in one of the Mesh toolbars.

  • Mesh FillInteractiveHole.svg Close hole: Fills selected holes in mesh objects.
  • Mesh AddFacet.svg Add triangle: Adds faces along a boundary of an open mesh object.
  • Boolean
    • Mesh Union.svg Union: Creates a mesh object that is the union of two mesh objects.
    • Mesh Intersection.svg Intersection: Creates a mesh object that is the intersection of two mesh objects.
    • Mesh Difference.svg Difference: Creates a mesh object that is the difference of two mesh objects.
  • Mesh Merge.svg Merge: Creates a mesh object by combining the meshes of two or more mesh objects.

Preferences

There are some export preferences related to Mesh Formats but these are not used by commands belonging to this workbench. They are used by the Std Export command.

Mesh Workbench preferences can be found in the following categories of the Preferences Editor:

Notes