Assembly Mirror
Create mirrored instances of symmetric and asymmetric parts, surfaces, or subassemblies. Specify the mirror plane and selected instances to mirror. Use the mirror strategy table to control the method in which instances are mirrored, either via transform of the selected instance or using a new instance of an existing or newly created part. Optionally, adjust symmetric part placement.
If the mirrored subassembly has motion, that motion is mirrored as well. However, since Mates are not recreated. The mirrored subassembly does not move independently. It follows the movement of the original subassembly.
If the part or subassembly being mirrored exists as a versioned part in the linked document, an instance is created from the linked document at that version, and the current document references the linked document version.
If the part or subassembly instance being mirrored is a linked version and does not exist, when it is created, the mirrored part or subassembly is automatically versioned in the linked document, and then the current Document is automatically versioned. In this way, the version structure is maintained between the linked references. See Assembly mirror and versions for a complete explanation.


- Click the Assembly mirror icon (
).
- Select the Instances to mirror from the Instances list or graphics area. This can be any combination of part, surface, or subassembly instances.
- Click in the Mirror plane field, then hover over a plane, edge, or planar face in the graphics area to automatically activate selection of an implicit Mate connector about which to mirror. You can also select any explicit Mate connector in the graphics area.
Alternatively, click the Select mate connector icon (
) in order to select implicit Mate connectors.
Optionally, once a Mate connector is selected, click the Mate connector icon in the Mirror plane field (outlined below) to open a dialog in which to edit the Mate connector:
-
The Mirror assembly tool automatically sets the Mirror action in the Mirror strategy table to Transform, which copies and transforms the assembly instance.
-
Optionally, click the Mirror strategy to access the Mirror strategy dialog.
-
Click the Placement type dropdown to select an alternate placement for the mirrored instance, if required.
Placement type allows the selection of an assumed plane of symmetry at the bounding box or plane's origin. Options are Auto position (same as Bounding box ZX), Bounding box XY, Bounding box YZ, Bounding box ZX, Origin XY, Origin YZ, and Origin ZX.
Placement types when mirroring a symmetric part: Auto/Bounding box ZX (top left), Bounding box XY (top right), Bounding box YZ (middle left), Origin XY (middle right), Origin YZ (bottom left), origin ZX (bottom right).
-
Click the Mirror action dropdown and select Derived, if required. This is an alternate method for determining how the mirror instance is created.
In most situations, Derived is not necessary for symmetric instances. Derived is the preferred method to create asymmetric handed instances.
-
If the mirrored instance exists in a Part Studio in the current Document, it is used for the new instance:
-
If a mirrored instance does not exist, click the Update button in order to create a new instance:
-
A new part is created in a folder in the current Document. This new part is created via the Derived feature, and the derived part has -Mirrored applied as a suffix to its Name property:
-
-
-
Click the checkmark (
) to accept the Assembly mirror.
-
The Assembly mirror is located in the Instances list and can be expanded to display the instance(s) underneath:
Generally, it is easier to select components to mirror from the Instances list.

A plane model is used for the following procedure. The Assembly mirror creates a mirrored copy of the left wing structure to create the right wing:
- Click the Assembly mirror icon (
).
- Select the Instances to mirror from the Instances list or graphics area. This can be any combination of part, surface, or subassembly instances.
- Click in the Mirror plane field, then hover over a plane, edge, or planar face in the graphics area to automatically activate selection of an implicit Mate connector about which to mirror. You can also select any explicit Mate connector in the graphics area.
Alternatively, click the Select mate connector icon (
) in order to select implicit Mate connectors.
Optionally, once a Mate connector is selected, click the Mate connector icon in the Mirror plane field (outlined below) to open a dialog in which to edit the Mate connector:
In our example, the tail face is selected, which creates an implicit mate connector used for the mirror plane:
-
Click the Mirror strategy field to open the Mirror strategy table:
-
Review the instances list and ensure that each instance has the correct Mirror action. In most cases, symmetric parts can use the Transform method, while asymmetric parts should use the Derived method.
Onshape does its best to determine the appropriate Mirror action for each instance. However, this may not always provide the desired result. For example, you may find a spring instance set to Derived when it does not require handedness. It is important to review the Mirror action for all instances in the table.
-
If the mirrored instance exists in a Part Studio in the current Document, it is used for the new instance:
-
If a mirrored instance does not exist, an information icon (
) is displayed explaining that a new instance is needed:
-
-
Optionally, for each symmetric part, click the Placement type dropdown to select an alternate placement for the mirrored instance.
Placement type allows the selection of an assumed plane of symmetry at the bounding box or plane's origin. Options are Auto position (same as Bounding box ZX), Bounding box XY, Bounding box YZ, Bounding box ZX, Origin XY, Origin YZ, and Origin ZX.
Placement types when mirroring a symmetric part: Auto/Bounding box ZX (top left), Bounding box XY (top right), Bounding box YZ (middle left), Origin XY (middle right), Origin YZ (bottom left), Origin ZX (bottom right).
-
Once each instance in the table is reviewed to ensure its correct Mirror action and Placement type is applied, click the Update button. The following actions happen in order for all the missing references in the Mirror table:
-
New parts are derived from the mirror operation.
-
The parts are mirrored.
-
The parts are added to a single Part Studio tab in the current Document.
-
This Part Studio tab is placed in a Mirrored folder using the name [parts name]-Mirrored.
-
Assuming parts are created for missing references in a subassembly, a new Assembly is created and added to the Mirrored folder with the name [subassembly name]-Mirrored.
-
Parts and Assemblies created for missing references are inserted in the current Document's Assembly as instances under Mirror in the Instances list, and the derived Assembly and parts have -Mirrored applied as a suffix to their Name properties:
See Derived for more information.
-
-
Click the checkmark (
) to accept the Assembly mirror.
The following shows our example, with both wing structures. The right wing structure is comprised of the Mirror 1 > Wing structure-Mirrored <1> instances shown in the image above.
Generally, it is easier to select instances to mirror from the Instances list, especially full subassemblies. Cross-highlighting between the instances in the list and in the graphics area helps to visually determine which instances are selected.
For this example, since the left wing is contained in a subassembly, the only instance that needs to be selected is the Wing structure subassembly in the instances list:

The Mirror strategy table contains the following information:
-
Instance - Non-editable list of the instances to mirror.
-
Source - Non-editable list of the instance version selected in the Mirror tool's Instances to mirror field.
-
Symmetry - Non-editable list of the symmetry (or asymmetry) of each instance.
-
Mirror action - Determines the method used to mirror each instance, either:
-
Transform - Transforms the Instances to mirror. Instances are copied and transformed in the current Assembly.
-
Derived - Creates a new part derived from the mirror operation. The part is mirrored and placed in a Part Studio tab in a folder in the current Document. This part is then instanced in the current Assembly under the Assembly mirror in the Instances list.
If the derived part or Assembly does not exist, an error is displayed in the Mirror reference column. Click the Update button to create the missing reference. This derived Part Studio or Assembly is then used for the Assembly mirror.
If the derived part or subassembly does not have a current version, one will be created prior to creating the derived part or subassembly. Caution should be used when deriving a large number of parts and/or subassemblies, as this can result in the creation of several new versions.
-
-
Mirror reference - Reference used for each instance. Click on the reference to open it in a new tab. If a reference is missing, an information icon (
) is displayed explaining that a new instance creation is needed.
The total number of instances that need to be created is listed along the bottom left of the dialog. To correct the errors, click the Update button, which creates new instances.
-
Placement type - Determine a location for the mirrored instance. Selects an assumed plane of symmetry at the bounding box or plane's origin. Options are Auto position (same as Bounding box ZX), Bounding box XY, Bounding box ZX, Origin XY, Origin YZ, and Origin ZX.
-
Update - This button creates new instances for all those that have Derived set as a Mirror action. When this button is pressed, the following actions happen in order, for each table item that needs a new instance:
-
New parts are derived from the mirror operation.
-
The parts are mirrored.
-
The parts are added to a single Part Studio tab in the current Document.
-
This Part Studio tab is placed in a Mirrored folder using the name [parts name]-Mirrored.
-
Assuming parts are created for missing references in a subassembly, a new Assembly is created and added to the Mirrored folder with the name [subassembly name]-Mirrored.
- Parts and Assemblies created for missing references are inserted in the current Document's Assembly as instances under Mirror in the Instances list.
See Derived for more information.
-

