Draft Downgrade/sv: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav
{{Docnav
|[[Draft_Upgrade|Upgrade]]
|[[Draft_Upgrade|Upgrade]]
|[[Draft_WireToBSpline|WireToBSpline]]
|[[Draft_Scale|Scale]]
|[[Draft_Module|Draft]]
|[[Draft_Workbench|Draft]]
|IconL=Draft_Upgrade.svg
|IconL=Draft_Upgrade.svg
|IconR=Draft_WireToBSpline.svg
|IconC=Workbench_Draft.svg
|IconC=Workbench_Draft.svg
|IconR=Draft_Scale.svg
}}
}}


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
{{GuiCommand/sv|Name=Draft Downgrade|Name/sv=Draft Downgrade|Workbenches=[[Draft Module/sv|Draft]], [[Arch Module/sv|Arch]]|MenuLocation=Draft -> Downgrade|Shortcut=D N|SeeAlso=[[Draft Upgrade/sv|Draft Upgrade]]}}
{{GuiCommand/sv|Name=Draft Downgrade|Name/sv=Draft Downgrade|Workbenches=[[Draft_Workbench/sv|Draft]], [[Arch_Workbench/sv|Arch]]|MenuLocation=Draft -> Downgrade|Shortcut=D N|SeeAlso=[[Draft Upgrade/sv|Draft Upgrade]]}}
</div>
</div>


<span id="Description"></span>
==Beskrivning==
==Beskrivning==


Line 18: Line 20:
Detta verktyg nedgraderar valda objekt på olika sätt. Om inget objekt är markerat, så kommer du att ombes att välja ett.
Detta verktyg nedgraderar valda objekt på olika sätt. Om inget objekt är markerat, så kommer du att ombes att välja ett.
</div>
</div>

The Downgrade tool performs things such as breaking faces, and deconstructing wires into their individual edges. It can cut a shape with another shape in similar way to {{Button|[[Image:Part_Cut.svg|16px]] [[Part Cut|Part Cut]]}}.

The counterpart to this tool is the {{Button|[[Image:Draft Upgrade.svg|16px]] [[Draft Upgrade|Draft Upgrade]]}} operation.


[[Image:Draft_Downgrade_example.jpg|400px]]
[[Image:Draft_Downgrade_example.jpg|400px]]
{{Caption|Face cut from another face; then face downgraded into a closed wire; then downgraded into individual lines}}
{{Caption|Two overlapping faces are downgraded to a Part Cut object, which is downgraded to a face. That face is then downgraded to a closed wire, which is finally downgraded to separate edges.}}


<span id="Usage"></span>
<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
==Bruk==
==Bruk==
</div>
</div>


# Select one or more objects that you want to downgrade.
# Optionally select one or more objects.
# There are several ways to invoke the command:
# Press the {{Button|[[Image:Draft_Downgrade.svg|16px]] [[Draft Downgrade|Draft Downgrade]]}} button or press {{KEY|D}} then {{KEY|N}} keys. If no object is selected, you will be invited to select one.
#* Press the {{Button|[[Image:Draft_Downgrade.svg|16px]] [[Draft_Downgrade|Downgrade]]}} button.
#* Select the {{MenuCommand|Modification → [[Image:Draft_Downgrade.svg|16px]] Downgrade}} option from the menu.
#* Use the keyboard shortcut: {{KEY|D}} then {{KEY|N}}.
# If you have not yet selected an object: select an object in the [[3D_view|3D view]].


==Scripting==
The selected objects are modified or downgraded, according to the following conditions, in order:
# If only one object is selected and it contains more than one face, each face becomes a separate object.
# If there are more than one face in the selection, the subsequent objects are subtracted from the first one.
# If there is only one face in the selection, it gets converted into a wire.
# Otherwise all wires found in the selection are exploded into single edges.


See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].
==Options==


To downgrade objects use the {{incode|downgrade}} method of the Draft module.
<div class="mw-translate-fuzzy">
De valda objekten förändras/nedgraderas, enligt följande lista (i ordning):
* Om endast ett objekt är valt och den innehåller mer än en yta, så separeras detta till olika objekt
* om det finns fler än en yta, så subtraheras efterföljande ytor från den första
* Om det bara finns en yta, så konverteras den till en tråd
* annars så delas alla trådar upp till enkla kanter
</div>

==Example==

<gallery widths="300" heights="200">
File:Draft Downgrade 01.png|Complete shape
File:Draft Downgrade 02.png|Downgraded shape, with disconnected and split faces
</gallery>

==Scripting==
{{Emphasis|See also:}} [[Draft API|Draft API]] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].

The Downgrade tool can be used in [[macros|macros]] and from the [[Python|Python]] console by using the following function:


{{Code|code=
{{Code|code=
downgrade_list = downgrade(objects, delete=False, force=None)
downgrade_list = downgrade(objects, delete=False, force=None)
addList, deleteList = downgrade(objects, delete=False, force=None)
}}
}}


