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

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

Reflected Ceiling Label Script Problem

Anonymous
Not applicable
Hello guys.

I'm getting quite into GDL scripting at the moment. But I need some help from an expert.

I have a Label that I am making. I'm hoping that in my RCP plans this label which will be associated to the slab, and that the height of the slab will show up as the height shown on the rcp plan.

So what I am trying to do is work out what the script for doing this would be.

Slab Global height - slab thickness??

If someone can help me out on this that would be muchly appreciated.

regards. Rob


3 REPLIES 3
GLOB_ELEVATION (aka J_) is the base elevation of an element relative to its home story. For a slab this refers to the top.

If you want to know the elevation of the bottom, that's GLOB_ELEVATION - SLAB_THICKNESS.

If you want the elevation relative to project zero, that's GLOB_CSTORY_ELEV (aka Q~) + GLOB_ELEVATION. (- SLAB_THICKNESS if desired)
James Murray

Archicad 27 • Rill Architects • macOS • OnLand.info
Anonymous
Not applicable
"James Murray" wrote:


If you want to know the elevation of the bottom, that's GLOB_ELEVATION - SLAB_THICKNESS.

Hi Murry.
Thanks alot for that. I assumed it was going to be something to do with Global something...

Another question. When I use this script, it only shows me the height in metres..

example, I have a 20mm slab set at 2720mm from floor level, but it will show up as 2.7 in the label tool. How do I get it to show 2700 as the height?

Thanks.
Units in text output is controlled by the format_string parameter of the STR statement. It starts on page 206 of the manual. It looks pretty hairy but the examples are plentiful. I think the format for whole mm is "%.0mm", but you should check.

So you could force your label to always display the dim in that format if you want.
heightValue= GLOB_ELEVATION-SLAB_THICKNESS
labelText=STR("%.0mm", heightValue)
TEXT2 0, 0, labelText
Another way is to have the label find out the current dimension units setting and use that format automatically.

heightValue= GLOB_ELEVATION-SLAB_THICKNESS
formatVar="" !! create string variable for request
dummy=REQUEST("Level_dimension","",formatVar) !! get format of dim
labelText=STR(formatVar, heightValue)
TEXT2 0, 0, labelText
The REQUEST finds out the dim format and puts it in "formatVar", then you use that in the STR instead of "%.0mm".
James Murray

Archicad 27 • Rill Architects • macOS • OnLand.info