Draft Downgrade

From FreeCAD Documentation
Revision as of 16:50, 24 January 2021 by Hmk (talk | contribs)

Draft Downgrade

Menu location
Draft → Downgrade
Workbenches
Draft, Arch
Default shortcut
D N
Introduced in version
-
See also
Draft Upgrade, Part Cut

Description

The Draft Downgrade tool downgrades the selected objects in different ways.

The Downgrade tool performs things such as breaking faces, and deconstructing wires into their individual edges. It can cut a shape with another shape in similar way to Part Cut.

The counterpart to this tool is the Draft Upgrade operation.

Face cut from another face; then face downgraded into a closed wire; then downgraded into individual lines

Usage

  1. Select one or more objects that you want to downgrade.
  2. Invoke the Draft Downgrade tool several ways:
    • Press the Draft Downgrade button in the Draft toolbar
    • Press the D then N keyboard shortcut
    • Use the Draft → Downgrade entry in the Draft menu
Note: If no object is selected, you will be invited to select one.

The selected objects are modified or downgraded, according to the following conditions, in order:

  1. If only one object is selected and it contains more than one face, each face becomes a separate object.
  2. If there are more than one face in the selection, the subsequent objects are subtracted from the first one.
  3. If there is only one face in the selection, it gets converted into a wire.
  4. Otherwise all wires found in the selection are exploded into single edges.

Options

There are no options for this tool. Either it works with the selected objects or not.

Example

Scripting

See also: Draft API and FreeCAD Scripting Basics.

The Downgrade tool can be used in macros and from the Python console by using the following function:

downgrade_list = downgrade(objects, delete=False, force=None)
addList, deleteList = downgrade(objects, delete=False, force=None)
  • Downgrades the given objects, which can be a single object or a list of objects.
  • If delete is True, old objects are deleted.
  • If force is given, it is the internal function to call to force a certain way of downgrading. It can be: "explode", "shapify", "subtr", "splitFaces", "cut2", "getWire", or "splitWires".
  • upgrade_list is returned, which is a list containing two lists: a list of new objects (addList) and a list of objects to be deleted (deleteList).

Example:

import FreeCAD, Draft

# Create an union
Circle = Draft.makeCircle(1000)
Rectangle = Draft.makeRectangle(2000, 800)

addList1, deleteList1 = Draft.upgrade([Circle, Rectangle], delete=True)
union = addList1[0]

# Downgrade the union twice
addList2, deleteList2 = Draft.downgrade(union, delete=False)
wire = addList2[0]

list_edges, deleteList3 = Draft.downgrade(wire, delete=False)

# Insert a solid box
Box = FreeCAD.ActiveDocument.addObject("Part::Box", "Box")
Box.Length = 2300
Box.Width = 800
Box.Height = 1000

list_faces, deleteList4 = Draft.downgrade(Box, delete=True)