Draft: Declassa

From FreeCAD Documentation
Revision as of 19:34, 4 September 2021 by Heda (talk | contribs)

Declassa

Posizione nel menu
Draft → Declassa
Ambiente
Draft, Architettura
Avvio veloce
D N
Introdotto nella versione
-
Vedere anche
Promuovi, Taglio di Part

Descrizione

Lo strumento Declassa scompone gli oggetti selezionati (converte un oggetto in diversi oggetti di livello inferiore). Lo strumento esegue il declassamento degli oggetti selezionati in modi diversi.

Faccia tagliata con un'altra faccia; quindi faccia declassata in un contorno chiuso; e poi contorno scomposto in singole linee

Utilizzo

  1. Selezionare uno o più oggetti che si desidera declassare.
  2. Premere il pulsante Declassa o premere i tasti D e N. Se nessun oggetto è selezionato, si viene invitati a selezionarne uno.

Scripting

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

downgrade_list = downgrade(objects, delete=False, force=None)
  • Declassa gli objects dati, che può essere un singolo oggetto o un elenco di oggetti.
  • Se delete è True, i vecchi oggetti vengono cancellati.
  • Se è dato force, è la funzione interna chiamata per forzare un certo modo di declassamento. Può essere: "explode", "shapify", "subtr", "splitFaces", "cut2", "getWire", o "splitWires".
  • Viene restituita una upgrade_list, che è una lista contenente due liste: la lista di nuovi oggetti (addList) e la lista degli oggetti da eliminare (deleteList).

Esempio:

import FreeCAD as App
import Draft

doc = App.newDocument()

circle = Draft.make_circle(1000)
rectangle = Draft.make_rectangle(2000, 800)
doc.recompute()

add_list1, delete_list1 = Draft.upgrade([circle, rectangle], delete=True)

compound = add_list1[0]
add_list2, delete_list2 = Draft.downgrade(compound, delete=False)
face = add_list2[0]
add_list3, delete_list3 = Draft.downgrade(face, delete=False)

box = doc.addObject("Part::Box", "Box")
box.Length = 2300
box.Width = 800
box.Height = 1000

add_list4, delete_list4 = Draft.downgrade(box, delete=True)

doc.recompute()