Std LinkMake/ru: Difference between revisions

From FreeCAD Documentation
(Created page with "{{GuiCommand/ru |Name=Std LinkMake |Name/ru=Std LinkMake |MenuLocation=None |Workbenches=All |Version=0.19 |SeeAlso=Std Part, Std Group, Par...")
(Updating to match new version of source page)
Line 12: Line 12:
==Описание==
==Описание==


{{Button|[[Image:Std LinkMake.svg|16px]] [[Std LinkMake|Std LinkMake]]}} creates an [[App Link|App Link]] ({{incode|App::Link}} class), a type of object that references another object, in the same document, or in another document. It is intended to be used in mechanical assemblies in which one object may appear multiple times, for example, screws and bolts, but also other complex sub-assemblies.
{{Button|[[File:Std_LinkMake.svg|16px]] [[Std_LinkMake|Std LinkMake]]}} creates an [[App_Link|App Link]] ({{incode|App::Link}} class), a type of object that references or links to another object, in the same document, or in another document. It is especially designed to efficiently duplicate a single object multiple times, which helps with the creation of complex [[assembly|assemblies]] from smaller subassemblies, and from multiple reusable components like screws, nuts, and similar fasteners.


The [[App_Link|App Link]] object was newly introduced in v0.19; in the past, simple duplication of objects could be achieved with {{Button|[[File:Draft_Clone.svg|16px]] [[Draft_Clone|Draft Clone]]}}, but this is a less efficient solution due to its implementation which essentially creates a copy of the internal [[Part_TopoShape|Shape]] of the source object. On the other hand, a Link references directly the original Shape, so it is more memory efficient.
For simple duplication of objects, see [[Draft Clone|Draft Clone]], [[Draft Array|Draft Array]], and [[Draft PathArray|Draft PathArray]]. The tools [[Draft LinkArray|Draft LinkArray]] and [[Draft PathLinkArray|Draft PathLinkArray]] create Links instead of simple copies.


By itself the [[App_Link|Link]] object can behave like an array, duplicating its base object many times; this can be done by setting its {{PropertyData|Element Count}} property to {{Value|1}} or larger. This "Link array" object can also be created with the different array tools of the [[File:Workbench_Draft.svg|24px]] [[Draft_Module|Draft Workbench]], for example, {{Button|[[File:Draft_OrthoArray.svg|16px]] [[Draft_OrthoArray|Draft OrthoArray]]}}, {{Button|[[File:Draft_PolarArray.svg|16px]] [[Draft_PolarArray|Draft PolarArray]]}}, and {{Button|[[File:Draft_CircularArray.svg|16px]] [[Draft_CircularArray|Draft CircularArray]]}}.
Links are intended to be used with full bodies. To create arrays of features inside the same [[PartDesign Body|PartDesign Body]], use [[PartDesign LinearPattern|PartDesign LinearPattern]], [[PartDesign PolarPattern|PartDesign PolarPattern]], and [[PartDesign_MultiTransform|PartDesign MultiTransform]].
When used with the [[File:Workbench_PartDesign.svg|24px]] [[PartDesign_Workbench|PartDesign Workbench]], Links are intended to be used with full {{Button|[[File:PartDesign_Body.svg|16px]] [[PartDesign_Body|PartDesign Bodies]]}}; to create arrays of [[PartDesign_Feature|features]], use {{Button|[[File:PartDesign_LinearPattern.svg|16px]] [[PartDesign_LinearPattern|PartDesign LinearPattern]]}}, {{Button|[[File:PartDesign_PolarPattern.svg|16px]] [[PartDesign_PolarPattern|PartDesign PolarPattern]]}}, and {{Button|[[File:PartDesign_MultiTransform.svg|16px]] [[PartDesign_MultiTransform|PartDesign MultiTransform]]}}.

The {{Button|[[File:Std_LinkMake.svg|16px]] [[Std_LinkMake|Std LinkMake]]}} tool is not defined by a particular workbench, but by the base system, thus it is found in the {{MenuCommand|structure toolbar}} that is available in all [[Workbenches|workbenches]]. The Link object, used in conjunction with {{Button|[[File:Std_Part.svg|16px]] [[Std_Part|Std Part]]}} to group various objects, forms the basis of the [[File:Assembly3_workbench_icon.svg|24px]] [[Assembly3_Workbench|Assembly3]] and [[File:Assembly4_workbench_icon.svg|24px]] [[Assembly4_Workbench|Assembly4 Workbenches]].


==Usage==
==Usage==


