App Link/ru: Difference between revisions

From FreeCAD Documentation
(Created page with "Это свойства, доступные в редакторе свойств для пустого {{incode|App::Link}}.")
(Updating to match new version of source page)
Line 4: Line 4:
== Введение ==
== Введение ==


[[File:Link.svg|32px]]

<div class="mw-translate-fuzzy">
[[Image:Link.svg|32px]] [[App_Link/ru|App Link]], или, формально, {{incode|App::Link}}, это элемент, который возвращает ссылку на другой объект в документе или внешнем документе. Объект появился {{Version|0.19}}, с целью повторного использования уже созданных объектов, что очень полезно для создания сборок.
[[Image:Link.svg|32px]] [[App_Link/ru|App Link]], или, формально, {{incode|App::Link}}, это элемент, который возвращает ссылку на другой объект в документе или внешнем документе. Объект появился {{Version|0.19}}, с целью повторного использования уже созданных объектов, что очень полезно для создания сборок.
</div>


[[File:FreeCAD_core_objects.svg|800px]]
При создании обычной копии созданного объекта (например, через {{Button|[[Image:Part_SimpleCopy.svg|16px]] [[Part SimpleCopy‎/ru|Part SimpleCopy‎]]}}), дублицируется весь новый объект с его [[Part_TopoShape/ru|топологической формой]], что потребляет много памяти. App Link используется для повторного использования существующих данных существующих объектов, так что не надо создавать все новые объекты. Это улучшает поддержку копий, в частности в контексте механических сборок, где может быть нужно много дубликатов, или где требуется импорт малых сборок внутрь больших.

{{Caption|Упрощённая диаграмма отношений между основными объектами программы. Объект {{incode|App::Link}} это основной компонент системы, он не зависит от какого-либо верстака, но может использоваться в большинстве объектов, созданных во всех верстаках.}}


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


<div class="mw-translate-fuzzy">
* App Links может быть создан нажатием {{Button|[[Image:Std_LinkMake.svg|16px]] [[Std_LinkMake/ru|LinkMake]]}}.
* App Links может быть создан нажатием {{Button|[[Image:Std_LinkMake.svg|16px]] [[Std_LinkMake/ru|LinkMake]]}}.
</div>


<div class="mw-translate-fuzzy">
{{Emphasis|Примечание:}} [[App_Link/ru|App Link]] это внутренний объект, так что он в основном предназначен для использования разработчиками для создания верстаков сборки. Например, этот объект используют верстаки [[Assembly3_Workbench/ru|Assembly3]] и [[Assembly4_Workbench/ru|Assembly4]].
{{Emphasis|Примечание:}} [[App_Link/ru|App Link]] это внутренний объект, так что он в основном предназначен для использования разработчиками для создания верстаков сборки. Например, этот объект используют верстаки [[Assembly3_Workbench/ru|Assembly3]] и [[Assembly4_Workbench/ru|Assembly4]].
</div>


== Properties ==
==Свойства==


An [[App_Link|App Link]] ({{incode|App::Link}} class) is derived from the basic [[App_DocumentObject|App DocumentObject]] ({{incode|App::DocumentObject}} class), therefore it shares most of the latter's properties.
Для всех типов свойств, которые могут иметь скриптовые объекты, смотрите [[Property/ru|Настройки]].

Объект {{incode|App::Link}} не унаследован от [[Part_Feature/ru|Part Feature]], однако, если Link имеет ссылку на внешний объект, он показывает свойства последнего объекта.

Это свойства, доступные в [[property editor/ru|редакторе свойств]] для пустого {{incode|App::Link}}.


<div class="mw-translate-fuzzy">
=== Данные ===
=== Данные ===
</div>

{{TitleProperty|Link}}
* {{PropertyData|Linked Object}}:
* {{PropertyData|Link Transform}}:
* {{PropertyData|Placement}}:
* {{PropertyData|Show Element}}:
* {{PropertyData|Element Count}}:
* {{PropertyData|Scale}}:

{{TitleProperty|Base}}
* {{PropertyData|Label}}:

=== Вид ===

{{TitleProperty|Link}}
* {{PropertyView|Draw Style}}:
* {{PropertyView|Line Width}}:
* {{PropertyView|Override Material}}:
* {{PropertyView|Point Size}}:
* {{PropertyView|Selectable}}:
* {{PropertyView|Shape Material}}:

{{TitleProperty|Base}}
* {{PropertyView|On Top When Selected}}:
* {{PropertyView|Selection Style}}:
* {{PropertyView|Show In Tree}}:
* {{PropertyView|Visibility}}:

