|Modification → Downgrade|
|Introduced in version|
|Draft Upgrade, Part Cut|
The Draft Downgrade command downgrades selected objects. The result depends on the number of selected objects and their type. The command can for example deconstruct a 3D solid into separate faces and a wire into separate edges. If two face are selected a Part Cut object is created from them. Note that not all objects can be downgraded. This command is the counterpart of the Draft Upgrade command.
Two overlapping faces are downgraded to a Part Cut object, which is downgraded to a face. That face is then downgraded to a closed wire, which is finally downgraded to separate edges.
- Optionally select one or more objects.
- There are several ways to invoke the command:
- If you have not yet selected an object: select an object in the 3D view.
To downgrade objects use the
downgrade method of the Draft module.
downgrade_list = downgrade(objects, delete=False, force=None)
objectscontains the objects to be downgraded. It is either a single object or a list of objects.
Truethe source objects are deleted.
forceforces a certain way of downgrading by calling a specific internal function. It can be:
downgrade_listis returned. It is a list containing two lists: a list of new objects and a list of objects to be deleted. If
Truethe second list is empty.
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 add_list2, delete_list2 = Draft.downgrade(compound, delete=False) face = add_list2 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()