With selection:
# Select an object for which you wish to make a Link.
# Select an object in the [[tree_view|tree view]] or [[3D_view|3D view]] for which you wish to create a Link.
# Press the {{Button|[[Image:Std LinkMake.svg|16px]] [[Std LinkMake|Std LinkMake]]}} button. If no object is selected, an empty Link will be created.
# Press the {{Button|[[File:Std_LinkMake.svg|16px]] [[Std_LinkMake|Std LinkMake]]}} button. The produced object has the same icon as the original object, but has an arrow overlay indicating it is a Link.

Without selection:
# If no object is selected, press the {{Button|[[File:Std_LinkMake.svg|16px]] [[Std_LinkMake|Std LinkMake]]}} button to create an empty [[File:Link.svg|24px]] Link.
# Go to the [[property_editor|property editor]], then click on the {{PropertyData|Linked Object}} property to open the [[Selection_methods|Link selection dialog]] to choose an object, then press {{Button|OK}}.
# Instead of choosing an entire object in the [[tree_view|tree view]], you can also pick subelements (vertices, edges, or faces) of a single object in the [[3D_view|3D view]]. In this case, the Link will duplicate only these subelements, and the arrow overlay will be different.


==Properties==
==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 has the latter's basic properties like {{PropertyData|Label}} and {{PropertyData|Label2}}.

The following are the specific properties available in the [[property editor|property editor]]. Hidden properties can be shown by using the {{MenuCommand|Show all}} command in the context menu of the [[property editor|property editor]].


=== Data ===
=== Data ===


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


* {{PropertyData|Linked Object|XLink}}: it indicates the source object of the [[App_Link|App Link]]; this can be an entire object, or a subelement of it (vertex, edge, or face).
It will additionally show the properties of the original {{PropertyData|Linked Object}}.
* {{PropertyData|Link Transform|Bool}}: it defaults to {{FALSE}}, in which case the Link will override the {{PropertyData|Linked Object}}'s own placement. If it is set to {{TRUE}}, the Link will be placed in the same position as the {{PropertyData|LinkedObject}}.
* {{PropertyData|Placement|Placement}}: the placement of the Link.
:This property will change to {{PropertyData|Link Placement}} if {{PropertyData|Link Transform}} is set to {{TRUE}}; in this case, the {{PropertyData|Link Placement}} constitutes an offset applied on top of the {{PropertyData|Placement}} of the {{PropertyData|Linked Object}}.
* {{PropertyData|Show Element|Bool}}: it defaults to {{TRUE}}, in which case the [[tree_view|tree view]] will show the individual Link copies, as long as {{PropertyData|Element Count}} is {{Value|1}} or larger.
* {{PropertyData|Element Count|IntegerConstraint}}: it defaults to {{Value|0}}. If it is {{Value|1}} or larger, the [[App_Link|App Link]] will behave like an array, and will duplicate the same {{PropertyData|Linked Object}} many times. If {{PropertyData|Show Elements}} is {{TRUE}}, each element in the array will be displayed in the [[tree_view|tree view]], and each can have its own {{PropertyData|Placement}} modified. Each Link copy will have a name based on the Link's [[Object_name|Name]], augmented by {{incode|_iN}}, where {{incode|N}} is a number starting from {{incode|0}}. For example, with a single {{incode|Link}}, the copies will be named {{incode|Link_i0}}, {{incode|Link_i1}}, {{incode|Link_i2}}, etc.
* {{PropertyData|Link Execute|String}}: name of the execute function that will run for this particular Link object. It defaults to {{Value|'appLinkExecute'}}. Set it to {{Value|'None'}} to disable it.
* {{PropertyData|Scale|Float}}: it defaults to {{Value|1.0}}. It is a factor for uniform scaling in each direction {{incode|X}}, {{incode|Y}}, and {{incode|Z}}. For example, a cube of {{Value|2 mm}} x {{Value|2 mm}} x {{Value|2 mm}}, that is scaled by {{Value|2.0}}, will result in a shape with dimensions {{Value|4 mm}} x {{Value|4 mm}} x {{Value|4 mm}}.
* {{PropertyData|Scale List|VectorList}}: the scale factor for each Link element.

==== Hidden Data properties ====

