Blog · STEP · 1 Oct 2026 · 3 min read
When does a mirrored plate need its own drawing? Left-hand parts explained
In a mirrored assembly, some plates can just be turned over and some must be cut as a separate left-hand part. A bevel or countersink on one face decides it, and the flat outline cannot see it. The five verdicts our check gives, the 1 mm tolerance, and the copied part that passed four checks and would have been cut backwards.
Short answer: a plate needs its own left-hand (-SX) version only if something makes one face different from the other: a bevel on part of an edge, a bevel angle that changes along one edge, a countersink on one face, an off-axis hole. If turning it over gives the same part, double the quantity instead. The check: does the part's 3D shape match its own mirror image under a proper rotation? If not, it is chiral and needs an -SX.
Five verdicts
| Verdict | Meaning | Action |
|---|---|---|
| MIRRORABLE | The mirror is the same part turned over | Quantity × 2 on the base drawing |
| NEEDS_SX | The mirror is a different part | A separate -SX drawing and cell |
| TWIN of another code | The mirror has the shape of another existing part | Two correct options; a person chooses. For cutting they are equivalent |
| BY HAND | Too complex for the check | A person decides |
| MIXED GROUP | A group of "identical" parts contains mirrored ones | Split the group |
What breaks symmetry, and what does not
- Different bevel angles and signs at the two ends of a bar, each across its whole end: does not break symmetry.
- A bevel on part of an end, an angle that changes along one end, an off-axis hole: does.
The test
def compare(A, B):
"""IDENTICAL / MIRRORED / DIFFERENT"""
P, Q = center(A), center(B)
if match(P, Q): # proper rotation only (det +1)
return "IDENTICAL"
if match(center(mirror(A)), Q): # mirror: negate x
return "MIRRORED"
return "DIFFERENT"
def chiral(A):
return not match(center(A), center(mirror(A)))
The tolerance: 1 mm
The tolerance is the same as for bevels: a bevel that moves a vertex by 1 mm or less is not a bevel. With 0.3 mm the check flagged a whole family of 8 mm plates with 1° to 6° bevels as NEEDS_SX: their vertices moved 0.09 to 0.85 mm.
Validation: against a booklet made by hand by an experienced designer, 118 of 123 parts agreed. The disagreements were -SX parts missing from the hand-made version.
The copied part that passed four checks
Four automatic checks looked at register data: codes, quantities, sheets, notes. An -SX that was copied but not mirrored passed all four, and a plate would have been cut backwards. That is why the geometric check exists, and why it runs last.
Making the -SX cell
Mirror the base cell geometry, then set texts and dimensions upright again: they must not be mirrored. Inventor stores vertical text in text_direction, not rotation, so read both.
Open the model read-only, close without saving, and compare an MD5 of the model file before and after.
Do and don't
Do
- Decide on the 3D shape, not the flat outline.
- Use a tolerance that matches what counts as a bevel.
- Check the -SX geometry is actually mirrored.
Don't
- Don't double the quantity of a chiral part.
- Don't mirror texts and dimensions.
- Don't trust register checks to catch geometry errors.
Questions people ask
How many parts usually need an -SX? It depends on how many have one-sided features. Plain plates almost never do; bevelled ones often do.
Can an AI agent decide this? It runs the check and proposes. Twins and hand cases go to a person. Related: counting quantities with -SX parts and bevel signs on drawings.