Libraries & objects
About Archicad and BIMcloud libraries, their management and migration, objects and other library parts, etc.

Question about SYMB_MIRRORED ?

Nader Belal
Mentor
Hi there,

SYMB_MIRRORED is an Archicad Global Variable to indicate if the object have been mirrored.

My question, how to extract the mirror operation value ??

ie: was it mirrored on the X-axis, Y-axis, arbitrary axis .
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
7 REPLIES 7
runxel
Legend
Moonlight wrote:
My question, how to extract the mirror operation value ??
You have SYMB_MIRRORED and SYMB_ROTANGLE.
If the rotation angle is 180° (and symb_mirrored is set of course) you can tell it was mirrored a long the x-axis. If no rotation angle is set the mirror axis was the y-axis.

But I don't think you can tell what the very last operation was, since there is no way to compare between states in GDL.
Lucas Becker | AC 27 on Mac | Graphisoft Insider Panelist | Author of Runxel's Archicad Wiki | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text | My List of AC shortcomings & bugs | I Will Piledrive You If You Mention AI Again |

POSIWID – The Purpose Of a System Is What It Does /// «Furthermore, I consider that Carth... yearly releases must be destroyed»
Nader Belal
Mentor
That's why I think there should be a Global variable that can tell us the values
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
Barry Kelly
Moderator
I think you will find the object is always mirrored about the Y-axis when you look at it in the symbol 2D view of the script editor.
i.e. positive X becomes negative X.

Rotation of the object placed instance does not affect the mirroring, as it will always mirror along the original Y-axis of the object.

Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Nader Belal
Mentor
@Barry Kelly

Is there a way to make the object quasi (self-aware) of the mirrored value ?

Like what happens with rotation and XY position ?
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
Barry Kelly
Moderator
I”m not quite sure what you mean.
An object either is or isn’t mirrored.

You can always force an object not to mirror.
If it is mirrored you just MUL2 -1,1 in 2D and MULx -1 in 3D.


Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Nader Belal
Mentor
Example,

What if the the correct form to prevent mirror is mul2 1, -1?
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
Barry Kelly
Moderator
It is always mirrored in the x-axis (about the y-axis) so you only need to MUL the x value at the beginning of your script.

Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11