* {{PropertyData|Colored Elements|LinkSubHidden|Hidden}}: list of Link elements that have had their color overriden.
* {{PropertyData|Scale Vector|Vector|Hidden}}: the scale factor for each component {{incode|(X, Y, Z)}} for all Link elements when {{PropertyData|Element Count}} is {{Value|1}} or larger. If {{PropertyData|Scale}} is other than {{Value|1.0}}, this same value will be used in the three components.
* {{PropertyData|Visibility List|BoolList|Hidden}}: {{emphasis|(read-only)}} the visibility state of each Link element, either {{TRUE}} or {{FALSE}}.
* {{PropertyData|Placement List|PlacementList|Hidden}}: {{emphasis|(read-only)}} the placement for each Link element.
* {{PropertyData|Element List|LinkList|Hidden}}: the list of Link elements.
* {{PropertyData|_LinkTouched|Bool|Hidden}}:
* {{PropertyData|_ChildCache|LinkList|Hidden}}:

The [[App_Link|App Link]] object will additionally show the properties of the original {{PropertyData|Linked Object}}, so the [[property_editor|property editor]] may have groups of properties like {{TitleProperty|Attachment}}, {{TitleProperty|Base}}, {{TitleProperty|Box}}, {{TitleProperty|Draft}}, etc.


=== View ===
=== View ===


{{TitleProperty| Link}}
* {{PropertyView|Draw Style}}:

* {{PropertyView|Line Width}}:
* {{PropertyView|Draw Style|Enumeration}}: it defaults to {{Value|None}}; it can be {{Value|Solid}}, {{Value|Dashed}}, {{Value|Dotted}}, {{Value|Dashdot}}.
* {{PropertyView|Override Material}}:
* {{PropertyView|Point Size}}:
* {{PropertyView|Line Width|FloatConstraint}}:
* {{PropertyView|Override Material|Bool}}: it defaults to {{FALSE}}; if set to {{TRUE}} it will override the {{PropertyData|Linked Object}}'s material.
* {{PropertyView|Selectable}}:
* {{PropertyView|Shape Material}}:
* {{PropertyView|Point Size|FloatConstraint}}:
* {{PropertyView|Selectable|Bool}}:
* {{PropertyView|Shape Material|Material}}: this property includes sub-properties that describe the {{PropertyView|Diffuse Color}}, {{PropertyView|Ambient Color}}, {{PropertyView|Specular Color}}, {{PropertyView|Emissive Color}}, {{PropertyView|Shininess}}, and {{PropertyView|Transparency}}.

{{TitleProperty|Base}}

* {{PropertyView|Child View Provider|PersistentObject|Hidden}}:
* {{PropertyView|Material List|MaterialList|Hidden}}:
* {{PropertyView|Override Color List|ColorList|Hidden}}:
* {{PropertyView|Override Material List|BoolList|Hidden}}:

{{TitleProperty|Display Options}}

* {{PropertyView|Display Mode|Enumeration}}: {{Value|Link}} or {{Value|ChildView}}.


It will additionally show the view properties of the original {{PropertyData|Linked Object}}.
It will additionally show the view properties of the original {{PropertyData|Linked Object}}.

Revision as of 19:07, 10 September 2020

Std LinkMake

Системное название
Std LinkMake
Расположение в меню
None
Верстаки
All
Быстрые клавиши
Нет
Представлено в версии
0.19
См. также
Std Part, Std Group, PartDesign Body

Описание

Std LinkMake creates an App Link (App::Link class), a type of object that references or links to another object, in the same document, or in another document. It is especially designed to efficiently duplicate a single object multiple times, which helps with the creation of complex assemblies from smaller subassemblies, and from multiple reusable components like screws, nuts, and similar fasteners.

The App Link object was newly introduced in v0.19; in the past, simple duplication of objects could be achieved with Draft Clone, but this is a less efficient solution due to its implementation which essentially creates a copy of the internal Shape of the source object. On the other hand, a Link references directly the original Shape, so it is more memory efficient.

By itself the Link object can behave like an array, duplicating its base object many times; this can be done by setting its ДанныеElement Count property to 1 or larger. This "Link array" object can also be created with the different array tools of the Draft Workbench, for example, Draft OrthoArray, Draft PolarArray, and Draft CircularArray. When used with the PartDesign Workbench, Links are intended to be used with full PartDesign Bodies; to create arrays of features, use PartDesign LinearPattern, PartDesign PolarPattern, and PartDesign MultiTransform.

The Std LinkMake tool is not defined by a particular workbench, but by the base system, thus it is found in the structure toolbar that is available in all workbenches. The Link object, used in conjunction with Std Part to group various objects, forms the basis of the Assembly3 and Assembly4 Workbenches.

Usage

