Part: Ritaglio per l'oggetto

From FreeCAD Documentation
Revision as of 18:54, 31 May 2020 by Renatorivo (talk | contribs)

Asportazione

Posizione nel menu
Part → Congiungi → Asporta oggetto
Ambiente
Part
Avvio veloce
Nessuno
Introdotto nella versione
0.16.5069
Vedere anche
Congiunzione, Incastro, Operazioni booleane, Spessore

Descrizione

Lo strumento Asporta crea un ritaglio in un oggetto vuoto internamente per adattarlo a un altro oggetto dello stesso tipo, ad esempio, in una tubazione per creare una nuova derivazione.



Utilizzo

  1. Selezionare prima l'oggetto di base, e poi l'oggetto con cui si vuole definire il ritaglio.
    L'ordine di selezione è importante. È sufficiente selezionare una qualsiasi sotto-forma di ciascun oggetto (ad esempio, delle facce).
  2. Invocare il comando Asporta oggetto.

Viene creato un oggetto Parte JoinFeature, con la modalità, Mode, impostata su 'Cutout'. Nella vista 3D viene mostrato il risultato dell'asportazione, e gli oggetti originali sono nascosti.

Proprietà

Base

  • DatiBase: Riferisce l'oggetto di base (quello da cui si vuole asportare una porzione). L'oggetto deve essere un solido unico.
  • DatiTool: Riferisce l'oggetto da usare come utensile (l'oggetto che crea il ritaglio). L'oggetto può essere un solido unico, oppure un composto valido di solidi.
  • DatiMode: Stabilisce la modalità dell'operazione di Giunzione, che in questo caso è uguale a 'Cutout' (cambiando modalità si trasforma lo strumento in uno strumento Giunzione diverso). Il valore 'bypass' può essere usato per disabilitare temporaneamente i lunghi calcoli (in questo caso, viene creato un oggetto Composto formato dagli oggetti Base e Tool , che è un'operazione veloce).
  • DatiRefine: Stabilisce se alla forma finale deve essere applicata l'operazione Affina, oppure no. Il valore di default è stabilito dalla casella di controllo 'Affina automaticamente la forma dopo l'operazione booleana' nelle preferenze di PartDesign. Quando la proprietà Mode è impostata su 'bypass', Affina viene ignorato (Refine non è mai applicato).

Esempio

  1. Creare un tubo applicando uno Spessore a un cilindro:
  2. Creare un nuovo tubo di diametro inferiore e posizionarlo in modo da perforare la parete del primo tubo:
  3. Selezionare il primo tubo, poi il secondo tubo (l'ordine di selezione è importante), infine selezionare l'opzione 'Asporta oggetto' dalla barra degli strumenti a discesa degli strumenti Giunzione.

Algoritmo

Gli algoritmi sottostanti agli strumenti di Giunzione sono abbastanza semplici, ed è importante comprenderli per utilizzarli correttamente.

1. L'oggetto Base viene tagliato dall'oggetto Tool con una operazione booleana. La forma risultante è un composto, cioè un insieme di solidi non intersecanti (tipicamente, due).

2. Il composto risultante viene filtrato e viene conservato solo il solido più grande.

3. Se la proprietà Refine è impostata su true, la forma risultante viene affinata.

Note

  • Se dopo il passaggio 1, l'oggetto rimane ancora in un pezzo unico, il risultato dell'asportazione è equivalente a un taglio booleano di Base con Tool.
  • Attualmente, quando viene fornito un composto come Base lo strumento produce un risultato inaspettato. Questo potrà essere modificato in futuro.
  • Poiché il pezzo più grande è determinato confrontando i volumi, lo strumento può funzionare solo con i solidi. Questo potrà essere modificato in futuro.

Script

Lo strumento Giunzione può essere utilizzato nelle macro e dalla console di Python tramite la seguente funzione:

JoinFeatures.makePartJoinFeature(name = 'Cutout', mode = 'Cutout')
  • Crea una funzione Cutout vuota (o altra funzione Join, secondo la modalità passata). Le proprietà Base e Tool devono essere assegnate in modo esplicito, in seguito.
  • Restituisce l'oggetto appena creato.

Esempio:

import JoinFeatures
j = JoinFeatures.makePartJoinFeature(name = 'Cutout', mode = 'Cutout' )
j.Base = FreeCADGui.Selection.getSelection()[0]
j.Tool = FreeCADGui.Selection.getSelection()[1]

Lo strumento è implementato in Python, vedere /Mod/Part/JoinFeatures.py (Github link) in cui è installato FreeCAD.