Arch SplitMesh/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 15: Line 15:
|MenuLocation=Arch → Utilitaires → Diviser un maillage
|MenuLocation=Arch → Utilitaires → Diviser un maillage
|Workbenches=[[Arch_Workbench/fr|Arch]]
|Workbenches=[[Arch_Workbench/fr|Arch]]
|SeeAlso=[[Arch_SelectNonSolidMeshes/fr|Arch Sélection de maillages non-manifold]], [[Arch_MeshToShape/fr|Arch Maillage vers un objet shape]]
|SeeAlso=[[Arch_SelectNonSolidMeshes/fr|Arch Sélection de maillages non-manifold]], [[Arch_MeshToShape/fr|Arch Maillage vers une forme]]
}}
}}


Line 25: Line 25:
==Utilisation==
==Utilisation==


# Sélectionnez un objet mesh.
# Sélectionnez un objet maillé.
# Cliquez sur le bouton {{Button|[[Image:Arch_SplitMesh.svg|16px]] [[Arch_SplitMesh/fr|Diviser un maillage]]}} dans {{MenuCommand|Arch → Utilitaires → Diviser un maillage}}.
# Cliquez sur le bouton {{Button|[[Image:Arch_SplitMesh.svg|16px]] [[Arch_SplitMesh/fr|Diviser un maillage]]}} dans {{MenuCommand|Arch → Utilitaires → Diviser un maillage}}.


Line 31: Line 31:
==Script==
==Script==


{{Emphasis|Voir aussi:}} [[Arch_API/fr|Arch API]] et [[FreeCAD_Scripting_Basics/fr|Débuter avec les scripts FreeCAD]].
{{Emphasis|Voir aussi :}} [[Arch_API/fr|Arch API]] et [[FreeCAD_Scripting_Basics/fr|Débuter avec les scripts FreeCAD]].


L'outil Séparer un objet Mesh est utilisable dans une [[Macros/fr|macro]] et dans la console [[Python/fr|Python]] en utilisant la fonction suivante :
L'outil Diviser un maillage est utilisable dans une [[Macros/fr|macro]] et dans la console [[Python/fr|Python]] en utilisant la fonction suivante :


{{Code|code=
{{Code|code=
Line 40: Line 40:


* Divise l'objet maillé donné ({{incode|obj}}) en composants séparés.
* Divise l'objet maillé donné ({{incode|obj}}) en composants séparés.
* Si {{incode|mark}} est mis à {{incode|True}}, les composants [https://fr.wikipedia.org/wiki/Vari%C3%A9t%C3%A9_(g%C3%A9om%C3%A9trie) Variété non-manifold] seront peints en rouge.
* Si {{incode|mark}} est mis à {{incode|True}}, les composants [https://fr.wikipedia.org/wiki/Vari%C3%A9t%C3%A9_(g%C3%A9om%C3%A9trie) non-manifolds] seront peints en rouge.
* {{incode|new_list}} est une liste de tous les composants individuels qui composent le maillage.
* {{incode|new_list}} est une liste de tous les composants individuels qui composent le maillage.


Exemple:
Exemple :


{{Code|code=
{{Code|code=
Line 64: Line 64:


{{Docnav/fr
{{Docnav/fr
|[[Arch_CloneComponent/fr|Clone]]
|[[Arch_CloneComponent/fr|Cloner un composant]]
|[[Arch_MeshToShape/fr|Maillage vers une forme]]
|[[Arch_MeshToShape/fr|Maillage vers une forme]]
|[[Arch_Workbench/fr|Atelier Arch]]
|[[Arch_Workbench/fr|Atelier Arch]]

Latest revision as of 20:50, 21 March 2023

Arch Diviser un maillage

Emplacement du menu
Arch → Utilitaires → Diviser un maillage
Ateliers
Arch
Raccourci par défaut
Aucun
Introduit dans la version
-
Voir aussi
Arch Sélection de maillages non-manifold, Arch Maillage vers une forme

Description

Cet outil sépare les composants d'un objet Mesh sélectionné.

Utilisation

  1. Sélectionnez un objet maillé.
  2. Cliquez sur le bouton Diviser un maillage dans Arch → Utilitaires → Diviser un maillage.

Script

Voir aussi : Arch API et Débuter avec les scripts FreeCAD.

L'outil Diviser un maillage est utilisable dans une macro et dans la console Python en utilisant la fonction suivante :

new_list = splitMesh(obj, mark=True)
  • Divise l'objet maillé donné (obj) en composants séparés.
  • Si mark est mis à True, les composants non-manifolds seront peints en rouge.
  • new_list est une liste de tous les composants individuels qui composent le maillage.

Exemple :

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)