Part Slice/it: Difference between revisions

From FreeCAD Documentation
(Created page with "==Proprietà== {{TitleProperty|Slice}} * {{PropertyData|Base}}: L'oggetto da dividere. * {{PropertyData|Tools}}: Elenco di oggetti con cui dividere. (da FreeCAD v0.17.8053, q...")
(Created page with "==Esempio: creare un puzzle== # Passare nell'ambiente Schizzo, creare un nuovo schizzo. Disegnare un rettangolo che delimita la forma complessiva del...")
Line 34: Line 34:
* {{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.


==Example: making puzzle==
==Esempio: creare un puzzle==
# Switch to [[Sketcher Workbench]], create an new sketch. Draw a rectangle that will outline the overall shape of the puzzle. Close the sketch.<br />[[image:slice_example_step1.png|320px]]
# Passare nell'ambiente [[Sketcher Workbench/it|Schizzo]], creare un nuovo schizzo. Disegnare un rettangolo che delimita la forma complessiva del puzzle. Chiudere lo schizzo.<br />[[image:slice_example_step1.png|320px]]
# Switch to [[Part Module|Part workbench]]. Select the sketch, and pick Part->Create face from sketch (in menu).<br />[[image:slice_example_step2.png|320px]]
# Passare nell'ambiente [[Part Module/it|Part]]. Selezionare lo schizzo, e scegliere Part -> Crea faccia da schizzo (nel menu).<br />[[image:slice_example_step2.png|320px]]
# Switch to Sketcher workbench, and create another sketch on the same plane. Using polyline tool, draw the lines that will split the puzzle into pieces.<br />[[image:slice_example_step3.png|320px]]
# Passare nell'ambiente Schizzo, e creare un altro schizzo sullo stesso piano. Utilizzando lo strumento polilinea disegnare le linee che divideranno il puzzle in pezzi.<br />[[image:slice_example_step3.png|320px]]
# Switch to Part workbench. Select the splitter sketch, and apply [[Part BooleanFragments|Part Boolean Fragments]]. This will insert vertices where lines of splitter sketch intersect. Having them is essential for the next step to work.<br />[[image:slice_example_step4.png|320px]]
# Passare nell'ambiente Part. Selezionare lo schizzo divisore, e applicare [[Part BooleanFragments/it|Frammenti Booleani]]. Questo inserisce i vertici nel punto in cui le linee dello schizzo divisore si intersecano. Per poter fare il passo successivo del lavoro è indispensabile avere questi vertici.<br />[[image:slice_example_step4.png|320px]]
# Select the rectangular face, and the BooleanFragments of splitter sketch, and apply Part Split.<br />[[image:slice_example_step5.png|320px]]
# Selezionare la faccia rettangolare, ed i BooleanFragments dello schizzo divisore, e applicare Parte Split.<br />[[image:slice_example_step5.png|320px]]
# Switch to Draft workbench, and apply Draft Downgrade to the result. You should get all the pieces as "Face00X" in document tree, that can be moved independently. Done!<br />[[image:slice_example_step6.png|320px]]
# Passare nell'ambiente Draft, e applicare Scomponi al risultato. Nella struttura del documento si dovrebbe ottenere tutti i pezzi come "Face00X", che possono essere spostati in modo indipendente. Fatto!<br />[[image:slice_example_step6.png|320px]]


==Scripting==
==Scripting==

Revision as of 17:25, 6 November 2016

Part Slice

Posizione nel menu
Part → Split → Slice
Ambiente
Part
Avvio veloce
Nessuno
Introdotto nella versione
-
Vedere anche
Frammenti Booleani, Part XOR, Join, Booleane

Descrizione

Strumento per dividere le forme intersecandole con altre forme. Ad esempio, con un cubo e un piano, viene creato un composto di due solidi.

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

La forma in uscita occupa lo stesso spazio dell'originale, ma è divisa dove interseca le altre forme. I singoli pezzi sono raggruppati in un composto (o in un compsolid), quindi sembra che l'oggetto sia ancora un unico pezzo. Per disporre dei singoli pezzi è necessario separare gli elementi del composto. 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 della forma da suddividere.

In modalità "CompSolid", il risultato è un compsolid (o un composto di compsolid, se i solidi risultanti formano più di un'isola di connessione). Un 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'azione complessiva dello strumento è molto simile a quella di Frammenti Booleani, tranne che il risultato contiene solo i pezzi dalla prima forma.

Uso

  1. Selezionare prima l'oggetto da dividere, e poi alcuni oggetti con cui dividerlo.
    L'ordine di selezione è importante. I composti con auto-intersezioni non sono ammessi (le auto-intersezioni a volte possono essere individuate facendo passare il composto attraverso lo strumento Frammenti Booleani)
  2. Avviare il comando Parte Slice.

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

Proprietà

Slice

  • DatiBase: L'oggetto da dividere.
  • DatiTools: Elenco di oggetti con cui dividere. (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". "Split" è il default. Standard e Split differiscono per l'azione dello strumento sul'aggregazione delle forme; se "Split", essi sono separati; altrimenti 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.

Esempio: creare un puzzle

  1. Passare nell'ambiente Schizzo, creare un nuovo schizzo. Disegnare un rettangolo che delimita la forma complessiva del puzzle. Chiudere lo schizzo.
  2. Passare nell'ambiente Part. Selezionare lo schizzo, e scegliere Part -> Crea faccia da schizzo (nel menu).
  3. Passare nell'ambiente Schizzo, e creare un altro schizzo sullo stesso piano. Utilizzando lo strumento polilinea disegnare le linee che divideranno il puzzle in pezzi.
  4. Passare nell'ambiente Part. Selezionare lo schizzo divisore, e applicare Frammenti Booleani. Questo inserisce i vertici nel punto in cui le linee dello schizzo divisore si intersecano. Per poter fare il passo successivo del lavoro è indispensabile avere questi vertici.
  5. Selezionare la faccia rettangolare, ed i BooleanFragments dello schizzo divisore, e applicare Parte Split.
  6. Passare nell'ambiente Draft, e applicare Scomponi al risultato. Nella struttura del documento si dovrebbe ottenere tutti i pezzi come "Face00X", che possono essere spostati in modo indipendente. Fatto!

Scripting

The tool can by used in macros and from the python console by using the following function:

BOPTools.SplitFeatures.makeSlice(name)
  • Creates an empty Slice feature. The 'Base' and 'Tools' properties must be assigned explicitly, afterwards.
  • Returns the newly created object.

Slice can also be applied to plain shapes, without the need to have a document object, via:

Part.BOPTools.SplitAPI.slice(base_shape, tool_shapes, mode, tolerance = 0.0)

This can be useful for making custom Python scripted features.


Example:

import Part
j = Part.BOPTools.SplitFeatures.makeSlice(name= 'Slice')
j.Base = FreeCADGui.Selection.getSelection()[0]
j.Tools = FreeCADGui.Selection.getSelection()[1:]

The tool itself is implemented in Python, see /Mod/Part/BOPTools/SplitFeatures.py under where FreeCAD is installed.

Version

The tool was introduced in FreeCAD v0.17.8053. FreeCAD needs to be compiled with OCC 6.9.0 or later; otherwise, the tool is unavailable.