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

GDL
About building parametric objects with GDL.
SOLVED!

GDL: Hotspot Units

Lingwisyer
Guru

Hi all,

 

Is there a way to scale a parameter used by a dynamic hotspot? My parameters are in Layout units, so they are set to the View, and I would rather not need to make a set of intermediary parameters to convert it for graphical editing...

 

paramReference / GLOB_SCALE
HOTSPOT2 (marker_length) * GLOB_SCALE,	lsg_elevation,	lsg_uID,	marker_length / GLOB_SCALE,	2+1024	: lsg_uID = lsg_uID +1	!Left moving

 

 

Ling.

AC22-23 AUS 7000Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win11 | i9 10850K | 64GB | RX6600 Win10 | R5 2600 | 16GB | GTX1660
2 ACCEPTED SOLUTIONS

Accepted Solutions
Solution
runxel
Legend

Yes, there is a way: Add '1024' to the type bitmask. Then the parameter will be measured in paper space (not in model space).

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»

View solution in original post

Solution

It would appear that the reference guide description is inaccurate. 1024 works.

 

Flag 1024: use paramReference value as meters in paper space.

This line in the reference guide should be rewritten as:

 

Flag 1024: scale paramReference value to View scale

 

Ling.

AC22-23 AUS 7000Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win11 | i9 10850K | 64GB | RX6600 Win10 | R5 2600 | 16GB | GTX1660

View solution in original post

4 REPLIES 4
DGSketcher
Legend

I think the units are tied to the project working unit. As you have suggested the only way round that is with intermediate parameters and using the "displayParam" option in the Hotspot settings. 

Apple iMac Intel i9 / macOS Sonoma / AC27UKI (most recent builds.. if they work)
Solution
runxel
Legend

Yes, there is a way: Add '1024' to the type bitmask. Then the parameter will be measured in paper space (not in model space).

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»

Doesn't that just converts the input into meters, so scales the input by 1000. "Units" was probably the wrong word to be using... I am scaling to the Layout, so if the View is 1:50, I need to scale the input by 50, but if it's 1:20, I need to scale it by 20.

AC22-23 AUS 7000Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win11 | i9 10850K | 64GB | RX6600 Win10 | R5 2600 | 16GB | GTX1660
Solution

It would appear that the reference guide description is inaccurate. 1024 works.

 

Flag 1024: use paramReference value as meters in paper space.

This line in the reference guide should be rewritten as:

 

Flag 1024: scale paramReference value to View scale

 

Ling.

AC22-23 AUS 7000Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win11 | i9 10850K | 64GB | RX6600 Win10 | R5 2600 | 16GB | GTX1660