Part BooleanFragments/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "==Programmation==")
(Updating to match new version of source page)
 
(117 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{GuiCommand/fr|Name=Part BooleanFragments|Name/fr=Fragments Booléens Part|MenuLocation=Part → Découper → Fragments Booléens|Workbenches=[[Part Module/fr|Part]]|SeeAlso=[[Part_Slice/fr|TranchagePart]], [[Part_XOR/fr|Part XOR]], [[Part_CompJoinFeatures/fr|Join features]], [[Part Booleans/fr|Part Booleans]]}}
{{Docnav/fr
|[[Part_CompSplittingTools/fr|Outils de division de formes]]
|[[Part_SliceApart/fr|Séparer/exploser]]
|[[Part_Workbench/fr|Atelier Part]]
|IconL=Part_CompSplittingTools.png
|IconR=Part_SliceApart.svg
|IconC=Workbench_Part.svg
}}

{{GuiCommand/fr
|Name=Part BooleanFragments
|Name/fr=Part Fragments booléens
|MenuLocation=Part → Scinder → Fragments booléens
|Workbenches=[[Part_Workbench/fr|Part]]
|Version=0.17
|SeeAlso=[[Part_Slice/fr|Part Scinder]], [[Part_XOR/fr|Part OU exclusif]], [[Part_CompJoinFeatures/fr|Part Joindre]], [[Part_Boolean/fr|Part Opérations booléennes]]
}}


==Description==
==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.
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 se touchant sont générés.


[[image:Part_BooleanFragments_Demo.png|600px]]
[[image:Part_BooleanFragments_Demo.png|600px]]


(sur l'image ci-dessus, les pièces ont été déplacées manuellement après, pour révéler le tranchage)
{{Caption|Dans l'image ci-dessus, les pièces ont été déplacées manuellement pour révéler la fragmentation.}}


La forme résultante 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. Ces éléments restent regroupés. Chaque élément peut être extrait en faisant exploser le composé ([[Draft_Downgrade/fr|Draft Désagréger]]).
The output shape is always a compound. The content of the compound depends on input shape types and operation mode. That means, you don't immediately get access to individual pieces of the result - the pieces remain grouped together. The individual pieces can be extracted by exploding the compound ([[Draft Downgrade]]).


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


"Standard" and "Split" differ by the action of the tool on wires, shells and compsolids: if "Split", those are separated; if "Standard", they are kept together (get extra segments).
"Standard" et "Split" diffèrent par l'action de l'outil sur les polylignes, les coques et les solides composés. Pour "Split", ceux-ci sont séparés. Pour "Standard", ils sont maintenus ensemble (on obtient des segments supplémentaires).


La structure de composition en modes "Standard" et "Split" 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.
Compounding structure in "Standard" and "Split" modes follows the compounding structure of inputs. That is, if you feed in two compounds, each containing a sphere like on example above, the result will also contain two compounds, each containing the pieces of the originally contained sphere. That means, the common piece will be repeated twice in the result. Only if the input shperes are both not in compounds, the result will contain the common piece once.


In "CompSolid" mode, the solids are joined into a compsolid (compsolid is a set of solids connected by faces; they are related to solids like wires are related to edges, and shells are related to faces; the name is probably a shortened phrase "composite solid"). The output is a non-nested compound of compsolids
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 à l'instar des polylignes se rapportent à des arêtes, et des coques se rapportent à des faces; le nom est probablement l'abréviation de "solide composite"). Le résultat est un composé non imbriqué de compsolides.


<span id="Usage"></span>
==How to use==
==Utilisation==
# Select objects to be intersected. <br /> The order of selection is not important, since the action of the tool is symmetric. It is enough to select one sub-shape of each object (e.g., faces). You can also select a compound containing all the shapes to be connected, e.g. [[Draft Array]].
# Invoke the Part BooleanFragments command.


# Sélectionnez les objets à intersecter. <br /> L'ordre de sélection n'est pas important, puisque l'action de l'outil est symétrique. Il suffit de sélectionner une sous-forme de chaque objet (par exemple, les faces). Vous pouvez également sélectionner un composé contenant toutes les formes à connecter, par exemple [[Draft_OrthoArray/fr|Draft Réseau orthogonal]].
A Boolean Fragments parametric object is created. Original objects are hidden, and the result of intersection is shown in 3D view.
# Lancez la commande Part Fragments booléens de plusieurs façons :
#* En appuyant sur le bouton [[Image:Part_BooleanFragments.svg|24px|link=Part_BooleanFragments/fr]] de la barre d'outils.
#* En utilisant l'entrée {{MenuCommand|Part → Scinder → Fragments booléens}} dans le menu Part.

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é dans la [[3D_view/fr|vue 3D]]

<span id="Properties"></span>
==Propriétés==


==Properties==
{{TitleProperty|Boolean Fragments}}
{{TitleProperty|Boolean Fragments}}
* {{PropertyData|Objects}}: List of objects to be intersected. Generally, at least two objects are needed, but a single compound containing the shapes to intersect will do as well. (as of FreeCAD v0.17.8053, this property is not displayed in property editor, and can only be accessed via Python).
* {{PropertyData|Objects}} : 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).
* {{PropertyData|Mode}}: "Standard", "Split", or "CompSolid". "Standard" is default. Standard and Split differ by the action of the tool on aggregation type shapes: if Split, those are separated; otherwise they are kept together (get extra segments).
* {{PropertyData|Mode}} : "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).
* {{PropertyData|Tolerance}}: "fuzziness" value. This is an extra tolerance to apply when searching for intersections, in addition to tolerances stored in the input shapes.
* {{PropertyData|Tolerance}} : 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.


<span id="Implementation_details"></span>
==Implementation details==
== Détails de l'implémentation==
Boolean Fragments tool in "Standard mode" is OpenCascade's General Fuse Operator (GFA). It accepts a combination of probably all shape types, and the logic of output is quite convoluted. See [https://www.opencascade.com/doc/occt-7.0.0/overview/html/occt_user_guides__boolean_operations.html OpenCascade user guide: Boolean operations].


L'outil Fragments booléens en "Standard mode" 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 alambiquée. Voir [https://www.opencascade.com/doc/occt-7.0.0/overview/html/occt_user_guides__boolean_operations.html Guide de l'utilisateur OpenCascade : opérations booléennes].
For "Split" and "CompSolid" modes, extra post-processing is done by FreeCAD.


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


<span id="Scripting"></span>
The tool can by used in [[macros]] and from the python console by using the following function:
==Script==

L'outil peut être utilisé dans des [[macros/fr|macros]] et à partir de la console Python en utilisant la fonction suivante :
'''BOPTools.SplitFeatures.makeBooleanFragments(name)'''
'''BOPTools.SplitFeatures.makeBooleanFragments(name)'''


* Creates an empty BooleanFragments feature. The 'Objects' property must be assigned explicitly, afterwards.
* Crée une fonction BooleanFragments vide. Les propriétés 'Objects' doivent être attribuées explicitement, par la suite.
* Renvoie l'objet nouvellement créé.
* Returns the newly created object.

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


BooleanFragments can also be applied to plain shapes, without the need to have a document object, via:
{{code|code=
{{code|code=
import BOPTools.SplitAPI
import BOPTools.SplitAPI
Line 55: Line 83:
# pieces receives a compound of shapes; map receives a list of lists of shapes, defining list_of_shapes <--> pieces correspondence
# 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.
This can be useful for making custom Python scripted features.


Exemple :

Example:
{{code|code=
{{code|code=
import BOPTools.SplitFeatures
import BOPTools.SplitFeatures
Line 65: Line 92:
}}
}}


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

<span id="Notes"></span>
==Remarques==

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.


{{Docnav/fr
|[[Part_CompSplittingTools/fr|Outils de division de formes]]
|[[Part_SliceApart/fr|Séparer/exploser]]
|[[Part_Workbench/fr|Atelier Part]]
|IconL=Part_CompSplittingTools.png
|IconR=Part_SliceApart.svg
|IconC=Workbench_Part.svg
}}


{{Part Tools navi{{#translation:}}}}
==Version==
{{Userdocnavi{{#translation:}}}}
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.

Latest revision as of 15:47, 26 January 2023

Part Fragments booléens

Emplacement du menu
Part → Scinder → Fragments booléens
Ateliers
Part
Raccourci par défaut
Aucun
Introduit dans la version
0.17
Voir aussi
Part Scinder, Part OU exclusif, Part Joindre, Part 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 se touchant sont générés.

Dans l'image ci-dessus, les pièces ont été déplacées manuellement pour révéler la fragmentation.

La forme résultante 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. Ces éléments restent regroupés. Chaque élément peut être extrait en faisant exploser le composé (Draft Désagréger).

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

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

La structure de composition en modes "Standard" et "Split" 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 à l'instar des polylignes se rapportent à des arêtes, et des coques se rapportent à des faces; le nom est probablement l'abréviation de "solide composite"). Le résultat est un composé non imbriqué de compsolides.

Utilisation

  1. Sélectionnez les objets à intersecter.
    L'ordre de sélection n'est pas important, puisque l'action de l'outil est symétrique. Il suffit de sélectionner une sous-forme de chaque objet (par exemple, les faces). Vous pouvez également sélectionner un composé contenant toutes les formes à connecter, par exemple Draft Réseau orthogonal.
  2. Lancez la commande Part Fragments booléens de plusieurs façons :
    • En appuyant sur le bouton de la barre d'outils.
    • En utilisant l'entrée Part → Scinder → Fragments booléens dans le menu Part.

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é dans la vue 3D

Propriétés

Boolean Fragments

  • 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 de l'implémentation

L'outil Fragments booléens en "Standard mode" 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 alambiqué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 des 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é.

Remarques

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.