Mesh Workbench: Difference between revisions

From FreeCAD Documentation
mNo edit summary
mNo edit summary
 
(44 intermediate revisions by 7 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Page in progress}}
<translate>
<translate>


<!--T:25-->
<!--T:25-->
{{Docnav
{{Docnav
|[[Inspection Workbench|Inspection Workbench]]
|[[Inspection_Workbench|Inspection Workbench]]
|[[OpenSCAD Module|OpenSCAD Module]]
|[[OpenSCAD_Workbench|OpenSCAD Workbench]]
|IconL=Workbench_Inspection.svg
|IconL=Workbench_Inspection.svg
|IconR=Workbench_OpenSCAD.svg
|IconR=Workbench_OpenSCAD.svg
Line 21: Line 20:


<!--T:1-->
<!--T:1-->
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.
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.


<!--T:4-->
<!--T:4-->
Line 27: Line 26:


<!--T:5-->
<!--T:5-->
'''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 as [[Glossary#Solid|solids]]. This means that all solid-based operations, such as addition or subtraction, are difficult to perform on meshes. The Mesh Workbench is useful to import 3D data in mesh format, to analyse it, detect errors, and finally convert it to a solid, for use with the [[Image:Workbench_Part.svg|24px]] [[Part Workbench|Part Workbench]].
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]].


</translate>
</translate>
Line 36: Line 35:


<!--T:8-->
<!--T:8-->
All Mesh Workbench tools can be accessed from the '''Meshes''' menu. Some tools are also available in the '''Mesh tools''' toolbar.
All Mesh Workbench tools can be accessed from the '''Meshes''' menu. Almost all are also available in one of the Mesh toolbars.


<!--T:28-->
* [[Image:Mesh_Import.svg|32px]] [[Mesh_Import|Import mesh...]]: Import meshes in several file formats.
* [[Image:Mesh_Import.svg|32px]] [[Mesh_Import|Import mesh...]]: Imports a mesh object from a file.


<!--T:29-->
* [[Image:Mesh_Export.svg|32px]] [[Mesh_Export|Export mesh...]]: Export meshes in several file formats.
* [[Image:Mesh_Export.svg|32px]] [[Mesh_Export|Export mesh...]]: Exports a mesh object to a file.


<!--T:30-->
* [[Image:Mesh_FromPartShape.svg|32px]] [[Mesh_FromPartShape|Create mesh from shape...]]: Convert [[Part Module|Part]] objects into meshes.
* [[Image:Mesh_FromPartShape.svg|32px]] [[Mesh_FromPartShape|Create mesh from shape...]]: Creates mesh objects from shape objects.


<!--T:31-->
* [[Mesh_RemeshGmsh|Refinement...]]: ???.
* [[Image:Mesh_RemeshGmsh.svg|32px]] [[Mesh_RemeshGmsh|Refinement...]]: Remeshes a mesh object.


* Analyze <!--T:12-->
<!--T:12-->
* Analyze
** [[Mesh_Evaluation|Evaluate and repair mesh...]]: Evaluates and repairs meshes.
** [[Image:Mesh_EvaluateFacet.svg|32px]] [[Mesh_EvaluateFacet|Face info]]: Gives info on faces.
** [[Image:Mesh_Evaluation.svg|32px]] [[Mesh_Evaluation|Evaluate and repair mesh...]]: Evaluates and repairs a mesh object.
** [[Image:Mesh_EvaluateFacet.svg|32px]] [[Mesh_EvaluateFacet|Face info]]: Shows information about faces of mesh objects.
** [[Mesh_CurvatureInfo|Curvature info]]: Gives info on curvature.
** [[Image:Mesh_CurvatureInfo.svg|32px]] [[Mesh_CurvatureInfo|Curvature info]]: Shows the absolute curvature of [[Mesh_VertexCurvature|curvature objects]] at selected points.
** [[Mesh_EvaluateSolid|Check solid mesh]]: Checks the solid if it can be converted to a mesh.
** [[Image:Mesh_EvaluateSolid.svg|32px]] [[Mesh_EvaluateSolid|Check solid mesh]]: Checks if a mesh object is solid.
** [[Mesh_BoundingBox|Boundings info...]]: Evaluates the bounding box of a mesh.
** [[Image:Mesh_BoundingBox.svg|32px]] [[Mesh_BoundingBox|Boundings info...]]: Shows the bounding box coordinates of a mesh object.


<!--T:32-->
* [[Image:Mesh_VertexCurvature.svg|32px]] [[Mesh_VertexCurvature|Curvature plot]]: Creates a curvature plot.
* [[Image:Mesh_VertexCurvature.svg|32px]] [[Mesh_VertexCurvature|Curvature plot]]: Creates Mesh Curvature objects for mesh objects.


<!--T:33-->
* [[Image:Mesh_HarmonizeNormals.svg|32px]] [[Mesh_HarmonizeNormals|Harmonize normals]]: Harmonizes normals.
* [[Image:Mesh_HarmonizeNormals.svg|32px]] [[Mesh_HarmonizeNormals|Harmonize normals]]: Harmonizes the normals of mesh objects.


<!--T:34-->
* [[Image:Mesh_FlipNormals.svg|32px]] [[Mesh_FlipNormals|Flip normals]]: Flips normals.
* [[Image:Mesh_FlipNormals.svg|32px]] [[Mesh_FlipNormals|Flip normals]]: Flips the normals of mesh objects.


<!--T:35-->
* [[Mesh_FillupHoles|Fill holes...]]: Fills up holes.
* [[Image:Mesh_FillupHoles.svg|32px]] [[Mesh_FillupHoles|Fill holes...]]: Fills holes in mesh objects.


<!--T:36-->
* [[Image:Mesh_FillInteractiveHole.svg|32px]] [[Mesh_FillInteractiveHole|Close hole]]: Closes holes in meshes.
* [[Image:Mesh_FillInteractiveHole.svg|32px]] [[Mesh_FillInteractiveHole|Close hole]]: Fills selected holes in mesh objects.


<!--T:37-->
* [[Mesh_AddFacet|Add triangle]]: Adds a triangle.
* [[Image:Mesh_AddFacet.svg|32px]] [[Mesh_AddFacet|Add triangle]]: Adds faces along a boundary of an open mesh object.


<!--T:38-->
* [[Image:Mesh_RemoveComponents.svg|32px]] [[Mesh_RemoveComponents|Remove components...]]: Removes components of meshes.
* [[Image:Mesh_RemoveComponents.svg|32px]] [[Mesh_RemoveComponents|Remove components...]]: Removes faces from mesh objects.


<!--T:39-->
* [[Mesh_RemoveCompByHand|Remove components by hand...]]: Removes components of meshes by hand.
* [[Image:Mesh_RemoveCompByHand.svg|32px]] [[Mesh_RemoveCompByHand|Remove components by hand...]]: Removes components from mesh objects.


<!--T:40-->
* [[Mesh_Segmentation|Create mesh segments...]]: Creates mesh segments.
* [[Image:Mesh_Segmentation.svg|32px]] [[Mesh_Segmentation|Create mesh segments...]]: Creates separate mesh segments for specified surface types of a mesh object.


<!--T:41-->
* [[Mesh_SegmentationBestFit|Create mesh segments from best-fit surfaces...]]: ???.
* [[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.


<!--T:42-->
* [[Mesh_Smoothing|Smooth...]]: Smooths a mesh.
* [[Image:Mesh_Smoothing.svg|32px]] [[Mesh_Smoothing|Smooth...]]: Smooths mesh objects.


<!--T:43-->
* [[Mesh_Decimating|Decimation...]]: Decimates a mesh.
* [[Image:Mesh_Decimating.svg|32px]] [[Mesh_Decimating|Decimation...]]: Reduces the number of faces in mesh objects.


<!--T:44-->
* [[Mesh_Scale|Scale...]]: Scales a mesh.
* [[Image:Mesh_Scale.svg|32px]] [[Mesh_Scale|Scale...]]: Scales mesh objects.


<!--T:45-->
* [[Image:Mesh_BuildRegularSolid.svg|32px]] [[Mesh_BuildRegularSolid|Regular solid...]] Creates a mesh primitive.
* [[Image:Mesh_BuildRegularSolid.svg|32px]] [[Mesh_BuildRegularSolid|Regular solid...]]: Creates a regular parametric solid mesh object.


* Boolean <!--T:14-->
<!--T:14-->
* Boolean
** [[Mesh_Union|Union]]: Does a union (fusion) on meshes.
** [[Image:Mesh_Union.svg|32px]] [[Mesh_Union|Union]]: Creates a mesh object that is the union of two mesh objects.
** [[Mesh_Intersection|Intersection]]: Does an intersection (common) on meshes.
** [[Image:Mesh_Intersection.svg|32px]] [[Mesh_Intersection|Intersection]]: Creates a mesh object that is the intersection of two mesh objects.
** [[Mesh_Difference|Difference]]: Does a difference (cut) on meshes.
** [[Image:Mesh_Difference.svg|32px]] [[Mesh_Difference|Difference]]: Creates a mesh object that is the difference of two mesh objects.


* Cutting <!--T:20-->
<!--T:20-->
* Cutting
** [[Image:Mesh_PolyCut.svg|32px]] [[Mesh_PolyCut|Cut mesh]]: Cuts meshes along a line.
** [[Image:Mesh_PolyCut.svg|32px]] [[Mesh_PolyCut|Cut mesh]]: Cuts whole faces from mesh objects.
** [[Mesh_PolyTrim|Trim mesh]]: Trims meshes.
** [[Mesh_TrimByPlane|Trim mesh with a plane]]: Trims meshes with a plane.
** [[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.
** [[Mesh_SectionByPlane|Create section from mesh and plane]]: ???.
** [[Image:Mesh_SectionByPlane.svg|32px]] [[Mesh_SectionByPlane|Create section from mesh and plane]]: Creates a cross section across a mesh object.
** [[Mesh_CrossSections|Cross-sections...]]: ???.
** [[Image:Mesh_CrossSections.svg|32px]] [[Mesh_CrossSections|Cross-sections...]]: Creates multiple cross sections across mesh objects.


<!--T:46-->
* [[Mesh_Merge|Merge]]: Merges meshes.
* [[Image:Mesh_Merge.svg|32px]] [[Mesh_Merge|Merge]]: Creates a mesh object by combining the meshes of two or more mesh objects.


<!--T:52-->
* [[MeshPart_CreateFlatMesh|Unwrap Mesh]]: ???.
* [[Image:Mesh_SplitComponents.svg|32px]] [[Mesh_SplitComponents|Split by components]]: Splits a mesh object into its components.


<!--T:47-->
* [[MeshPart_CreateFlatFace|Unwrap Face]]: ???.
* [[Image:MeshPart_CreateFlatMesh.svg|32px]] [[MeshPart_CreateFlatMesh|Unwrap mesh]]: Creates a flat representation of a mesh object.

<!--T:48-->
* [[Image:MeshPart_CreateFlatFace.svg|32px]] [[MeshPart_CreateFlatFace|Unwrap face]]: Creates a flat representation of a face of a shape object.


==Preferences== <!--T:18-->
==Preferences== <!--T:18-->


<!--T:50-->
* [[Image:Preferences-import-export.svg|32px]] [[Import_Export_Preference|Preference]] Import-Export
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.


<!--T:9-->
<!--T:51-->
Mesh Workbench preferences can be found in the following categories of the [[Preferences_Editor|Preferences Editor]]:
More mesh tools are available in the [[Image:Workbench_OpenSCAD.svg|24px]] [[OpenSCAD Workbench|OpenSCAD Workbench]].
* [[Image:Preferences-display.svg|32px]] [[Preferences_Editor#Display|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.


<!--T:21-->
==Notes== <!--T:16-->
Meshes can also be handled via [[Python]] using [[Mesh Scripting|Mesh Scripting]].

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


<!--T:17-->
<!--T:17-->
* More mesh tools are available in the [[Image:Workbench_OpenSCAD.svg|24px]] [[OpenSCAD_Workbench|OpenSCAD Workbench]].
* [[FreeCAD and Mesh Import|FreeCAD and Mesh Import]]
* 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.



<!--T:10-->
<!--T:10-->
{{Docnav
{{Docnav
|[[Inspection Workbench|Inspection Workbench]]
|[[Inspection_Workbench|Inspection Workbench]]
|[[OpenSCAD Module|OpenSCAD Module]]
|[[OpenSCAD_Workbench|OpenSCAD Workbench]]
|IconL=Workbench_Inspection.svg
|IconL=Workbench_Inspection.svg
|IconR=Workbench_OpenSCAD.svg
|IconR=Workbench_OpenSCAD.svg
}}
}}



</translate>
</translate>

{{Mesh Tools navi{{#translation:}}}}
{{Mesh Tools navi{{#translation:}}}}

{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

[[Category:Workbenches{{#translation:}}]]
[[Category:Workbenches{{#translation:}}]]

Latest revision as of 16:24, 25 November 2023

Mesh workbench icon

Introduction

The 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 Part Workbench or PartDesign Workbench.

Tools

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

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

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