Draft Downgrade

From FreeCAD Documentation
Revision as of 17:07, 13 November 2018 by Vocx (talk | contribs) (Code more complete)

Draft Downgrade

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

Description

The Downgrade tool downgrades the selected objects in different ways. If no object is selected, you will be invited to select one.

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.

How to use

  1. Select one or more objects that you want to downgrade.
  2. Press the Draft Downgrade button or press D then N keys.

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 a few fusions
Circle = Draft.makeCircle(1000)
Rectangle = Draft.makeRectangle(2000, 800)

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

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

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