App Link/ru: Difference between revisions

From FreeCAD Documentation
(Created page with "* App Links может быть создан нажатием {{Button|16px LinkMake}}.")
(Created page with "{{Emphasis|Примечание:}} App Link это внутренний объект, так что он в основном предназначен для и...")
Line 12: Line 12:
* App Links может быть создан нажатием {{Button|[[Image:Std_LinkMake.svg|16px]] [[Std_LinkMake/ru|LinkMake]]}}.
* App Links может быть создан нажатием {{Button|[[Image:Std_LinkMake.svg|16px]] [[Std_LinkMake/ru|LinkMake]]}}.


{{Emphasis|Note:}} An [[App_Link|App Link]] is an internal object, so it is mostly intended to be used by developers when developing assembly workbenches. For example, the [[Assembly3_Workbench|Assembly3]] and [[Assembly4_Workbench|Assembly4]] workbenches make use of this object.
{{Emphasis|Примечание:}} [[App_Link/ru|App Link]] это внутренний объект, так что он в основном предназначен для использования разработчиками для создания верстаков сборки. Например, этот объект используют верстаки [[Assembly3_Workbench/ru|Assembly3]] и [[Assembly4_Workbench/ru|Assembly4]].


==Properties==
==Properties==

Revision as of 08:01, 12 May 2020

Введение

An App Link, or formally an App::Link, is an element that returns a reference to another object in the document or in an external document. This object was introduced in version 0.19 in order to re-use previously created objects, which is very useful to create assemblies.

При создании обычной копии созданного объекта (например, через Part SimpleCopy‎), дублицируется весь новый объект с его топологической формой, что потребляет много памяти. App Link используется для повторного использования существующих данных существующих объектов, так что не надо создавать все новые объекты. Это улучшает поддержку копий, в частности в контексте механических сборок, где может быть нужно много дубликатов, или где требуется импорт малых сборок внутрь больших.

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

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

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

Properties

See Property for all property types that scripted objects can have.

An App::Link object is not derived from a 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 for an empty App::Link.

Data

Link

  • ДанныеLinked Object:
  • ДанныеLink Transform:
  • ДанныеPlacement:
  • ДанныеShow Element:
  • ДанныеElement Count:
  • ДанныеScale:

Base

  • ДанныеLabel:

View

Link

  • ВидDraw Style:
  • ВидLine Width:
  • ВидOverride Material:
  • ВидPoint Size:
  • ВидSelectable:
  • ВидShape Material:

Base

  • ВидOn Top When Selected:
  • ВидSelection Style:
  • ВидShow In Tree:
  • ВидVisibility:

Inheritance

Simplified diagram of the relationships between the core objects in the program. The App::Link object is a core component of the system, it does not depend on any workbench, but it can be used with most objects created in all workbenches.

Scripting

See also: FreeCAD Scripting Basics, and scripted objects.

See Part Feature for the general information.

An App Link is created with the addObject() method of the document.

import FreeCAD as App

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

Further reading

The App Link object was introduced after 2 years of development and prototyping. This component was thought and developed almost single-handedly by user realthunder. The motivations and design implementations behind this project are described in his GitHub page, Link. In order to accomplish this feature, several core changes to FreeCAD were made; these were also extensively documented in Core-Changes.

The App Link project started after the redesign of the PartDesign Workbench was complete in v0.17. The history of App Link can be traced to some essential forum threads:

Finally, the pull request and merge happened: