App Link/ru: Difference between revisions

From FreeCAD Documentation
(Created page with "Для всех типов свойств, которые могут иметь скриптовые объекты, смотрите Настройки.")
(Updating to match new version of source page)
(7 intermediate revisions by 3 users not shown)
Line 4: Line 4:
== Введение ==
== Введение ==


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

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

* App Links может быть создан нажатием {{Button|[[Image:Std_LinkMake.svg|16px]] [[Std_LinkMake/ru|LinkMake]]}}.

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

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

Для всех типов свойств, которые могут иметь скриптовые объекты, смотрите [[Property/ru|Настройки]].

An {{incode|App::Link}} object is not derived from a [[Part_Feature|Part Feature]], however, if the Link has a reference to an external object, it will show the properties of the latter object.

These are the properties available in the [[property editor|property editor]] for an empty {{incode|App::Link}}.

=== Данные ===

{{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]]
[[File:FreeCAD_core_objects.svg|800px]]


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


== Scripting ==
== Применение ==


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


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


<div class="mw-translate-fuzzy">
App Link содаётся методом {{incode|addObject()}} документа.
=== Данные ===
{{Code|code=
</div>
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:}}}}


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


{{Std_Base_navi{{#translation:}}}}
{{Document_objects_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Revision as of 07:28, 22 February 2022

Введение

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

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

Применение

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

Properties

Данные