Arch SplitMesh/pl: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
(One intermediate revision by the same user not shown)
Line 2: Line 2:


{{Docnav
{{Docnav
|[[Arch_CloneComponent|Clone component]]
|[[Arch_CloneComponent|Clonecomponent]]
|[[Arch_MeshToShape|Mesh To Shape]]
|[[Arch_MeshToShape|MeshToShape]]
|[[Arch_Workbench|Arch]]
|[[Arch_Workbench|Arch]]
|IconL=Arch_CloneComponent.svg
|IconL=Arch_CloneComponent.svg
Line 27: Line 27:


==Scripting==
==Scripting==

{{Emphasis|See also:}} [[Arch_API|Arch API]] and [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].
{{Emphasis|See also:}} [[Arch_API|Arch API]] and [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].


The SplitMesh tool can be used in [[macros|macros]] and from the [[Python|Python]] console by using the following function:
The SplitMesh tool can be used in [[Macros|macros]] and from the [[Python|Python]] console by using the following function:


{{Code|code=
{{Code|code=
Line 36: Line 37:


* Splits the given mesh object ({{incode|obj}}) into separated components.
* Splits the given mesh object ({{incode|obj}}) into separated components.
* If {{incode|mark}} is {{incode|True}} [http://en.wikipedia.org/wiki/Manifold non-manifold] components will be painted red.
* If {{incode|mark}} is {{incode|True}} [https://en.wikipedia.org/wiki/Manifold non-manifold] components will be painted red.
* {{incode|new_list}} is a list of all the individual components that make the mesh.
* {{incode|new_list}} is a list of all the individual components that make the mesh.


Line 57: Line 58:
new_list = Arch.splitMesh(mesh_obj)
new_list = Arch.splitMesh(mesh_obj)
}}
}}



{{Docnav
{{Docnav
|[[Arch_CloneComponent|Clone component]]
|[[Arch_CloneComponent|Clonecomponent]]
|[[Arch_MeshToShape|Mesh To Shape]]
|[[Arch_MeshToShape|MeshToShape]]
|[[Arch_Workbench|Arch]]
|[[Arch_Workbench|Arch]]
|IconL=Arch_CloneComponent.svg
|IconL=Arch_CloneComponent.svg
Line 67: Line 69:
}}
}}


{{Arch Tools navi{{#translation:}}}}
{{Arch_Tools_navi{{#translation:}}}}

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

Revision as of 16:52, 12 March 2022

Arch SplitMesh

Menu location
Arch → Utilities → Split Mesh
Workbenches
Arch
Default shortcut
None
Introduced in version
-
See also
Arch SelectNonSolidMeshes, Arch MeshToShape

Description

This tool splits a selected Mesh object into its separate components

Usage

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

Scripting

See also: Arch API and FreeCAD Scripting Basics.

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

new_list = splitMesh(obj, mark=True)
  • Splits the given mesh object (obj) into separated components.
  • If mark is True non-manifold components will be painted red.
  • new_list is a list of all the individual components that make the mesh.

Example:

import FreeCAD, Draft, Arch, Mesh, MeshPart

Line = Draft.makeWire([FreeCAD.Vector(0, 0, 0),FreeCAD.Vector(2000, 2000, 0)])
Wall = Arch.makeWall(Line, width=150, height=3000)
FreeCAD.ActiveDocument.recompute()

Shape = Wall.Shape.copy(False)
Shape.Placement = Wall.getGlobalPlacement()

mesh_obj = FreeCAD.ActiveDocument.addObject("Mesh::Feature", "Mesh")
mesh_obj.Mesh = MeshPart.meshFromShape(Shape=Shape, MaxLength=520)
mesh_obj.ViewObject.DisplayMode = "Flat Lines"

new_list = Arch.splitMesh(mesh_obj)