Part Fragments booléens

From FreeCAD Documentation
Revision as of 13:13, 7 March 2020 by David69 (talk | contribs)

Fragments Booléens Part

Emplacement du menu
Pièce → Scinder → Fragments Booléens
Ateliers
Part
Raccourci par défaut
Aucun
Introduit dans la version
0.17.8053
Voir aussi
Trancher, Part XOR, Joindre, Opérations Booléennes

Description

Outil permettant de calculer tous les fragments pouvant résulter de l'application d'opérations booléennes entre des formes d'entrée. Par exemple, pour deux sphères entrecroisées, trois solides non chevauchants mais touchants sont générés.

(sur l'image ci-dessus, les pièces ont été déplacées manuellement après, pour révéler la fragmentation)

La forme de sortie est toujours un composé. Le contenu du composé dépend des types de forme et du mode opératoire. Cela signifie que vous n'avez pas immédiatement accès aux éléments individuels du résultat - ceux-ci restent regroupés. Les pièces individuelles peuvent être extraites en faisant exploser le composé (Draft Downgrade/fr).

L'outil comporte trois modes: "Standard", "Split" (fractionné) et "CompSolid" (composé de solides).

"Standard" et "Split" (fractionné) diffèrent par l'action de l'outil sur les fils, les coques et les solides composés: Pour "Split", ceux-ci sont séparés; Pour "Standard", ils sont conservés ensemble (on obtient des segments supplémentaires).

La structure de composition en modes "Standard" et "Split" (Fractionné) suit la structure de composition des entrées. Autrement dit, si vous introduisez deux composés, chacun contenant une sphère comme dans l'exemple ci-dessus, le résultat contiendra également deux composés, chacun contenant les parties de la sphère contenue à l'origine. Cela signifie que la pièce commune sera répétée deux fois dans le résultat. Ce n’est que si les sphères d’entrée ne sont pas dans des composés que le résultat contient la pièce commune une seule fois.

En mode "CompSolid" (composé de solides), les solides sont combinés en un composé de solides (compsolid est constitué d'un groupe de solides reliés par des faces, ils se rapportent à des solides tels que des polylignes (fils) se rapportent à des arêtes, et des coques se rapportent à des faces; le nom est probablement l'abréviation de "solide composite"). La sortie est un composé compsolid non imbriqué.

Comment l'utiliser

  1. Sélectionnez les objets à fragmenter.
    L'ordre de sélection n'a pas d'importance, l'action est symétrique. Il suffit de sélectionner un élément de chaque objet (par ex. des faces). Il est aussi possible de sélectionner un composé contenant toutes les formes à fragmenter, par ex. un Réseau Draft.
  2. Lancez la commande Part Fragments Booléens.

Un objet paramétrique Fragments Booléens est créé. Les objets d'origine sont cachés et le résultat de l'intersection est affiché en 3D.

Propriétés

Fragments Booléens

  • DonnéesObjects: Liste des objets à fragmenter. Généralement, au moins deux objets sont nécessaires, mais un seul composé contenant les formes à fragmenter conviendra également. (à partir de FreeCAD v0.17.8053, cette propriété n'est pas affichée dans l'éditeur de propriétés et n'est accessible que via Python).
  • DonnéesMode: "Standard", "Split" ou "CompSolid". "Standard" est la valeur par défaut. Standard et Split diffèrent par l'action de l'outil sur les formes de type agrégation: si Split, celles-ci sont séparées; sinon, elles sont conservées ensemble (vous obtenez des segments supplémentaires).
  • DonnéesTolerance: valeur "floue". Il s'agit d'une tolérance supplémentaire à appliquer lors de la recherche d'intersections, en plus des tolérances stockées dans les formes en entrée.

Détails d'implémentation

L'outil Fragments booléens en "Mode standard" est l'opérateur de fusion général (GFA) d'OpenCascade. Il accepte une combinaison de probablement tous les types de formes, et la logique de sortie est assez compliquée. Voir Guide de l'utilisateur OpenCascade: Opérations booléennes.

Pour les modes "Split" et "CompSolid", FreeCAD effectue un post-traitement supplémentaire.

Script

L'outil peut être utilisé dans une macros et à partir de la console python en utilisant la fonction suivante:

BOPTools.SplitFeatures.makeBooleanFragments(name)
  • Crée une fonction BooleanFragments vide. Les propriétés 'Objects' doivent être attribuées explicitement, par la suite.
  • Renvoie l'objet nouvellement créé.

Fragments Booléens peut également être appliqué à des formes simples, sans avoir besoin d'un objet de document via :

import BOPTools.SplitAPI
BOPTools.SplitAPI.booleanFragments(list_of_shapes, mode, tolerance = 0.0)

# OR, for Standard mode:

list_of_shapes = [App.ActiveDocument.Sphere.Shape, App.ActiveDocument.Sphere001.Shape]
pieces, map = list_of_shapes[0].generalFuse(list_of_shapes[1:], tolerance)
# pieces receives a compound of shapes; map receives a list of lists of shapes, defining list_of_shapes <--> pieces correspondence

Cela peut être utile pour créer des fonctionnalités de script personnalisées Python.


Exemple :

import BOPTools.SplitFeatures
j = BOPTools.SplitFeatures.makeBooleanFragments(name= 'BooleanFragments')
j.Objects = FreeCADGui.Selection.getSelection()

L'outil lui-même est implémenté en Python, voir /Mod/Part/BOPTools/SplitFeatures.py là où FreeCAD est installé.

Version

L'outil a été introduit dans FreeCAD v0.17.8053. FreeCAD doit être compilé avec OCC 6.9.0 ou version ultérieure; Sinon, l'outil n'est pas disponible.