Draft Désagréger

From FreeCAD Documentation
Revision as of 09:44, 19 June 2021 by David69 (talk | contribs)

Draft Rétrograder

Emplacement du menu
Modification → Rétrograder
Ateliers
Draft, Arch
Raccourci par défaut
D N
Introduit dans la version
-
Voir aussi
Draft Mettre à niveau, Draft Soustraction

Description

La commande Draft Rétrograder déclasse les objets sélectionnés. Le résultat dépend du nombre d'objets sélectionnés et de leur type. La commande peut par exemple déconstruire un solide 3D en faces séparées et un fil en arêtes séparées. Si deux faces sont sélectionnées, un objet Part Soustraction est créé à partir de celles-ci. Notez que tous les objets ne peuvent pas être déclassés. Cette commande est le pendant de la commande Draft Mettre à niveau.

Figure soustraite d'une autre figure puis rétrogradé en un fil fermé puis rétrogradé en segments

Utilisation

  1. Sélectionnez un ou plusieurs objets que vous souhaitez rétrograder.
  2. Il existe plusieurs façons de lancer la commande :
    • Appuyez sur le bouton Rétrograde les objets... de la barre d'outils Draft
    • Appuyez sur le raccourci clavier D puis N
    • Utilisez l'entrée Modification → Rétrograder dans le menu Draft
Remarque : Si aucun objet n'est sélectionné, vous serez invité à en sélectionner un.

Script

L'outil Rétrograder peut être utilisé dans une macro et dans la console Python en utilisant la fonction suivante :

downgrade_list = downgrade(objects, delete=False, force=None)
  • Rétrograde les objects sélectionnés : soit un objet unique ou une liste d'objets.
  • Si delete est True, les anciens objets sont supprimés.
  • Si force est donné, c'est la fonction interne qui force selon une certaine manière de déclasser. Cela peut être: "explode", "shapify", "subtr", "splitFaces", "cut2", "getWire" ou "splitWires".
  • upgrade_list est renvoyé laquelle liste contient deux listes : une liste de nouveaux objets (addList) et une liste d'objets à supprimer (deleteList).

Exemple :

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()