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

AC20 finally broke an object

I just discovered that my "Masterpost" object, which I've been using for at least a decade, is not displaying correctly anymore in AC20. (The 2D box for the post is not appearing, anymore.) I suspect that it is due some Global Variables being deprecated. The object was created in 2002 by Summit Studio, P.C. I have no idea how to change the code to make it work again, or how to get in touch with the original developer. It is unprotected and is a very simple object. For someone who knew what they were doing, I suspect that it's about a 15 min. task, but it is currently beyond me.

Suggestions for getting this fixed?
Richard
--------------------------
Richard Morrison, Architect-Interior Designer
AC26 (since AC6.0), Win10
8 REPLIES 8
sinceV6
Advocate
Hi.

You either need to post the object or the code to look at it and be able to help you.

Best regards.
I was reluctant to post this out of concern for violating intellectual property rights. But here's a snippet of the code with the deprecated GLOB_CH_STORY_DIST. What should I change or add to get this to work with AC20? Please keep in mind that you're dealing with someone who doesn't work with GDL on a regular basis.

if GLOB_CH_STORY_DIST=0 THEN
Line2 0,0,a,b
hotspot2 a,b
endif


!!!Point load text for floor below

PEN TPEN
if GLOB_CH_STORY_DIST<0 THEN
TEXTSTRING = PLTXT
IF PLTXT ="" THEN END
Line2 0,0,a,b
hotspot2 a,b

ENDIF


!!! calculate real text position and angles

alpha = atn(b/a)
if symb_mirrored = 1 then txtangle = symb_rotangle+180-alpha else txtangle = symb_rotangle+alpha

!!!Rotate and change handles for proper orientation on screen

IF 0 <= txtangle and txtangle <= 90 THEN GOSUB 10:
IF 270 < txtangle and txtangle <= 450 THEN GOSUB 10:
IF 90 < txtangle and txtangle <= 270 then gosub 20:
IF 450 < txtangle and txtangle <= 630 then gosub 20:
IF 630 < txtangle and txtangle <= 450 THEN GOSUB 10:

TEXT2 0,0,TEXTSTRING
add2 0,-hit
if GLOB_CH_STORY_DIST=0 then text2 0,0,Add_2txt

END
Richard
--------------------------
Richard Morrison, Architect-Interior Designer
AC26 (since AC6.0), Win10
Barry Kelly
Moderator
This looks like the 2D script so the problem shouldn't be there.
My understanding these GLOB variables are only deprecated in the parameter script or the master script when run as part of the parameter script.

If you go to the parameter and master scripts and press the 'Check script' button you should get an error message giving some clue as to where the problem is.

You may also want to try posting in the GDL Central forum as Graphisoft seem to monitor this more and seem willing to help out with problems like this.

http://gdl.graphisoft.com/forums/

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
Well, the 2D display is what I'm having a problem with. There should be a simple "box" where the post is, but right now there is no 2D display other than text and hotspots at the corners of the post.
Richard
--------------------------
Richard Morrison, Architect-Interior Designer
AC26 (since AC6.0), Win10
Barry Kelly
Moderator
The problem may appear in 2D because that is what you see but it has to run the master and parameter scripts first before the 2D and 3D scripts.
So the problem may still be in the parameter or master 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
Thanks Barry, but I don't think there is really anything in the master and parameter scripts that would cause a display problem in 2D. Mostly those are just text strings and size parameters that haven't been affected by any version change. I could be wrong, of course.
Richard
--------------------------
Richard Morrison, Architect-Interior Designer
AC26 (since AC6.0), Win10
Barry Kelly
Moderator
I found the problem (I had Richard send me the object).

In the 2D script is a PROJECT2, 3, 270, 0 command to show the post.

Works fine in all older Archicad versions but not in 20.
Needs to be ... PROJECT2, 3, 270, 2

Even though the GDL manual says if there is an invalid code then "2" will be used (see attached image).
I checked and it doesn't work with PROJECT2{2} either.

Barry.
PROJECT2.jpg
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
sinceV6
Advocate
Sorry I didn't reply sooner... got really busy and didn't check to be notified for replies.
Richard wrote:
I was reluctant to post this out of concern for violating intellectual property rights. ....
That was my assumption. It'll be a problem in the future if things keep evolving in the GDL side.
Barry wrote:
Even though the GDL manual says if there is an invalid code then "2" will be used (see attached image).
I checked and it doesn't work with PROJECT2{2} either.
So I guess it is either a new bug there not using the default or AC20 requires a valid code and the reference is not updated.

Glad you could make it work.

Best regards.