Hi all,
After mirroring an entire Revit model (using Revit’s native mirror functionality), I run a custom script that imports and replaces window instances with correct left/right variants (e.g., switching from Window:L
to Window:R
).
During this process:
- Slanted/angled windows are mirrored correctly back into their intended orientation.
- But rectangular windows (standard 90° upright) do not mirror back — they remain in a flipped or incorrect state.
All window families are built the same way:
- Consistent origin point
- Proper reference planes
- Symmetrical insertion
- No special constraints or parameters on the slanted ones
The script uses NewFamilyInstance
to insert the replacement window and may apply flipHand()
and/or flipFacing()
based on the original instance.
I also experimented with ElementTransformUtils.MirrorElement()
and manual mirror-point calculations with mixed results.
Question: Why would slanted windows behave as expected, but rectangular ones don’t, despite identical family construction?
Could this be related to the geometry alignment, the way reference planes are picked up, or something deeper in Revit’s internal orientation logic?
Thanks in advance for any insight!