App Link/ru: Difference between revisions

From FreeCAD Documentation
(Created page with "Это свойства, доступные в редакторе свойств для пустого {{incode|App::Link}}.")
No edit summary
 
(13 intermediate revisions by 3 users not shown)
Line 2: Line 2:
{{TOCright}}
{{TOCright}}


<span id="Introduction"></span>
== Введение ==
== Введение ==


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


[[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|Настройки]].

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

Это свойства, доступные в [[property editor/ru|редакторе свойств]] для пустого {{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]]


{{Caption|Упрощенная схема взаимосвязей между основными объектами во FreeCAD}}
{{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].


<span id="Usage"></span>
Проект 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)


Смотри [[Std_LinkMake/ru#Usage|Std Создать ссылку]].
Наконец, произошел запрос на слияние и само слияние:
* [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).


<span id="Properties"></span>
== Свойства ==


Смотри [[Std_LinkMake/ru#Properties|Std Создать ссылку]].
{{Std Base{{#translation:}}}}


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


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

Latest revision as of 12:32, 20 February 2023

Введение

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

Упрощенная схема взаимосвязей между основными объектами во FreeCAD

Применение

Смотри Std Создать ссылку.

Свойства

Смотри Std Создать ссылку.