Std LinkMake

From FreeCAD Documentation
Revision as of 19:06, 10 September 2020 by Renatorivo (talk | contribs) (Marked this version for translation)

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 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 DataLinked 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 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

Link

  • ViewDraw Style (Enumeration): it defaults to None; it can be Solid, Dashed, Dotted, Dashdot.
  • ViewLine Width (FloatConstraint):
  • ViewOverride Material (Bool): it defaults to false; if set to true it will override the DataLinked Object's material.
  • ViewPoint Size (FloatConstraint):
  • ViewSelectable (Bool):
  • ViewShape Material (Material): this property includes sub-properties that describe the ViewDiffuse Color, ViewAmbient Color, ViewSpecular Color, ViewEmissive Color, ViewShininess, and ViewTransparency.

Base

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

Display Options

  • ViewDisplay Mode (Enumeration): Link or ChildView.

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

Information