== Наследование ==

[[File:FreeCAD_core_objects.svg|800px]]

{{Caption|Упрощённая диаграмма отношений между основными объектами программы. Объект {{incode|App::Link}} это основной компонент системы, он не зависит от какого-либо верстака, но может использоваться в большинстве объектов, созданных во всех верстаках.}}

== Scripting ==

{{Emphasis|Смотри так же:}} [[FreeCAD Scripting Basics\ru|FreeCAD Scripting Basics]], и [[scripted objects/ru|scripted objects]].

Смотрите [[Part_Feature/ru|Part Feature]] для общей информации.

App Link содаётся методом {{incode|addObject()}} документа.
{{Code|code=
import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::Link", "Name")
obj.Label = "Custom label"
}}

== Дальнейшее чтение ==

Объект App Link был представлен после двух лет разработки и прототипирования. Этот компонент был задуман и спроектирован практически в одиночку пользователем {{Emphasis|realthunder}}. Мотивация и реализация дизайна этого проекта описаны на его странице в GitHub, [https://github.com/realthunder/FreeCAD_assembly3/wiki/Link Link]. Чтобы завершить эту функцию, в ядре FreeCAD были сделаны несколько изменений; это было подробно документировано в [https://github.com/realthunder/FreeCAD_assembly3/wiki/Core-Changes Core-Changes].

Проект App Link начался после того, как перепроектирование [[PartDesign Workbench/ru|верстака PartDesign]] было завершено в v0.17. История App Link может быть отслежена в некоторых важных ветках форума:
* [https://forum.freecadweb.org/viewtopic.php?f=19&t=21505 Why an object can only be inside one App::Part?] (March 2017)
* [https://forum.freecadweb.org/viewtopic.php?f=10&t=21586 Introducing App::Link/XLink] (March 2017)
* [https://forum.freecadweb.org/viewtopic.php?f=20&t=22216 Links] (May 2017)
* [https://forum.freecadweb.org/viewtopic.php?f=20&t=23015 Realthunder Link implementation: Architecture discussion] (June 2017)
* [https://forum.freecadweb.org/viewtopic.php?f=17&t=23419 PR #876: Link, stage one, context aware selection] (July 2017)
* [https://forum.freecadweb.org/viewtopic.php?f=17&t=23626 Preview: Link, stage two, API groundwork] (July 2017)
* [https://forum.freecadweb.org/viewtopic.php?f=20&t=25712 Assembly3 preview] (December 2017)
* [https://forum.freecadweb.org/viewtopic.php?f=10&t=29542 Merging of my Link branch] (June 2018)

Наконец, произошел запрос на слияние и само слияние:
* [https://forum.freecadweb.org/viewtopic.php?f=27&t=38621 App::Link: the big merge], old thread (July 2019), [https://github.com/FreeCAD/FreeCAD/pull/2350 pull request #2350] (the BIG merge), [https://github.com/realthunder/FreeCAD/tree/LinkMerge LinkMerge branch].
* [https://forum.freecadweb.org/viewtopic.php?f=8&t=37757 App::Link: the big merge], main thread (July 2019)
* [https://forum.freecadweb.org/viewtopic.php?p=329054#p329054 A simple path description of Link, 019, Link stage, Asm3, merge?] (August 2019)
* [https://forum.freecadweb.org/viewtopic.php?f=17&t=39672 PR#2559: expose link and navigation actions], an introduction to the Link feature in 0.19 (September 2019).




{{Std Base{{#translation:}}}}
{{Std Base{{#translation:}}}}

{{Document objects navi{{#translation:}}}}
{{Document objects navi{{#translation:}}}}

{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Revision as of 19:01, 11 September 2020

Введение

App Link, или, формально, App::Link, это элемент, который возвращает ссылку на другой объект в документе или внешнем документе. Объект появился introduced in version 0.19, с целью повторного использования уже созданных объектов, что очень полезно для создания сборок.

Упрощённая диаграмма отношений между основными объектами программы. Объект App::Link это основной компонент системы, он не зависит от какого-либо верстака, но может использоваться в большинстве объектов, созданных во всех верстаках.

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

  • App Links может быть создан нажатием LinkMake.

Примечание: App Link это внутренний объект, так что он в основном предназначен для использования разработчиками для создания верстаков сборки. Например, этот объект используют верстаки Assembly3 и Assembly4.

Properties

An App Link (App::Link class) is derived from the basic App DocumentObject (App::DocumentObject class), therefore it shares most of the latter's properties.

Данные