Draft Upgrade

From FreeCAD Documentation
Revision as of 04:56, 13 November 2018 by Vocx (talk | contribs) (Fuse solids with tools from the Part and PartDesign Workbenches)

Draft Upgrade

Menu location
Draft → Upgrade
Workbenches
Draft, Arch
Default shortcut
U P
Introduced in version
-
See also
Draft Downgrade

Description

The Upgrade tool upgrades selected objects in different ways, depending on the specific objects. It performs things such as creating faces and fusing different elements. If no object is selected, you will be invited to select one.

The Upgrade tool works with 2D Draft elements. To fuse 3D solids use Part Fuse and related Boolean operations of the Part Workbench, and PartDesign Boolean of the PartDesign Workbench.

How to use

  1. Select one or more objects you wish to upgrade.
  2. Press the Draft Upgrade button or press U then P keys.

Options

The selected objects are modified/upgraded according to the following conditions (in order):

  • if there are more than one face in the selection, the faces are merged (union)
  • if there is only one face in the selection, nothing is done
  • if there is only one open wire in the selection, it gets closed
  • if there are only edges in the selection, all edges are joined into a wire (closed if possible)
  • if none of the above is possible, a compound object is created

Scripting

The upgrade tool can be used from python scripts and macros like this:

Draft.upgrade(objects, delete=False, force=None)
  • Upgrades the given object(s) (can be an object or a list of objects).
  • If delete is True, old objects are deleted.
  • The force attribute can be used to force a certain way of upgrading. It can be: makeCompound, closeGroupWires, makeSolid, closeWire, turnToParts, makeFusion, makeShell, makeFaces, draftify, joinFaces, makeSketchFace, makeWires
  • Returns a dictionnary containing two lists, a list of new objects and a list of objects to be deleted

Some of the operations of the Upgrade tool can also be made with the Part Union or Draft Wire tools.

Example:

import Draft
mycircle = Draft.makeCircle(2)
face1 = Draft.upgrade([mycircle],True)