- GuiCommand: Name: Std LinkMakeRelative MenuLocation: None Workbenches: All Version: 0.19 SeeAlso: Std_Part, Std_Group, Std_LinkMake
creates an App Link (App::Link
class), just like [ Std LinkMake, but it operates on selected subelements first, and sets the Link Transform to True
.
With selection:
- Select a subelement in the 3D view, this means a vertex, edge, or face, or any combination of these. These subelements must belong to a single object.
- Press the [ Make sub-link button. The produced object has the same icon as the original object, but has two arrow overlays indicating it is a relative Link.
Without selection:
- If no object is selected, this command does nothing.
- If an object is selected in the tree view only, but no subelement is selected in the 3D view, the command does nothing either.
<img alt="" src=images/Std_Link_tree_sublink_example.png ) ![](images/Std_Link_sublink_example.png style="width:500px;">
Original body, and three Links created from the subelements of it, including edges and faces.
This command creates a new App Link; its properties are described in [ Std LinkMake.
In particular, Link Transform is set to True
, so Placement becomes hidden, and instead Link Placement controls the position of the Link with respect to the position of Linked Object.
See Std LinkMake for the general information.
An App Link is created with the addObject()
method of the document. To define a relative link, its setLink
method is used to pick the source object, and one or more of its subelements. Then the LinkTransform
attribute is set to True
.
import FreeCAD as App
doc = App.newDocument()
body = App.ActiveDocument.addObject("Part::Box", "Box")
obj = App.ActiveDocument.addObject("App::Link", "Link")
obj.setLink(body, '', ['Edge1', 'Edge6', 'Edge7', 'Edge10', 'Face2', 'Face3'])
obj.LinkTransform = True
obj.LinkPlacement.Base = App.Vector(20, 20, 0)
App.ActiveDocument.recompute()
{{Std Base navi}}
⏵ documentation index > Std LinkMakeRelative