Part: Ritaglio per l'oggetto

From FreeCAD Documentation
This page is a translated version of the page Part JoinCutout and the translation is 100% complete.

Part Ritaglia per l'oggetto

Posizione nel menu
Part → Giunzione → Ritaglia per oggetto
Ambiente
Part
Avvio veloce
Nessuno
Introdotto nella versione
0.16
Vedere anche
Congiungi oggetto, Incorpora oggetto, Operazioni booleane, Spessore

Descrizione

Lo strumento Ritaglio per l'oggetto crea un ritaglio in un oggetto con pareti (es. un tubo) per adattarlo a un altro oggetto con pareti.

Utilizzo

  1. Selezionare prima l'oggetto base, quindi l'oggetto per definire il ritaglio.
    L'ordine di selezione è importante. È sufficiente selezionare una sottoforma di ciascun oggetto (ad esempio, facce).
  2. Richiamare il comando Part Ritaglia per oggetto in diversi modi:
    • Premendo sul pulsante Ritaglia per oggetto nella barra degli strumenti Part
    • Utilizzando la voce Parte → Giunzione → Ritaglio per oggetto nel menu Parte

Viene creato un oggetto Part Giunzione, con la modalità impostata su "Cutout". Gli oggetti originali vengono nascosti e il risultato del taglio viene mostrato nella Vista 3D.

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 'Ritaglio per l'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.