Arch MeshToShape: Difference between revisions

From FreeCAD Documentation
(Vertical GuiCommand; {{Button}} instead of {{KEY}} template; full stops)
(Marked this version for translation)
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>
<!--T:11-->
{{docnav|[[Arch_SplitMesh|Split Mesh]]|[[Arch_SelectNonSolidMeshes|Select non-solid meshes]]|[[Arch_Module|Arch]]|IconL=Arch_SplitMesh.svg |IconC=Workbench_Arch.svg |IconR=Arch_SelectNonSolidMeshes.png}}

<!--T:1-->
<!--T:1-->
{{GuiCommand
{{GuiCommand
Line 6: Line 9:
|MenuLocation=Arch → Utilities → Mesh to Shape
|MenuLocation=Arch → Utilities → Mesh to Shape
|Workbenches=[[Arch Module|Arch]]
|Workbenches=[[Arch Module|Arch]]
|SeeAlso=[[Arch RemoveShape]]
|SeeAlso=[[Arch SplitMesh]], [[Arch RemoveShape]]
}}
}}


Line 21: Line 24:


==Scripting== <!--T:6-->
==Scripting== <!--T:6-->
{{Emphasis|See also:}} [[Arch API]] and [[FreeCAD Scripting Basics]].


<!--T:7-->
<!--T:7-->
This tool can by used in [[macros]] and from the python console by using the following function:
This tool can be used in [[macros]] and from the [[Python]] console by using the following function:
</translate>
</translate>
{{Code|code=
{{Code|code=
new_obj = meshToShape(obj, mark=True, fast=True, tol=0.001, flat=False, cut=True)
meshToShape (object,[mark])
}}
}}
<translate>
<translate>
<!--T:8-->
turns a mesh into a shape, joining coplanar facets.


<!--T:9-->
<!--T:8-->
* Turns the given {{incode|obj}}, a mesh, into a shape, joining coplanar facets.
If mark is True (default), non-solid objects will be marked in red
* If {{incode|mark}} is {{incode|True}}, non-solid objects will be marked in red.
* If {{incode|fast}} is {{incode|True}} it uses a faster algorithm by building a shell from the facets then removing splitter.
* {{incode|tol}} is the tolerance used when converting mesh segments to wires.
* If {{incode|flat}} is {{incode|True}} it will force the wires to be perfectly planar, to be sure they can be turned into faces, but this might leave gaps in the final shell.
* If {{incode|cut}} is {{incode|True}} holes in faces are made by subtraction.
</translate>
</translate>


{{Code|code=
import Arch, Mesh, BuildRegularGeoms

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

new_obj = Arch.meshToShape(Box)
}}
<translate>
<translate>
<!--T:10-->
<!--T:12-->
{{docnav|[[Arch_SplitMesh|Split Mesh]]|[[Arch_SelectNonSolidMeshes|Select non-solid meshes]]|[[Arch_Module|Arch]]|IconL=Arch_SplitMesh.svg |IconC=Workbench_Arch.svg |IconR=Arch_SelectNonSolidMeshes.png}}
[[Category:Arch]]

<!--T:13-->
{{Arch Tools navi}}

<!--T:14-->
{{Userdocnavi}}
</translate>
</translate>

Revision as of 22:39, 9 February 2019

Arch MeshToShape

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

Description

This tool converts a selected Mesh object into a Shape object. Note that this tool is optimized for objects with flat faces (no curves). The corresponding tool from the Part Workbench might be more suited for objects that contain curved surfaces.

How to use

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

Scripting

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)
  • Turns 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 turned 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
FreeCAD.ActiveDocument.recompute()

new_obj = Arch.meshToShape(Box)