Duplicate object Multiple Times with Std LinkMake in FreeCAD

Freecad main blog post image

Std LinkMake is a powerful feature in FreeCAD that creates a Link (a reference) to an existing object instead of duplicating its geometry. Links are lightweight, memory-efficient, and update automatically when the original object changes.

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.

Use Cases for Std LinkMake in FreeCAD-:

  1. Creating Arrays & Patterns

    • Use with Draft Array or PartDesign PolarPattern for efficient duplication.

    • Example: Bolts in a flange, repeated columns in architecture.

  2. Assemblies

    • Reuse the same part (e.g., screws, nuts) multiple times without memory bloat.

  3. Referencing External Files

    • Link objects from another FreeCAD file (useful for modular designs).

  4. Non-Destructive Editing

    • Modify the original, and all linked instances update automatically.

Std link mate in freecad

How to Create a Std LinkMake in FreeCAD-:

GUI Method-:

  1. Select an object in the Model Tree or 3D View.

  2. Click Menu → Std → LinkMake (or press the Link button in the toolbar).

  3. A new Link object appears in the tree (indicated by a small arrow icon ➔).

Python Console Method-:

import FreeCAD as App
doc = App.ActiveDocument
obj = doc.MyObject  # Original object
link = doc.addObject("App::Link", "MyLink")
link.LinkedObject = obj  # Set the linked object
doc.recompute()

Key Features of Std LinkMake in FreeCAD-:

✔ Parametric: Changes to the original propagate to all linked copies.
✔ Memory Efficient: Links reuse geometry data instead of duplicating it.
✔ Transformable: Each link can have its own placement (position, rotation, scale).
✔ Supports Arrays & Assemblies: Useful for patterns (e.g., bolts in a circular pattern).
✔ Works Across Documents: Links can reference objects in other .FCStd files.

Link Properties & Customization-:

In the Property Editor, a Link has:

  • Linked Object: The source object being referenced.

  • Placement: Adjust position, rotation, and scale independently.

  • Show Element: If the source is a compound (e.g., a Part container), you can select which sub-shape to display.

  • Link Transform: Apply scaling/rotation relative to the original.

How to use Std LinkMake in FreeCAD-:

With selection:

  1. Select an object in the tree view or 3D view for which you wish to create a Link.
  2. Press the  Make link 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  Make link 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. This can also be done with  Std LinkMakeRelative.

Use Cases for Std LinkMake in FreeCAD-:

Link vs. Clone vs. Simple Copy

Feature Link Clone Simple Copy
Parametric ✅ Yes ✅ Yes ❌ No
Memory Usage ⚡ Low ⚡ Low 🟡 Medium
Editable Placement ✅ Yes ✅ Yes ❌ No (fixed)
Cross-Document ✅ Yes ❌ No ❌ No
Shape Modification ❌ No* ✅ Yes** ✅ Yes

*Links cannot modify the original geometry but can apply transforms (scale/rotate).
**Clones can apply modifiers (e.g., Part Offset) while staying parametric.

Limitations & Troubleshooting of Std LinkMake in FreeCAD-:

 Circular References: Avoid linking objects in a loop (FreeCAD may crash).
⚠ Broken Links: If the source object is deleted, the link becomes invalid.
⚠ Performance: Too many links in complex assemblies may slow down rendering.

“Thank you for reading! If you found this article insightful and valuable, consider sharing it with your friends and followers on social media. Your share can help others discover this content too. Let’s spread knowledge together. Your support is greatly appreciated!”

Amar Patel
About Amar Patel 256 Articles
Hi, I am Amar Patel from India. Founder, Author and Administrator of mechnexus.com. I am a Simple Average Man who Loves life and Love living life. Professionally I am a Mechanical Engineer with Solid command over CAD software like FreeCAD, SolidWorks, Autodesk Inventor and AutoCAD Mechanical. I’m here to share my knowledge to help you accomplish your design and engineering tasks quicker and easier. I am Passionate about learning new things especially about Open-Source Software. I love teaching therefore I started my YouTube Channel on FreeCAD and I believe FreeCAD have lots of potential than traditional 3D software. contact me - [email protected]