With selection:

  1. Select an object in the tree view or 3D view for which you wish to create a Link.
  2. Press the Std LinkMake button. The produced object has the same icon as the original object, but has an arrow overlay indicating it is a Link.

Without selection:

  1. If no object is selected, press the Std LinkMake button to create an empty Link.
  2. Go to the property editor, then click on the ДанныеLinked Object property to open the Link selection dialog to choose an object, then press OK.
  3. Instead of choosing an entire object in the tree view, you can also pick subelements (vertices, edges, or faces) of a single object in the 3D view. In this case, the Link will duplicate only these subelements, and the arrow overlay will be different.

Properties

An App Link (App::Link class) is derived from the basic App DocumentObject (App::DocumentObject class), therefore it has the latter's basic properties like ДанныеLabel and ДанныеLabel2.

The following are the specific properties available in the property editor. Hidden properties can be shown by using the Show all command in the context menu of the property editor.

Data

Link

  • ДанныеLinked Object (XLink): it indicates the source object of the App Link; this can be an entire object, or a subelement of it (vertex, edge, or face).
  • ДанныеLink Transform (Bool): it defaults to false, in which case the Link will override the ДанныеLinked Object's own placement. If it is set to true, the Link will be placed in the same position as the ДанныеLinkedObject.
  • ДанныеPlacement (Placement): the placement of the Link.
This property will change to ДанныеLink Placement if ДанныеLink Transform is set to true; in this case, the ДанныеLink Placement constitutes an offset applied on top of the ДанныеPlacement of the ДанныеLinked Object.
  • ДанныеShow Element (Bool): it defaults to true, in which case the tree view will show the individual Link copies, as long as ДанныеElement Count is 1 or larger.
  • ДанныеElement Count (IntegerConstraint): it defaults to 0. If it is 1 or larger, the App Link will behave like an array, and will duplicate the same ДанныеLinked Object many times. If ДанныеShow Elements is true, each element in the array will be displayed in the tree view, and each can have its own ДанныеPlacement modified. Each Link copy will have a name based on the Link's Name, augmented by _iN, where N is a number starting from 0. For example, with a single Link, the copies will be named Link_i0, Link_i1, Link_i2, etc.
  • ДанныеLink Execute (String): name of the execute function that will run for this particular Link object. It defaults to 'appLinkExecute'. Set it to 'None' to disable it.
  • ДанныеScale (Float): it defaults to 1.0. It is a factor for uniform scaling in each direction X, Y, and Z. For example, a cube of 2 mm x 2 mm x 2 mm, that is scaled by 2.0, will result in a shape with dimensions 4 mm x 4 mm x 4 mm.
  • ДанныеScale List (VectorList): the scale factor for each Link element.

Hidden Data properties

  • Данные (Hidden)Colored Elements (LinkSubHidden): list of Link elements that have had their color overriden.
  • Данные (Hidden)Scale Vector (Vector): the scale factor for each component (X, Y, Z) for all Link elements when ДанныеElement Count is 1 or larger. If ДанныеScale is other than 1.0, this same value will be used in the three components.
  • Данные (Hidden)Visibility List (BoolList): (read-only) the visibility state of each Link element, either true or false.
  • Данные (Hidden)Placement List (PlacementList): (read-only) the placement for each Link element.
  • Данные (Hidden)Element List (LinkList): the list of Link elements.
  • Данные (Hidden)_LinkTouched (Bool):
  • Данные (Hidden)_ChildCache (LinkList):

The App Link object will additionally show the properties of the original ДанныеLinked Object, so the property editor may have groups of properties like Attachment, Base, Box, Draft, etc.

View

Link

  • ВидDraw Style (Enumeration): it defaults to None; it can be Solid, Dashed, Dotted, Dashdot.
  • ВидLine Width (FloatConstraint):
  • ВидOverride Material (Bool): it defaults to false; if set to true it will override the ДанныеLinked Object's material.
  • ВидPoint Size (FloatConstraint):
  • ВидSelectable (Bool):
  • ВидShape Material (Material): this property includes sub-properties that describe the ВидDiffuse Color, ВидAmbient Color, ВидSpecular Color, ВидEmissive Color, ВидShininess, and ВидTransparency.

Base

  • Вид (Hidden)Child View Provider (PersistentObject):
  • Вид (Hidden)Material List (MaterialList):
  • Вид (Hidden)Override Color List (ColorList):
  • Вид (Hidden)Override Material List (BoolList):

Display Options

  • ВидDisplay Mode (Enumeration): Link or ChildView.

It will additionally show the view properties of the original ДанныеLinked Object.

Information