|
Emplacement du menu |
---|
Draft/BIM : Modification → Désagréger |
Ateliers |
Draft, BIM |
Raccourci par défaut |
D N |
Introduit dans la version |
- |
Voir aussi |
Draft Agréger, Part Soustraction |
La commande Draft Désagréger 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 Agréger.
Deux faces se chevauchant sont désagrégées en un objet Part Soustraction, qui est désagrégé en une face. Cette face est ensuite déclassée en une polyligne fermée, qui est finalement désagrégée en arêtes séparées.
Voir aussi : Autogenerated API documentation et FreeCAD Débuter avec les scripts.
Pour désagréger des objets, utilisez la méthode downgrade
du module Draft.
downgrade_list = downgrade(objects, delete=False, force=None)
objects
contient les objets à désagréger. Il s'agit soit d'un objet unique, soit d'une liste d'objets.delete
est True
, les objets sources sont supprimés.force
force une certaine manière de désagréger en appelant une fonction interne spécifique. Cela peut être : "explode"
, "shapify"
, "subtr"
, "splitFaces"
, "cut2"
, "getWire"
, "splitWires"
ou "splitCompounds"
.downgrade_list
est retourné. C'est une liste contenant deux listes : une liste de nouveaux objets et une liste d'objets à supprimer. Si delete
est True
, la seconde liste est vide.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()