Part BooleanFragments/it: Difference between revisions
Renatorivo (talk | contribs) No edit summary |
No edit summary |
||
(36 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 |
|||
{{GuiCommand/it|Name=Part BooleanFragments|Name/it=Frammenti booleani|MenuLocation=Part → Dividi → Frammenti booleani|Workbenches=[[Part Module/it|Part]]|SeeAlso=[[Part_Slice/it|Affetta]], [[Part_XOR/it|Part XOR]], [[Part_CompJoinFeatures/it|Giunzione]], [[Part Booleans/it|Booleana]]|Version=0.17.8053}} |
|||
|[[Part_CompSplittingTools/it|Strumenti di suddivisione]] |
|||
|[[Part_SliceApart/it|Affetta in parti]] |
|||
|[[Part_Workbench/it|Part]] |
|||
|IconL=Part_CompSplittingTools.png |
|||
|IconR=Part_SliceApart.svg |
|||
|IconC=Workbench_Part.svg |
|||
}} |
|||
{{GuiCommand/it |
|||
|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> |
|||
==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. |
||
[[image:Part_BooleanFragments_Demo.png|600px]] |
[[image:Part_BooleanFragments_Demo.png|600px]] |
||
{{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 [[ |
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 |
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 |
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. |
||
<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 [[ |
||
⚫ | |||
⚫ | # 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]]. |
||
⚫ | |||
⚫ | |||
#* Premendo il pulsante [[Image:Part_BooleanFragments.svg|24px|link=Part_BooleanFragments]] nella barra degli strumenti |
|||
#* Usando la voce {{MenuCommand|Parte → Dividi → Frammenti booleani}} nel menu Parte |
|||
⚫ | |||
<span id="Properties"></span> |
|||
==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). |
||
Line 33: | Line 56: | ||
* {{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. |
||
<span id="Implementation_details"></span> |
|||
==Dettagli |
==Dettagli di implementazione== |
||
⚫ | Lo strumento |
||
⚫ | 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 [[ |
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 47: | 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 58: | 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 69: | 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. |
||
<span id="Notes"></span> |
|||
==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. |
||
{{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]] |
|||
|[[Part_SliceApart/it|Affetta in parti]] |
|||
⚫ | |||
|[[Part_Workbench/it|Part]] |
|||
|IconL=Part_CompSplittingTools.png |
|||
|IconR=Part_SliceApart.svg |
|||
|IconC=Workbench_Part.svg |
|||
}} |
|||
⚫ | |||
{{Userdocnavi |
{{Userdocnavi{{#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
- 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. - Richiamare il comando Part Frammenti booleani in diversi modi:
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.
- Primitives: Box, Cylinder, Sphere, Cone, Torus, Tube, Create primitives, Shape builder
- Creation and modification: Extrude, Revolve, Mirror, Fillet, Chamfer, Make face from wires, Ruled Surface, Loft, Sweep, Section, Cross sections, 3D Offset, 2D Offset, Thickness, Projection on surface, Attachment
- Boolean: Make compound, Explode Compound, Compound Filter, Boolean, Cut, Fuse, Common, Connect, Embed, Cutout, Boolean fragments, Slice apart, Slice, XOR
- Measure: Measure Linear, Measure Angular, Measure Refresh, Clear All, Toggle All, Toggle 3D, Toggle Delta
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub