Draft Upgrade: Difference between revisions
(Code more complete) |
(Button text.) |
||
(53 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
<translate> |
<translate> |
||
⚫ | |||
{{Docnav |
|||
|[[Draft_Split|Split]] |
|||
|[[Draft_Downgrade|Downgrade]] |
|||
|[[Draft_Workbench|Draft]] |
|||
|IconL=Draft_Split.svg |
|||
|IconR=Draft_Downgrade.svg |
|||
|IconC=Workbench_Draft.svg |
|||
}} |
|||
<!--T:1--> |
<!--T:1--> |
||
{{GuiCommand |
{{GuiCommand |
||
|Name=Draft Upgrade |
|Name=Draft Upgrade |
||
|MenuLocation= |
|MenuLocation=Modification → Upgrade |
||
|Workbenches=[[ |
|Workbenches=[[Draft_Workbench|Draft]], [[Arch_Workbench|Arch]] |
||
|Shortcut=U P |
|Shortcut={{KEY|U}} {{KEY|P}} |
||
|SeeAlso=[[ |
|SeeAlso=[[Draft_Downgrade|Draft Downgrade]] |
||
}} |
}} |
||
Line 13: | Line 24: | ||
<!--T:3--> |
<!--T:3--> |
||
The [[Image:Draft_Upgrade.svg|24px]] '''Draft Upgrade''' command upgrades selected objects. The result depends on the number of selected objects and their type. The command can for example fuse elements and create faces. It is worth trying to upgrade a selection several times to see if a better result can be obtained. See the example in the image. Note that not all objects can be upgraded. This command is the counterpart of the [[Draft_Downgrade|Draft Downgrade]] command. |
|||
The Upgrade tool upgrades the selected objects in different ways. If no object is selected, you will be invited to select one. |
|||
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 Union]] 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. |
|||
</translate> |
</translate> |
||
[[Image:Draft_Upgrade_example.jpg|400px]] |
[[Image:Draft_Upgrade_example.jpg|400px]] |
||
<translate> |
<translate> |
||
<!--T:15--> |
|||
{{Caption|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.}} |
|||
== |
==Usage== <!--T:4--> |
||
<!--T:5--> |
<!--T:5--> |
||
# |
# Optionally select one or more objects. |
||
# There are several ways to invoke the command: |
|||
# Press the {{Button|[[Image: |
#* Press the {{Button|[[Image:Draft_Upgrade.svg|16px]] [[Draft_Upgrade|Upgrade]]}} button. |
||
#* Select the {{MenuCommand|Modification → [[Image:Draft_Upgrade.svg|16px]] Upgrade}} option from the menu. |
|||
#* Use the keyboard shortcut: {{KEY|U}} then {{KEY|P}}. |
|||
# If you have not yet selected an object: select an object in the [[3D_view|3D view]]. |
|||
⚫ | |||
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:25--> |
|||
It is worth trying to upgrade a selection several times to see if a better shape is obtained. For example: |
|||
* [[Draft_Line|Draft Lines]] and [[Draft_Wire|Draft Wires]] can be joined with this command, but also with the [[Draft_Join|Draft Join]] command or the [[Draft_Wire|Draft Wire]] command. |
|||
# 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. |
|||
==Scripting== <!--T:23--> |
|||
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 Union|Part Union]] tool. |
|||
<!--T:8--> |
|||
See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]]. |
|||
⚫ | |||
There are no options for this tool. Either it works with the selected objects or not. |
|||
⚫ | |||
{{emphasis|See also:}} [[Draft API]] and [[FreeCAD Scripting Basics]]. |
|||
<!--T:9--> |
<!--T:9--> |
||
To upgrade objects use the {{incode|upgrade}} method of the Draft module. |
|||
The Upgrade tool can be used in [[macros]] and from the [[Python]] console by using the following function: |
|||
</translate> |
</translate> |
||
{{Code|code= |
{{Code|code= |
||
upgrade_list = 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--> |
||
* |
* {{incode|objects}} contains the objects to be upgraded. It is either a single object or a list of objects. |
||
* If {{incode|delete}} is {{incode|True}} |
* If {{incode|delete}} is {{incode|True}} the source objects are deleted. |
||
* |
* {{incode|force}} forces a certain way of upgrading by calling a specific internal function. 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"}}. |
||
* {{incode|upgrade_list}} is returned |
* {{incode|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 {{incode|delete}} is {{incode|True}} the second list is empty. |
||
<!--T:12--> |
<!--T:12--> |
||
Line 73: | Line 72: | ||
</translate> |
</translate> |
||
{{Code|code= |
{{Code|code= |
||
import FreeCAD |
import FreeCAD as App |
||
import Draft |
|||
doc = App.newDocument() |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
fused = addList1[0] |
|||
doc.recompute() |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
simple_wire = addList2[0] |
|||
⚫ | |||
⚫ | |||
doc.recompute() |
|||
⚫ | |||
⚫ | |||
⚫ | |||
simple_wire = add_list2[0] |
|||
add_list3, delete_list3 = Draft.upgrade(simple_wire, delete=False) |
|||
⚫ | |||
⚫ | |||
face = add_list4[0] |
|||
⚫ | |||
doc.recompute() |
|||
}} |
}} |
||
<translate> |
|||
<!--T:19--> |
|||
{{Docnav |
|||
|[[Draft_Split|Split]] |
|||
|[[Draft_Downgrade|Downgrade]] |
|||
|[[Draft_Workbench|Draft]] |
|||
|IconL=Draft_Split.svg |
|||
|IconR=Draft_Downgrade.svg |
|||
|IconC=Workbench_Draft.svg |
|||
}} |
|||
</translate> |
|||
{{Draft Tools navi{{#translation:}}}} |
|||
{{Userdocnavi{{#translation:}}}} |
Latest revision as of 17:11, 3 December 2023
Draft Upgrade |
Menu location |
---|
Modification → Upgrade |
Workbenches |
Draft, Arch |
Default shortcut |
U P |
Introduced in version |
- |
See also |
Draft Downgrade |
Description
The Draft Upgrade command upgrades selected objects. The result depends on the number of selected objects and their type. The command can for example fuse elements and create faces. It is worth trying to upgrade a selection several times to see if a better result can be obtained. See the example in the image. Note that not all objects can be upgraded. This command is the counterpart of the Draft Downgrade command.
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.
Usage
- Optionally select one or more objects.
- There are several ways to invoke the command:
- Press the Upgrade button.
- Select the Modification → Upgrade option from the menu.
- Use the keyboard shortcut: U then P.
- If you have not yet selected an object: select an object in the 3D view.
Notes
- Draft Lines and Draft Wires can be joined with this command, but also with the Draft Join command or the Draft Wire command.
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
isTrue
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. Ifdelete
isTrue
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()
- Drafting: Line, Polyline, Fillet, Arc, Arc by 3 points, Circle, Ellipse, Rectangle, Polygon, B-spline, Cubic Bézier curve, Bézier curve, Point, Facebinder, ShapeString, Hatch
- Annotation: Text, Dimension, Label, Annotation styles, Annotation scale
- Modification: Move, Rotate, Scale, Mirror, Offset, Trimex, Stretch, Clone, Array, Polar array, Circular array, Path array, Path link array, Point array, Point link array, Edit, Subelement highlight, Join, Split, Upgrade, Downgrade, Wire to B-spline, Draft to sketch, Set slope, Flip dimension, Shape 2D view
- Draft Tray: Select plane, Set style, Toggle construction mode, AutoGroup
- Snapping: Snap lock, Snap endpoint, Snap midpoint, Snap center, Snap angle, Snap intersection, Snap perpendicular, Snap extension, Snap parallel, Snap special, Snap near, Snap ortho, Snap grid, Snap working plane, Snap dimensions, Toggle grid
- Miscellaneous: Apply current style, Layer, Manage layers, Add a new named group, Move to group, Select group, Add to construction group, Toggle normal/wireframe display, Create working plane proxy, Heal, Show snap toolbar
- Additional: Constraining, Pattern, Preferences, Import Export Preferences, DXF/DWG, SVG, OCA, DAT
- Context menu:
- Layer container: Merge layer duplicates, Add new layer
- Layer: Activate this layer, Select layer contents
- Text: Open hyperlinks
- Wire: Flatten
- Working plane proxy: Write camera position, Write objects state
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub