Documentation
About Archicad's documenting tools, views, model filtering, layouts, publishing, etc.

Story Marker Autotext

Lingwisyer
Guru
Hi all,

Is there a way to have the story levels displayed as "RL+..."? I figured that I would be able to use the <toAltvalue> autotext but the marker does not recognise it and hence just returns it as a text line...



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
13 REPLIES 13
Lingwisyer
Guru
Solved in GDL by modifying lines 89 to 92 in the 2D script to return "RL +" + textElevation instead of "+" + textElevation when the reference is set to Sea Level.



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
Anonymous
Not applicable
Hi Ling,
I just found this old thread as I was also trying to find a way to add the "RL" prefix to my story settings. I cannot find the gdl file that contains the code you describe. I have extracted the Archicad 22 Library, but am stumped.
What is the name of the file is the file that you edited?

Thanks,
Graeme
Lingwisyer
Guru
I think this might have been in a Custom Story Marker of which I believe I had based on the default AC21 one. The default marker does not seem to have this ability and my custom one does. I cannot remember where that default one is located though, probably somewhere under "ArchiCAD21 Library => Object Library 21 => Object Library 21 => Macros 21". If so, the line references are actually from the Master Script and may not line up as I have added things in but I appears to be pretty close.

Unsure whether I can share my object here as my guess is that more than half of the Master Script a direct copy of theirs, even if the 2D script is completely different. The sharing policy still is not very clear...



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
Anonymous
Not applicable
Hi Ling,

I am happy to do my own GDL editing, but I cannot find any file in the default AC22 library that controls the story settings. It must have an odd name that is not obvious to me.
If you can tell me the name of the GDL file that you edited, that would help me.

Thanks,
Graeme
Lingwisyer
Guru
My object is a new file. I think I copied bits from the GS markers. Basic Story Marker?



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
Anonymous
Not applicable
Thanks for the reply. I finally found it - I had to locate it via the 'Open object by sub-type' command in the GDL toolbar (I was trying to locate the gsm file on the hard disk, but it is hidden). I created a clone "Built-in Story Marker.gsm".

I will read through it and see what I can do to edit as I wish.
Lingwisyer
Guru
I had forgotten about the "open object by sub-type" option...

I think I changed to following lines

if bShowPlus then
	if name_place_int = 2 then	! On The line
			if AC_StoryElevation > 0 then txt_str_d = "+" + txt_str_d
			if abs(AC_StoryElevation) < EPS then txt_str_d = "±" + txt_str_d
		else
			if AC_StoryElevation > 0 then txt_str_u = "+" + txt_str_u
			if abs(AC_StoryElevation) < EPS then txt_str_u = "±" + txt_str_u
	endif
endIf

to

If lvlRL = 1 then
		lock "bShowPlus"
			if name_place_int = 2 then	! On The line
					if AC_StoryElevation + GLOB_PROJECT_ALTITUDE > 0 then txt_str_d = "RL +" + txt_str_d
					if abs(AC_StoryElevation + GLOB_PROJECT_ALTITUDE) < EPS then txt_str_d = "RL ±" + txt_str_d
					if AC_StoryElevation + GLOB_PROJECT_ALTITUDE < 0 then txt_str_d = "RL " + txt_str_d
				else
					if AC_StoryElevation + GLOB_PROJECT_ALTITUDE > 0 then txt_str_u = "RL +" + txt_str_u
					if abs(AC_StoryElevation + GLOB_PROJECT_ALTITUDE) < EPS then txt_str_u = "RL ±" + txt_str_u
					if AC_StoryElevation + GLOB_PROJECT_ALTITUDE < 0 then txt_str_u = "RL " + txt_str_u
			endif
	else
		if bShowPlus then
			if name_place_int = 2 then	! On The line
					if AC_StoryElevation > 0 then txt_str_d = "+" + txt_str_d
					if abs(AC_StoryElevation) < EPS then txt_str_d = "±" + txt_str_d
				else
					if AC_StoryElevation > 0 then txt_str_u = "+" + txt_str_u
					if abs(AC_StoryElevation) < EPS then txt_str_u = "±" + txt_str_u
			endif
		endIf
endif

lvlRL being a new parameter used to toggle the display of "RL" depending on the markers reference. There might be a way to directly reference the reference level point to get it to toggle this automatically.



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
Anonymous
Not applicable
Hi Ling,

Thanks for that, but I had already accomplished a similar result with a slightly different approach. I created a new parameter for the text prefix "iElevationPrefix" with options 'RL', 'SFL' or 'FFL'. I was able to modify the interface script as well so I can select it there if I want it.

Just tested it and it works nicely!

Regards,
Lingwisyer
Guru
Nice. I had not started looking at the interface script when I made my marker. Might eventually get around to updating it, or integrating my scripts into theirs.



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