Draft Downgrade/ru: Difference between revisions

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

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


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 6: Line 14:
|Name=Draft Downgrade
|Name=Draft Downgrade
|Name/ru=Draft Downgrade
|Name/ru=Draft Downgrade
|Workbenches=[[Draft Module/ru|Draft]], [[Arch Module/ru|Arch]]
|MenuLocation=Черчение -> Перестроить
|MenuLocation=Черчение -> Перестроить
|Workbenches=[[Draft_Workbench/ru|Draft]], [[Arch_Workbench/ru|Arch]]
|Shortcut=D N
|Shortcut={{KEY|D}} {{KEY|N}}
|SeeAlso=[[Draft Upgrade/ru|Обновить]]
|SeeAlso=[[Draft Upgrade/ru|Обновить]]
}}
}}
</div>
</div>


<span id="Description"></span>
==Описание==
==Описание==


Line 18: Line 27:
Этот инструмент разбивает выбранные объекты (преобразует объект в несколько объектов нижнего уровня). Если объекты не выбраны, попросите их выбрать.
Этот инструмент разбивает выбранные объекты (преобразует объект в несколько объектов нижнего уровня). Если объекты не выбраны, попросите их выбрать.
</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 [[Part Cut]].

The counterpart to this tool is the [[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>


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 33: Line 41:
</div>
</div>


==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.

==Опции==

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

== Пример ==

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


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 60: Line 53:
{{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.


Пример:
Пример:


{{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|[[Draft_Upgrade|Upgrade]]|[[Draft_Scale|Scale]]|[[Draft_Module|Draft]]|IconL=Draft_Upgrade.svg|IconC=Workbench_Draft.svg|IconR=Draft_Scale.svg}}


{{Docnav
{{Draft Tools navi}}
|[[Draft_Upgrade|Upgrade]]
|[[Draft_WireToBSpline|WireToBSpline]]
|[[Draft_Workbench|Draft]]
|IconL=Draft_Upgrade.svg
|IconR=Draft_WireToBSpline.svg
|IconC=Workbench_Draft.svg
}}


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

Latest revision as of 20:06, 7 December 2023

Draft Downgrade

Системное название
Draft Downgrade
Расположение в меню
Черчение -> Перестроить
Верстаки
Draft, Arch
Быстрые клавиши
D N
Представлено в версии
-
См. также
Обновить

Описание

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

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.

Использование

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

Scripting

Скриптование

Инструмент Даунгрейд можно использовать в сценариях python и макросы, используя следующую функцию:

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.

Пример:

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