|
Posizione nel menu |
---|
Part → Split → Boolean Fragments |
Ambiente |
Part |
Avvio veloce |
Nessuno |
Vedere anche |
Part Slice, Part XOR, Join, Booleana |
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 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 Scomponi.
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ù).
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
Viene creato un oggetto parametrico Boolean Fragments. Vengono nascosti gli oggetti originali , e nella vista 3D viene mostrato il risultato dell'intersezione.
Boolean Fragments
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 OpenCascade user guide: Boolean operations.
Per le modalità "Split" e "CompSolid", la post-elaborazione in più è fatta da FreeCAD.
Lo strumento può essere utilizzato nelle macro e dalla console python utilizzando la seguente funzione:
BOPTools.SplitFeatures.makeBooleanFragments(name)
BooleanFragments può essere applicato anche a forme piane, senza la necessità di avere un document object, attraverso:
Part.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 Part j = Part.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.
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.