* Downgrades the given {{incode|objects}}, which can be a single object or a list of objects.
* {{incode|objects}} contains the objects to be downgraded. It is either a single object or a list of objects.
* If {{incode|delete}} is {{incode|True}}, old objects are deleted.
* If {{incode|delete}} is {{incode|True}} the source objects are deleted.
* If {{incode|force}} is given, it is the internal function to call to force a certain way of downgrading. It can be: {{incode|"explode"}}, {{incode|"shapify"}}, {{incode|"subtr"}}, {{incode|"splitFaces"}}, {{incode|"cut2"}}, {{incode|"getWire"}}, or {{incode|"splitWires"}}.
* {{incode|force}} forces a certain way of downgrading by calling a specific internal function. It can be: {{incode|"explode"}}, {{incode|"shapify"}}, {{incode|"subtr"}}, {{incode|"splitFaces"}}, {{incode|"cut2"}}, {{incode|"getWire"}}, {{incode|"splitWires"}} or {{incode|"splitCompounds"}}.
* {{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}}).
* {{incode|downgrade_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.


Example:
Example:


{{Code|code=
{{Code|code=
import FreeCAD, Draft
import FreeCAD as App
import Draft


doc = App.newDocument()
# Create an union
Circle = Draft.makeCircle(1000)
Rectangle = Draft.makeRectangle(2000, 800)


circle = Draft.make_circle(1000)
addList1, deleteList1 = Draft.upgrade([Circle, Rectangle], delete=True)
rectangle = Draft.make_rectangle(2000, 800)
union = addList1[0]
doc.recompute()


add_list1, delete_list1 = Draft.upgrade([circle, rectangle], delete=True)
# Downgrade the union twice
addList2, deleteList2 = Draft.downgrade(union, delete=False)
wire = addList2[0]


compound = add_list1[0]
list_edges, deleteList3 = Draft.downgrade(wire, delete=False)
add_list2, delete_list2 = Draft.downgrade(compound, delete=False)
face = add_list2[0]
add_list3, delete_list3 = Draft.downgrade(face, delete=False)


box = doc.addObject("Part::Box", "Box")
# Insert a solid box
box.Length = 2300
Box = FreeCAD.ActiveDocument.addObject("Part::Box", "Box")
Box.Length = 2300
box.Width = 800
Box.Width = 800
box.Height = 1000
Box.Height = 1000


list_faces, deleteList4 = Draft.downgrade(Box, delete=True)
add_list4, delete_list4 = Draft.downgrade(box, delete=True)

doc.recompute()
}}
}}



{{Docnav
{{Docnav
|[[Draft_Upgrade|Upgrade]]
|[[Draft_Upgrade|Upgrade]]
|[[Draft_WireToBSpline|WireToBSpline]]
|[[Draft_Scale|Scale]]
|[[Draft_Module|Draft]]
|[[Draft_Workbench|Draft]]
|IconL=Draft_Upgrade.svg
|IconL=Draft_Upgrade.svg
|IconR=Draft_WireToBSpline.svg
|IconC=Workbench_Draft.svg
|IconC=Workbench_Draft.svg
|IconR=Draft_Scale.svg
}}
}}


{{Draft Tools navi}}
{{Draft Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

{{Userdocnavi}}
{{clear}}

Latest revision as of 20:06, 7 December 2023

Draft Downgrade

Menyplacering
Draft -> Downgrade
Arbetsbänkar
Draft, Arch
Standard genväg
D N
Introducerad i version
-
Se även
Draft Upgrade

Beskrivning

Detta verktyg nedgraderar valda objekt på olika sätt. Om inget objekt är markerat, så kommer du att ombes att välja ett.

Two overlapping faces are downgraded to a Part Cut object, which is downgraded to a face. That face is then downgraded to a closed wire, which is finally downgraded to separate edges.

Bruk

  1. Optionally select one or more objects.
  2. There are several ways to invoke the command:
    • Press the Downgrade button.
    • Select the Modification → Downgrade option from the menu.
    • Use the keyboard shortcut: D then N.
  3. If you have not yet selected an object: select an object in the 3D view.

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

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

downgrade_list = downgrade(objects, delete=False, force=None)
  • objects contains the objects to be downgraded. 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 downgrading by calling a specific internal function. It can be: "explode", "shapify", "subtr", "splitFaces", "cut2", "getWire", "splitWires" or "splitCompounds".
  • downgrade_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=True)

compound = add_list1[0]
add_list2, delete_list2 = Draft.downgrade(compound, delete=False)
face = add_list2[0]
add_list3, delete_list3 = Draft.downgrade(face, delete=False)

box = doc.addObject("Part::Box", "Box")
box.Length = 2300
box.Width = 800
box.Height = 1000

add_list4, delete_list4 = Draft.downgrade(box, delete=True)

doc.recompute()