Part BooleanFragments/it: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(30 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Docnav/it|[[Part_CompSplittingTools/it|Strumenti di suddivisione]]|[[Part_SliceApart/it|Affetta in parti]]|[[Part_Module/it|Part]]|IconL=Part_CompSplittingTools.png|IconC=Workbench_Part.svg|IconR=Part_SliceApart.svg}}


{{Docnav/it
<div class="mw-translate-fuzzy">
|[[Part_CompSplittingTools/it|Strumenti di suddivisione]]
{{GuiCommand/it|Name=Part BooleanFragments|Name/it=Frammenti booleani|MenuLocation=Part → Dividi → Frammenti booleani|Workbenches=[[Part Module/it|Part]]|SeeAlso=[[Part_Slice/it|Affetta in composto]], [[Part_XOR/it|Part XOR]], [[Part_CompJoinFeatures/it|Congiungi]], [[Part Booleans/it|Operazione booleana]]|Version=0.17.8053}}
|[[Part_SliceApart/it|Affetta in parti]]
</div>
|[[Part_Workbench/it|Part]]
|IconL=Part_CompSplittingTools.png
|IconR=Part_SliceApart.svg
|IconC=Workbench_Part.svg
}}


{{GuiCommand/it
==Description==
|Name=Part BooleanFragments
|Name/it=Part Frammenti booleani
|MenuLocation=Parte → Dividi → Frammenti booleani
|Workbenches=[[Part_Workbench/it|Part]]
|Version=0.17
|SeeAlso=[[Part_Slice/it|Affetta in composto]], [[Part_XOR/it|Part XOR]], [[Part_CompJoinFeatures/it|Giunzione]], [[Part Boolean/it|Operazione booleana]]
}}


<span id="Description"></span>
<div class="mw-translate-fuzzy">
==Descrizione==
==Descrizione==

Strumento per calcolare tutti i frammenti che possono derivare dall'applicazione delle operazioni booleane tra le forme in ingresso. Ad esempio, per due sfere intersecanti, vengono generati tre solidi non sovrapposti, ma a contatto.
Strumento per calcolare tutti i frammenti che possono derivare dall'applicazione delle operazioni booleane tra le forme in ingresso. Ad esempio, per due sfere intersecanti, vengono generati tre solidi non sovrapposti, ma a contatto.
</div>


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


(Nella figura sopra, i pezzi sono stati separati manualmente dopo l'operazione, per rendere visibili le singole parti)
{{Caption|Nella figura qui sopra, i pezzi sono stati separati manualmente dopo l'operazione, per rendere visibili le singole parti.}}


La forma in uscita è sempre un composto. Il contenuto del composto dipende dai tipi di forme di ingresso e dalla modalità in cui l'operazione viene eseguita. Ciò significa che non si ottiene immediatamente l'accesso ai singoli pezzi del risultato, ma i pezzi rimangono raggruppati insieme. I singoli pezzi possono essere estratti dividendo il composto con [[Draft Downgrade/it|Scomponi]].
La forma in uscita è sempre un composto. Il contenuto del composto dipende dai tipi di forme di ingresso e dalla modalità in cui l'operazione viene eseguita. Ciò significa che non si ottiene immediatamente l'accesso ai singoli pezzi del risultato, ma i pezzi rimangono raggruppati insieme. I singoli pezzi possono essere estratti dividendo il composto con [[Draft_Downgrade/it|Draft Declassa]].


Lo strumento dispone di tre modalità: "Standard", "Split", e "CompSolid".
Lo strumento dispone di tre modalità: "Standard", "Split", e "CompSolid".


Le modalità "Standard" e "Split" differiscono per l'azione dello strumento su wire, shell e compsolid: se si usa "Split", essi sono separati; se si usa "Standard", essi sono mantenuti insieme (si ottengono dei segmenti in più).
Le modalità "Standard" e "Split" differiscono per l'azione dello strumento su polilinee, gusci e compsolids. Se si usa "Split", essi sono separati; se si usa "Standard", essi sono mantenuti insieme (si ottengono dei segmenti in più).


La struttura del composto nelle modalità "Split" e "Standard" segue la struttura dei composti in ingresso. Cioè, se si forniscono due composti, ciascuno contenente una sfera come su nell'esempio precedente, anche il risultato contiene due composti, ciascuno contenente i pezzi della sfera originariamente contenuta. Ciò significa che nel risultato il pezzo comune è ripetuto due volte. Solo se le sfere in ingresso sono entrambi dei non composti, il risultato contiene il pezzo comune una volta sola.
La struttura del composto nelle modalità "Split" e "Standard" segue la struttura dei composti in ingresso. Cioè, se si forniscono due composti, ciascuno contenente una sfera come su nell'esempio precedente, anche il risultato contiene due composti, ciascuno contenente i pezzi della sfera originariamente contenuta. Ciò significa che nel risultato il pezzo comune è ripetuto due volte. Solo se le sfere in ingresso sono entrambi dei non composti, il risultato contiene il pezzo comune una volta sola.


In modalità "CompSolid", i solidi vengono uniti in un compsolid (il compsolid è formato da un gruppo di solidi collegati dalle facce, esse si rapportano ai solidi come le polilinee (wire) si rapportano ai bordi (edge), e i gusci (shell) si rapportano alle facce, il nome è probabilmente l'abbreviazione di "solido composito"). L'output è un composto non-annidato di compsolidi
In modalità "CompSolid", i solidi vengono uniti in un compsolid (il compsolid è formato da un gruppo di solidi collegati dalle facce, esse si rapportano ai solidi come le polilinee (wire) si rapportano ai bordi (edge), e i gusci (shell) si rapportano alle facce, il nome è probabilmente l'abbreviazione di "solido composito"). L'output è un composto non-annidato di compsolids.


==Usage==
<span id="Usage"></span>
==Utilizzo==


# Selezionare gli oggetti da intersecare. <br /> L'ordine di selezione non è importante, poiché l'azione dello strumento è simmetrica. È sufficiente selezionare un sotto-forma di ogni oggetto (ad esempio una faccia). Inoltre, è possibile selezionare un composto contenente diverse forme collegate, ad es. una [[Draft_OrthoArray/it|Serie ortogonale]].
<div class="mw-translate-fuzzy">
# Richiamare il comando Part Frammenti booleani in diversi modi:
==Uso==
#* Premendo il pulsante [[Image:Part_BooleanFragments.svg|24px|link=Part_BooleanFragments]] nella barra degli strumenti
# Selezionare gli oggetti da intersecare. <br /> L'ordine di selezione non è importante, poiché l'azione dello strumento è simmetrica. È sufficiente selezionare un sotto-forma di ogni oggetto (ad esempio una faccia). Inoltre, è possibile selezionare un composto contenente diverse forme collegate, ad es. una [[Draft Array/it|Schiera]].
# Avviare il comando Frammenti booleani di Part.
#* Usando la voce {{MenuCommand|Parte → Dividi → Frammenti booleani}} nel menu Parte
</div>


Viene creato un oggetto parametrico Boolean Fragments. Vengono nascosti gli oggetti originali , e nella [[3D_view/it|Vista 3D]] viene mostrato il risultato dell'intersezione.
<div class="mw-translate-fuzzy">
Viene creato un oggetto parametrico Boolean Fragments. Vengono nascosti gli oggetti originali , e nella vista 3D viene mostrato il risultato dell'intersezione.
</div>


==Properties==
<span id="Properties"></span>

<div class="mw-translate-fuzzy">
==Proprietà==
==Proprietà==

{{TitleProperty|Boolean Fragments}}
{{TitleProperty|Boolean Fragments}}
* {{PropertyData|Objects}}: Elenco degli oggetti da intersecare. Generalmente, sono necessari almeno due oggetti, ma va anche bene un unico composto contenente le forme di intersecare. (da FreeCAD v0.17.8053, questa proprietà non viene visualizzata nell'editor delle proprietà, e si può accedere solo tramite Python).
* {{PropertyData|Objects}}: Elenco degli oggetti da intersecare. Generalmente, sono necessari almeno due oggetti, ma va anche bene un unico composto contenente le forme di intersecare. (da FreeCAD v0.17.8053, questa proprietà non viene visualizzata nell'editor delle proprietà, e si può accedere solo tramite Python).
* {{PropertyData|Mode}}: "Standard", "Split", o "CompSolid". "Standard" è il default. Standard e Split differiscono per l'azione dello strumento sull'aggregazione delle forme; se "Split", essi sono separati; se "Standard", essi sono mantenuti insieme (si ottengono dei segmenti in più).
* {{PropertyData|Mode}}: "Standard", "Split", o "CompSolid". "Standard" è il default. Standard e Split differiscono per l'azione dello strumento sull'aggregazione delle forme; se "Split", essi sono separati; se "Standard", essi sono mantenuti insieme (si ottengono dei segmenti in più).
* {{PropertyData|Tolerance}}: valore di "confusione". Questa è una tolleranza supplementare da applicare durante la ricerca delle intersezioni, oltre alle tolleranze memorizzate nelle forme in ingresso.
* {{PropertyData|Tolerance}}: valore di "confusione". Questa è una tolleranza supplementare da applicare durante la ricerca delle intersezioni, oltre alle tolleranze memorizzate nelle forme in ingresso.
</div>


<span id="Implementation_details"></span>
==Dettagli dell'implementazione==
==Dettagli di implementazione==
Lo strumento Boolean Fragments in "Modalità Standard" è un General Fuse Operator (GFA) di OpenCascade. Esso accetta una combinazione di tutti tipi di forme probabili, e la logica dell'output è piuttosto complicata. Vedere [https://www.opencascade.com/doc/occt-7.0.0/overview/html/occt_user_guides__boolean_operations.html OpenCascade user guide: Boolean operations].

Lo strumento Frammenti booleani in "Modalità Standard" è un General Fuse Operator (GFA) di OpenCascade. Esso accetta una combinazione di tutti tipi di forme probabili, e la logica dell'output è piuttosto complicata. Vedere [https://www.opencascade.com/doc/occt-7.0.0/overview/html/occt_user_guides__boolean_operations.html OpenCascade user guide: Boolean operations].


Per le modalità "Split" e "CompSolid", la post-elaborazione in più è fatta da FreeCAD.
Per le modalità "Split" e "CompSolid", la post-elaborazione in più è fatta da FreeCAD.


<span id="Scripting"></span>
==Script==
==Script==


Lo strumento può essere utilizzato nelle [[macros/it|macro]] e dalla console python utilizzando la seguente funzione:
Lo strumento può essere utilizzato nelle [[Macros/it|macro]] e dalla console [[Python/it|python]] utilizzando la seguente funzione:
'''BOPTools.SplitFeatures.makeBooleanFragments(name)'''
'''BOPTools.SplitFeatures.makeBooleanFragments(name)'''


Line 63: Line 73:


BooleanFragments può essere applicato anche a forme piane, senza la necessità di avere un document object, attraverso:
BooleanFragments può essere applicato anche a forme piane, senza la necessità di avere un document object, attraverso:

{{code|code=
{{code|code=
import BOPTools.SplitAPI
import BOPTools.SplitAPI
Line 74: Line 85:
}}
}}
Questo può essere utile per creare delle funzioni personalizzate con script Python.
Questo può essere utile per creare delle funzioni personalizzate con script Python.



Esempio:
Esempio:
Line 85: Line 95:
Lo strumento stesso è implementato in Python, vedere /Mod/Part/BOPTools/SplitFeatures.py nell'installazione di FreeCAD.
Lo strumento stesso è implementato in Python, vedere /Mod/Part/BOPTools/SplitFeatures.py nell'installazione di FreeCAD.


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


<div class="mw-translate-fuzzy">
==Versioni==
Lo strumento è stato introdotto in FreeCAD v0.17.8053. FreeCAD deve essere compilato con OCC 6.9.0 o superiore; altrimenti lo strumento non è disponibile.
Lo strumento è stato introdotto in FreeCAD v0.17.8053. FreeCAD deve essere compilato con OCC 6.9.0 o superiore; altrimenti lo strumento non è disponibile.
</div>



<div class="mw-translate-fuzzy">
{{Docnav/it
{{Docnav/it|[[Part_CompSplittingTools/it|Strumenti di suddivisione]]|[[Part_SliceApart/it|Affetta in parti]]|[[Part_Module/it|Part]]|IconL=Part_CompSplittingTools.png|IconC=Workbench_Part.svg|IconR=Part_SliceApart.svg}}
|[[Part_CompSplittingTools/it|Strumenti di suddivisione]]
</div>
|[[Part_SliceApart/it|Affetta in parti]]
|[[Part_Workbench/it|Part]]
|IconL=Part_CompSplittingTools.png
|IconR=Part_SliceApart.svg
|IconC=Workbench_Part.svg
}}


{{Part Tools navi{{#translation:}}}}
{{Part Tools navi{{#translation:}}}}

Latest revision as of 14:20, 18 February 2024

Part Frammenti booleani

Posizione nel menu
Parte → Dividi → Frammenti booleani
Ambiente
Part
Avvio veloce
Nessuno
Introdotto nella versione
0.17
Vedere anche
Affetta in composto, Part XOR, Giunzione, Operazione booleana

Descrizione

Strumento per calcolare tutti i frammenti che possono derivare dall'applicazione delle operazioni booleane tra le forme in ingresso. Ad esempio, per due sfere intersecanti, vengono generati tre solidi non sovrapposti, ma a contatto.

Nella figura qui sopra, i pezzi sono stati separati manualmente dopo l'operazione, per rendere visibili le singole parti.

La forma in uscita è sempre un composto. Il contenuto del composto dipende dai tipi di forme di ingresso e dalla modalità in cui l'operazione viene eseguita. Ciò significa che non si ottiene immediatamente l'accesso ai singoli pezzi del risultato, ma i pezzi rimangono raggruppati insieme. I singoli pezzi possono essere estratti dividendo il composto con Draft Declassa.

Lo strumento dispone di tre modalità: "Standard", "Split", e "CompSolid".

Le modalità "Standard" e "Split" differiscono per l'azione dello strumento su polilinee, gusci e compsolids. Se si usa "Split", essi sono separati; se si usa "Standard", essi sono mantenuti insieme (si ottengono dei segmenti in più).

La struttura del composto nelle modalità "Split" e "Standard" segue la struttura dei composti in ingresso. Cioè, se si forniscono due composti, ciascuno contenente una sfera come su nell'esempio precedente, anche il risultato contiene due composti, ciascuno contenente i pezzi della sfera originariamente contenuta. Ciò significa che nel risultato il pezzo comune è ripetuto due volte. Solo se le sfere in ingresso sono entrambi dei non composti, il risultato contiene il pezzo comune una volta sola.

In modalità "CompSolid", i solidi vengono uniti in un compsolid (il compsolid è formato da un gruppo di solidi collegati dalle facce, esse si rapportano ai solidi come le polilinee (wire) si rapportano ai bordi (edge), e i gusci (shell) si rapportano alle facce, il nome è probabilmente l'abbreviazione di "solido composito"). L'output è un composto non-annidato di compsolids.

Utilizzo

  1. Selezionare gli oggetti da intersecare.
    L'ordine di selezione non è importante, poiché l'azione dello strumento è simmetrica. È sufficiente selezionare un sotto-forma di ogni oggetto (ad esempio una faccia). Inoltre, è possibile selezionare un composto contenente diverse forme collegate, ad es. una Serie ortogonale.
  2. Richiamare il comando Part Frammenti booleani in diversi modi:
    • Premendo il pulsante nella barra degli strumenti
    • Usando la voce Parte → Dividi → Frammenti booleani nel menu Parte

Viene creato un oggetto parametrico Boolean Fragments. Vengono nascosti gli oggetti originali , e nella Vista 3D viene mostrato il risultato dell'intersezione.

Proprietà

Boolean Fragments

  • DatiObjects: Elenco degli oggetti da intersecare. Generalmente, sono necessari almeno due oggetti, ma va anche bene un unico composto contenente le forme di intersecare. (da FreeCAD v0.17.8053, questa proprietà non viene visualizzata nell'editor delle proprietà, e si può accedere solo tramite Python).
  • DatiMode: "Standard", "Split", o "CompSolid". "Standard" è il default. Standard e Split differiscono per l'azione dello strumento sull'aggregazione delle forme; se "Split", essi sono separati; se "Standard", essi sono mantenuti insieme (si ottengono dei segmenti in più).
  • DatiTolerance: valore di "confusione". Questa è una tolleranza supplementare da applicare durante la ricerca delle intersezioni, oltre alle tolleranze memorizzate nelle forme in ingresso.

Dettagli di implementazione

Lo strumento Frammenti booleani in "Modalità Standard" è un General Fuse Operator (GFA) di OpenCascade. Esso accetta una combinazione di tutti tipi di forme probabili, e la logica dell'output è piuttosto complicata. Vedere OpenCascade user guide: Boolean operations.

Per le modalità "Split" e "CompSolid", la post-elaborazione in più è fatta da FreeCAD.

Script

Lo strumento può essere utilizzato nelle macro e dalla console python utilizzando la seguente funzione:

BOPTools.SplitFeatures.makeBooleanFragments(name)
  • Crea una funzione BooleanFragments vuota. Le proprietà 'Objects' devono essere assegnate in modo esplicito, in seguito.
  • Restituisce l'oggetto appena creato.

BooleanFragments può essere applicato anche a forme piane, senza la necessità di avere un document object, attraverso:

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

Questo può essere utile per creare delle funzioni personalizzate con script Python.

Esempio:

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

Lo strumento stesso è implementato in Python, vedere /Mod/Part/BOPTools/SplitFeatures.py nell'installazione di FreeCAD.

Note

Lo strumento è stato introdotto in FreeCAD v0.17.8053. FreeCAD deve essere compilato con OCC 6.9.0 o superiore; altrimenti lo strumento non è disponibile.