Draft Upgrade: Difference between revisions

From FreeCAD Documentation
mNo edit summary
(Corrected Part_Fuse links.)
(37 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
<translate>
<translate>
<!--T:20-->
{{Docnav
|[[Draft_Split|Split]]
|[[Draft_Downgrade|Downgrade]]
|[[Draft_Module|Draft]]
|IconL=Draft_Split.svg
|IconR=Draft_Downgrade.svg
|IconC=Workbench_Draft.svg
}}

<!--T:1-->
<!--T:1-->
{{GuiCommand
{{GuiCommand|Name=Draft Upgrade|Workbenches=[[Draft Module|Draft]], [[Arch Module|Arch]]|MenuLocation=Draft → Upgrade|Shortcut=U P|SeeAlso=[[Draft Downgrade|Draft Downgrade]]}}
|Name=Draft Upgrade
|MenuLocation=Draft → Upgrade
|Workbenches=[[Draft_Module|Draft]], [[Arch_Module|Arch]]
|Shortcut={{KEY|U}} {{KEY|P}}
|SeeAlso=[[Draft_Downgrade|Draft Downgrade]], [[Part_Fuse|Part Fuse]]
}}


==Description== <!--T:2-->
==Description== <!--T:2-->


<!--T:3-->
<!--T:3-->
This tool upgrades selected objects in different ways. If no object is selected, you will be invited to select one.
The {{Button|[[Image:Draft Upgrade.svg|16px]] [[Draft_Upgrade|Draft Upgrade]]}} tool upgrades the selected objects in different ways.

<!--T:13-->
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|Part Fuse]] and related Boolean operations of the [[Part Workbench]], and [[PartDesign Boolean]] of the [[PartDesign Workbench]].

<!--T:14-->
The counterpart to this tool is the {{Button|[[Image:Draft Downgrade.svg|16px]] [[Draft Downgrade|Draft Downgrade]]}} operation.


</translate>
</translate>
[[Image:Draft_Upgrade_example.jpg|400px]]
[[Image:Draft_Upgrade_example.jpg|400px]]
<translate>
<translate>
<!--T:15-->
{{Caption|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}}


==How to use== <!--T:4-->
==Usage== <!--T:4-->


<!--T:5-->
<!--T:5-->
# Select one or more objects you wish to upgrade
# Select one or more objects that you wish to upgrade.
# Press the {{KEY|[[Image:Draft Upgrade.png|16px]] [[Draft Upgrade]]}} button or press {{KEY|U}} then {{KEY|P}} keys
# Press the {{Button|[[Image:Draft Upgrade.svg|16px]] [[Draft Upgrade]]}} button or press {{KEY|U}} then {{KEY|P}} keys. If no object is selected, you will be invited to select one.

<!--T:16-->
The selected objects are modified or 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, making a face.
# If there are only edges in the selection, all edges are joined into a wire, and the wire is closed if possible.
# If none of the above is possible, a compound object is created.

<!--T:17-->
It is worth trying to upgrade a selection several times to see if a better shape is obtained. For example:
# Upgrading two [[Draft Line]]s connected at one end will result in a non-editable wire.
# Upgrading this element again will add a third line and close the non-editable wire.
# Upgrading this element again will add a face to the closed, non-editable wire.
# Upgrading this element again will turn it into a [[Draft Wire]], which can be fully edited, and all its properties modified.

<!--T:18-->
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|Part Fuse]] tool.


==Options== <!--T:6-->
==Options== <!--T:6-->


<!--T:7-->
<!--T:7-->
There are no options for this tool. Either it works with the selected objects or not.
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== <!--T:8-->
==Scripting== <!--T:8-->
{{Emphasis|See also:}} [[Draft API]] and [[FreeCAD Scripting Basics]].


<!--T:9-->
<!--T:9-->
The upgrade tool can be used from python scripts and [[macros]] like this:
The Upgrade tool can be used in [[macros]] and from the [[Python]] console by using the following function:


</translate>
</translate>
{{Code|code=
{{Code|code=
Draft.upgrade(objects, delete=False, force=None)
upgrade_list = upgrade(objects, delete=False, force=None)
addList, deleteList = upgrade(objects, delete=False, force=None)
}}
}}
<translate>
<translate>


<!--T:10-->
<!--T:10-->
* Upgrades the given object(s) (can be an object or a list of objects).
* Upgrades the given {{incode|objects}}, which can be a single object or a list of objects.
* If delete is True, old objects are deleted.
* If {{incode|delete}} is {{incode|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
* If {{incode|force}} is given, it is the internal function to call to force a certain way of upgrading. It can be: {{incode|"makeCompound"}}, {{incode|"closeGroupWires"}}, {{incode|"makeSolid"}}, {{incode|"closeWire"}}, {{incode|"turnToParts"}}, {{incode|"makeFusion"}}, {{incode|"makeShell"}}, {{incode|"makeFaces"}}, {{incode|"draftify"}}, {{incode|"joinFaces"}}, {{incode|"makeSketchFace"}}, {{incode|"makeWires"}}, or {{incode|"turnToLine"}}.
* Returns a dictionnary containing two lists, a list of new objects and a list of objects to be deleted
* {{incode|upgrade_list}} is returned, which is a list containing two lists: a list of new objects ({{incode|addList}}) and a list of objects to be deleted ({{incode|deleteList}}).

<!--T:11-->
Some of the operations of the Upgrade tool can also be made with the [[Part Fuse]] or [[Draft Wire]] tools.


<!--T:12-->
<!--T:12-->
Line 53: Line 90:
</translate>
</translate>
{{Code|code=
{{Code|code=
import Draft
import FreeCAD, Draft

mycircle = Draft.makeCircle(2)
face1 = Draft.upgrade([mycircle],True)
Circle = Draft.makeCircle(1000)
Rectangle = Draft.makeRectangle(2000, 800)

addList1, deleteList1 = Draft.upgrade([Circle, Rectangle], delete=False)
fused = addList1[0]

Line1 = Draft.makeLine(FreeCAD.Vector(2000, 0, 0), FreeCAD.Vector(2500, 1500, 0))
Line2 = Draft.makeLine(FreeCAD.Vector(2500, 1500, 0), FreeCAD.Vector(3000, -1000, 0))
addList2, deleteList2 = Draft.upgrade([Line1, Line2], delete=False)

simple_wire = addList2[0]
addList3, deleteList3 = Draft.upgrade(simple_wire, delete=False)

closed_wire = addList3[0]
addList4, deleteList4 = Draft.upgrade(closed_wire, delete=False)

face = addList4[0]
addList5, deleteList5 = Draft.upgrade(face, delete=False)
}}
}}
<translate>


<!--T:19-->
<languages/>
{{Docnav
|[[Draft_Split|Split]]
|[[Draft_Downgrade|Downgrade]]
|[[Draft_Module|Draft]]
|IconL=Draft_Split.svg
|IconR=Draft_Downgrade.svg
|IconC=Workbench_Draft.svg
}}

</translate>
{{Draft Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Revision as of 20:03, 8 December 2020

Draft Upgrade

Menu location
Draft → 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.

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

  1. If there are more than one face in the selection, the faces are merged (union).
  2. If there is only one face in the selection, nothing is done.
  3. If there is only one open wire in the selection, it gets closed, making a face.
  4. If there are only edges in the selection, all edges are joined into a wire, and the wire is closed if possible.
  5. If none of the above is possible, a compound object is created.

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.

Options

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

Scripting

See also: Draft API and FreeCAD Scripting Basics.

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

upgrade_list = upgrade(objects, delete=False, force=None)
addList, deleteList = upgrade(objects, delete=False, force=None)
  • Upgrades 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 upgrading. It can be: "makeCompound", "closeGroupWires", "makeSolid", "closeWire", "turnToParts", "makeFusion", "makeShell", "makeFaces", "draftify", "joinFaces", "makeSketchFace", "makeWires", or "turnToLine".
  • 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

Circle = Draft.makeCircle(1000)
Rectangle = Draft.makeRectangle(2000, 800)

addList1, deleteList1 = Draft.upgrade([Circle, Rectangle], delete=False)
fused = addList1[0]

Line1 = Draft.makeLine(FreeCAD.Vector(2000, 0, 0), FreeCAD.Vector(2500, 1500, 0))
Line2 = Draft.makeLine(FreeCAD.Vector(2500, 1500, 0), FreeCAD.Vector(3000, -1000, 0))
addList2, deleteList2 = Draft.upgrade([Line1, Line2], delete=False)

simple_wire = addList2[0]
addList3, deleteList3 = Draft.upgrade(simple_wire, delete=False)

closed_wire = addList3[0]
addList4, deleteList4 = Draft.upgrade(closed_wire, delete=False)

face = addList4[0]
addList5, deleteList5 = Draft.upgrade(face, delete=False)