Draft Upgrade

From FreeCAD Documentation
Revision as of 11:47, 10 June 2021 by Roy 043 (talk | contribs) (Removed 'according to the following conditions, in order'. This is no longer correct. Also the decision 'tree' of the command is too complex.)
This documentation is a work in progress. Please don't mark it as translatable since it will change in the next hours and days.

Draft Upgrade

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

Description

The Draft Upgrade tool upgrades the selected objects in different ways.

The Upgrade tool performs things such as creating faces and fusing different elements. This 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.

The counterpart to this tool is the Draft Downgrade operation.

Open wire upgraded to a closed wire, then to a face; a closed square upgraded to a face, and then fused with the previous face

Usage

  1. Select one or more objects that you wish to upgrade.
  2. Press the Draft Upgrade button or press U then P keys. If no object is selected, you will be invited to select one.

It is worth trying to upgrade a selection several times to see if a better shape is obtained. For example:

  1. Upgrading two Draft Lines connected at one end will result in a non-editable wire.
  2. Upgrading this element again will add a third line and close the non-editable wire.
  3. Upgrading this element again will add a face to the closed, non-editable wire.
  4. Upgrading this element again will turn it into a Draft Wire, which can be fully edited, and all its properties modified.

The resulting wire can be better manipulated than the original lines. The fusion of single lines can also be done directly with the Draft Wire tool. Some fusion operations can also be done with the Part Fuse tool.

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

To upgrade objects use the upgrade method of the Draft module.

upgrade_list = upgrade(objects, delete=False, force=None)
  • objects contains the objects to be upgraded. It is either a single object or a list of objects.
  • If delete is True the source objects are deleted.
  • force forces a certain way of upgrading by calling a specific internal function. It can be: "makeCompound", "closeGroupWires", "makeSolid", "closeWire", "turnToParts", "makeFusion", "makeShell", "makeFaces", "draftify", "joinFaces", "makeSketchFace", "makeWires" or "turnToLine".
  • upgrade_list is returned. It is a list containing two lists: a list of new objects and a list of objects to be deleted. If delete is True the second list is empty.

Example:

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=False)

line1 = Draft.make_line(App.Vector(2000, 0, 0), App.Vector(2500, 1500, 0))
line2 = Draft.make_line(App.Vector(2500, 1500, 0), App.Vector(3000, -1000, 0))
doc.recompute()

add_list2, delete_list2 = Draft.upgrade([line1, line2], delete=False)

simple_wire = add_list2[0]
add_list3, delete_list3 = Draft.upgrade(simple_wire, delete=False)

closed_wire = add_list3[0]
add_list4, delete_list4 = Draft.upgrade(closed_wire, delete=False)

face = add_list4[0]
add_list5, delete_list5 = Draft.upgrade(face, delete=False)

doc.recompute()