Depending on the instances that are being mirrored, automatic versions of the linked and current Documents may be created.
Example showing a Mirror with 4 versioned parts. The first part (Part 1 <1>) is asymmetric and requires a new instance. The remaining 3 parts are symmetric and are transformed.
If the part or subassembly being mirrored exists as a versioned part in the linked document:
-
An instance is created from the linked document at that version.
-
The current document references the linked document version. This can be seen in the Mirror strategy table's Source column for each instance:
The Mirror strategy table displays the referenced version for each instance.
The linked document for the Socket button head screw (second Instance in the Mirror strategy table above) shows the version (V18).
If the part or subassembly instance being mirrored is a linked version and does not exist, when it is created via the Update button, the newly created mirrored part or subassembly is automatically versioned in the linked document. The current Document is also automatically versioned, so that the version structure is maintained. Here is what happens, in order:
-
A new part is derived from the mirror operation.
-
The part is mirrored.
-
The part is added to a single Part Studio tab in the linked Document as a Derived mirror, using the name [parts-name]-Mirrored. If this is a subassembly, a new Assembly is created in the linked Document using the name [subassembly name]-Mirrored.
-
An automatic version is created for the part in the linked document.
Updating the created instance for Part 1 <1> from the Mirror strategy table above. The new Part Studio tab (Part Studio1-Mirrored) is created in the linked document, and an automatic version is created (V2).
-
The part is added to a single Part Studio tab in the current Document using the name [parts-name]-Mirrored. If this is a subassembly, a new Assembly is created in the linked Document using the name [subassembly name]-Mirrored.
-
The part or assembly is inserted in the current Document's Assembly as an instance under Mirror in the Instances list.
-
An automatic version is created in the current Document.
The automatic version (V2) created in the current document.

Symmetric mirror of a part or surface (via Transform)
Mirror a symmetric part from the Instances list:
Mirroring a subassembly
Mirror a subassembly from the Instances list. This mirror uses the Mate connector as the Mirror plane:
Mirrored movement
The model displays how movement works after it is mirrored. If the mirrored subassembly has motion, that motion is also mirrored. However, since Mates are not recreated, the mirrored subassembly does not move independently. It follows the movement of the original subassembly:

Please be advised of the following important information when using Assembly mirror:
-
Do not transform parts in a mirrored part studio or assembly, as this causes the top level mirror solve position to change.
-
It is highly recommended to only mirror fully constrained subassemblies. Mirroring unconstrained subassemblies results in a limited ability to solve unconstrained parts.
-
Configurations are also mirrored with any part or subassembly that contains them. All configuration inputs are generated for the mirrored instances. The derived Part Studios and Assemblies' configuration tables and inputs are view only, and are referenced from the source Part Studio/Assembly. Configuration tables and inputs must be edited from their source Part Studio/Assembly tab.
-
If and when parts and subassemblies are created via the derived mirror, they appear as any other parts and assemblies. The only way currently to distinguish them from other parts and assemblies is via the -Mirrored suffix in their tab's name and the Derived mirror feature in the Features list.
-
If you collaborate with multiple people on the same document, it is important to ensure that everyone is aware that these automatic references are being created. Otherwise, you can potentially end up in a conflicting situation where one person is working on a part while another person is mirroring it.
-
If the Mirror strategy dialog shows an information icon in the Mirror reference field, this is because there are asymmetric instances that have missing mirror references. See Mirror strategy table for more information.

-
Parts can exist outside the Assembly.
-
Composite parts can be mirrored.
-
You can add instances to an Assembly mirror after it is created.
-
If an original part is modified from being symmetric to asymmetric (or vice versa) after a mirror is performed, the part's symmetry is updated in the Mirror strategy table. However, the Mirror action is not updated to Derived (or Transform, depending).
-
You can open the Mirror strategy table from the Mirrored subassembly and update the Mirror action and Placement (for transformed instances). Use the Mirror reference links to open their corresponding Part Studio in a new browser tab.
-
You can part out any of the new Mirrored tabs using the Move to document option from the tab's right-click context menu. The tab is moved, along with any of its referenced tabs, so that both the original and mirrored parts are moved in tandem:
-
When using Release management with Assembly mirror, it is recommended to first perform any mirror operations before releasing the completed model.
-
When creating new instances, all original part properties are duplicated in their corresponding mirrored parts. After creation, you can go into their properties and update them as needed.

iOS and Android support for Assembly mirror is limited to viewing mirrored instances created from the desktop (browser) platform only.