Draft: Upgrade/Апгрейд

From FreeCAD Documentation
This page is a translated version of the page Draft Upgrade and the translation is 25% complete.
Outdated translations are marked like this.

Draft Upgrade

Расположение в меню
Черчение → Обновить
Draft, Arch
Быстрые клавиши
Представлено в версии
См. также
Draft Downgrade, Part Fuse


Этот инструмент изменяет выбранные объекты по-разному. Если ни один объект не выбран, вам будет предложено выбрать его.

An open non-editable wire is upgraded to a closed wire, and then to a face. A closed non-editable square wire is also upgraded to a face. The two faces are then upgraded to create a compound, which is finally upgraded to a single editable Draft Wire.


  1. Выберите один или несколько объектов, которые вы хотите обновить.
  2. Нажмите кнопку Draft Upgrade или нажмите U, затем P




Инструмент Апгрейд можно использовать из скриптов python и макросов следующим образом:

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.


import FreeCAD as App
import Draft

doc = App.newDocument()

circle = Draft.make_circle(1000)
rectangle = Draft.make_rectangle(2000, 800)

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

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)