Std LinkMake: Difference between revisions

From FreeCAD Documentation
(The following are the specific properties available in the property editor.)
(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)
Line 14: Line 14:


<!--T:3-->
<!--T:3-->
{{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 so that a single object can appear multiple times in an efficient manner. This is helpful to add screws, bolts, washers, nuts, and other subassemblies to a bigger [[assembly|assembly]].
{{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 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.


<!--T:4-->
<!--T:4-->
For simple duplication of objects, see {{Button|[[File:Draft_Clone.svg|16px]] [[Draft_Clone|Draft Clone]]}}, {{Button|[[File:Draft_Array.svg|16px]] [[Draft_OrthoArray|Draft OrthoArray]]}}, and the other array commands.
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.


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_PathArray.svg|16px]] [[Draft_PathArray|Draft PathArray]]}}, {{Button|[[File:Draft_PolarArray.svg|16px]] [[Draft_PolarArray|Draft PolarArray]]}}, and others.
<!--T:5-->
<!--T:5-->
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]]}}.
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]]}}.

Revision as of 04:35, 10 September 2020

Std LinkMake

Menu location
None
Workbenches
All
Default shortcut
None
Introduced in version
0.19
See also
Std Part, Std Group, PartDesign Body

Description

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 DataElement 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 PathArray, Draft PolarArray, and others. 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.

Usage

  1. Select an object for which you wish to make a Link.
  2. Press the Std LinkMake button. If no object is selected, an empty Link will be created.

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 DataLabel and DataLabel2.

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

  • DataLinked 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).
  • DataLink Transform (Bool): it defaults to false, in which case the Link will override the DataLinked Object's own placement. If it is set to true, the Link will be placed in the same position as the DataLinkedObject.
  • DataPlacement (Placement): the placement of the Link. This property will change to DataLink Placement if DataLink Transform is set to true; in this case, the DataLink Placement constitutes an offset applied on top of the DataPlacement of the DataLinked Object.
  • DataShow Element (Bool): it defaults to true, in which case the tree view will show the individual Link copies, as long as DataElement Count is 1 or larger.
  • DataElement 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 DataLinked Object many times. If DataShow Elements is true, each element in the array will be displayed in the tree view, and each can have its own DataPlacement 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.
  • DataLink 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.
  • DataScale (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.
  • DataScale List (VectorList): the scale factor for each Link element.

Hidden Data properties

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

The App Link object will additionally show the properties of the original DataLinked Object, so the property editor may have groups of properties like Attachment, Base, Box, Draft, etc.

View

  • ViewDraw Style:
  • ViewLine Width:
  • ViewOverride Material:
  • ViewPoint Size:
  • ViewSelectable:
  • ViewShape Material:

It will additionally show the view properties of the original DataLinked Object.

Information