We value your input!
Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey

Project data & BIM
About BIM-based management of attributes, schedules, templates, favorites, hotlinks, projects in general, quality assurance, etc.

Hotlinked Modules - Mirrored / Flipped Status

JoeA
Booster

Q: Is there a way to query if a hotlinked module is in its "natural" orientation or is "flipped"?

 

I could not identify a parameter that provides this information.  (I am looking for a parameter similar to the "symb_rotangle" global variable for gdl objects.)

 

This would assist with scheduling modules such as a kitchen and bathroom layouts in a multi-family project to identify if the module is mirrored.  Any suggestions would be appreciated.

 

Joe A.

ArchiCAD since 8.0 

 

Operating system used: Mac Apple Silicon

5 REPLIES 5
scottjm
Advisor

Frustratingly no. 
What I have done in the past is added a coding into the Hotlink Master ID like {M} and then used to if statements in GDL labels to recognise this. 
you could potentially use a property expression to find this coding in the Hotlink Master ID

Scott J. Moore | Fulton Trotter Architects | BIM Manager, Associate, Architect
Since AC13 | Current versions AC23.7000 & AC26.5002 | BIMCloud Basic | Python, GDL, VBA, PHP, SQL, CSS
Certified Graphisoft BIM Manger (2022)
Win 10, i9-9900K, 32GB, Quadro P2200, 500GB NVMe

If there is no better way: a workaround could be to publish say the K1R (R = right) module and place it into another module-publishing story, mirror it on its own publishing story, and publish that as K1L. If module publishing is set up in Publisher, this minimal and bulletproof additional initial setup will simplify downstream setup and trouble a lot. 

 

Also, any label that does not mirror quite right, or any element specific to K1L, can be skipped from the layer combination used for publishing the K1R-to-K1L “process” module (which does not need to be the same as the combination used for publishing the K1R module, for placement into the host building file), and reside locally in each of K1R and K1L. 

stoneunturned
Enthusiast

I've been working on a small custom 'flip label' object which displays differing text strings depending on if symb_mirrored = 1 or 0

This is so i can display -on a plan- if a nested kitchen module is handed(mirrored) or not, without having to do it manually on huge multiresidential projects where we have a mix of mirrored and non-mirrored units.

This part of the equation works well.

 

_edited to add that i do this for mirrored/nonmirrored kitchens AND units in huge multiresidential projects, also it sounds like the bug, that has been identified below, might enable this automated workflow for these large multiresidential projects_

 

 

The idea is to then schedule the flip object from a hotlink and display it next to related zone number to display a complete list of which units are handed or not handed. The handedness of the object using the script below only schedules if it is placed in the host file, but is blank in the schedule if the object is contained within a hotlink.

I dont know why.

 

 

if SYMB_MIRRORED = 0 then
parameters handed = 0
else
parameters handed = 1
endif

 

 

in the schedule the library part boolean 'handed' is added to the Fields list, but does not display anything if from a hotlink source.

Help me fix the damn Publisher, upvote my wish (otherwise ill never get back the time spent writing out the wish)
https://community.graphisoft.com/t5/Wishlist/Finish-the-damn-publisher/idi-p/637915


Win11 AC28 3001 NZE FULL
Dell G15 Laptop: i7-12700h, RTX 3060, 64GB DDR5
Thunderbolt 4 to 2 screens, HDMI to a 3rd screen. Laptop lid remains closed.
3dconnexion mouse and keyboard

Peter Baksa
Graphisoft
Graphisoft

Hi @stoneunturned ,

 

this is not an IES-only issue. Parameters of objects in a module don't change, they are set when the module is saved.

The GDL scripts use those parameter values, parameter script is not run again. But GDL globals are calculated in the host file, this can lead to inconsistent state if globals are used in the parameter script. I will report this as a bug.

Péter Baksa
Software Engineer, Library as a Platform
Graphisoft SE, Budapest
stoneunturned
Enthusiast

Thank you Peter. Please report with urgency as small fixes like this one enable Archicad to be used well with large multiunit blocks more efficiently. As the others have demonstrated, cheap hacks to achieve this are as slow and cumbersome as just manually marking each and every unit (150+) as mirrored or not, and this is not acceptable.

 

Thanks again.

Help me fix the damn Publisher, upvote my wish (otherwise ill never get back the time spent writing out the wish)
https://community.graphisoft.com/t5/Wishlist/Finish-the-damn-publisher/idi-p/637915


Win11 AC28 3001 NZE FULL
Dell G15 Laptop: i7-12700h, RTX 3060, 64GB DDR5
Thunderbolt 4 to 2 screens, HDMI to a 3rd screen. Laptop lid remains closed.
3dconnexion mouse and keyboard

Setup info provided by author