Arch MeshToShape

From FreeCAD Documentation
Jump to navigation Jump to search

Arch MeshToShape.svg Arch MeshToShape

Menu location
Arch → Utilities → Mesh to Shape
Default shortcut
Introduced in version
See also
Arch SplitMesh, Arch RemoveShape


Arch MeshToShape converts a selected Mesh (Mesh Feature) object into a Shape (Part Feature) object.

This tool is optimized for objects with flat faces (no curves). The corresponding tool Part ShapeFromMesh.svg Part ShapeFromMesh from the Workbench Part.svg Part Workbench might be more suited for objects that contain curved surfaces.


  1. Select a mesh object.
  2. Press the Arch MeshToShape.svg Mesh to Shape entry in Arch → Utilities → Mesh to Shape.




See also: Arch API and FreeCAD Scripting Basics.

This tool can be used in macros and from the Python console by using the following function:

new_obj = meshToShape(obj, mark=True, fast=True, tol=0.001, flat=False, cut=True)

The above code snippet converts the given obj (a mesh), into a shape, joining coplanar facets.

  • If mark is True, non-solid objects will be marked in red.
  • If fast is True, it uses a faster algorithm by building a shell from the facets then removing splitter.
  • tol is the tolerance used when converting mesh segments to wires.
  • If flat is True, it will force the wires to be perfectly planar to be sure they can be converted into faces, but this might leave gaps in the final shell.
  • If cut is True, holes in faces are made by subtraction.


import Arch, Mesh, BuildRegularGeoms

Box = FreeCAD.ActiveDocument.addObject("Mesh::Cube", "Cube")
Box.Length = 1000
Box.Width = 2000
Box.Height = 1000

new_obj = Arch.meshToShape(Box)