BIM Coordinator Program (INT) April 22, 2024
Find the next step in your career as a Graphisoft Certified BIM Coordinator!
Libraries & objects
About Archicad and BIMcloud libraries, their management and migration, objects and other library parts, etc.

Basic GDL

Anonymous
Not applicable
Hello,

I am working on learning some basic GDL skills and had a question. I would like to edit the existing IE Marker to look more like our office specific markers. The triangular marker that comes with Archicad is close but I would like to stretch the bottom corners of the triangle to flatten it out a bit. see attached. I've been able to get in and play around with the object but can't seem to find a way to stretch it. Any thoughts?

Thanks in advance

objects.JPG
17 REPLIES 17
TomWaltz
Participant
Without looking, Id guess you're looking for a Poly2 statement to modify.

What have you tried so far?
Tom Waltz
Anonymous
Not applicable
Thanks for the reply Tom. At this point I have opened up the object and played around with all the settings under parameters. I'm able to get the colors and text the way I need but cant find any properties to stretch the symbol. Also I've looked at the Master Script but really not sure about it.

I'm just getting into GDL so excuse the lack of knowledge here.
Erich
Contributor
jorgec,

Open the marker, then open the macro "Section-Elevation Marker Macro"

In the 2D script look for the following:


if GS_Type70 = 2 then
fillFrame = 5 + 2 * gs_backfill ! 5 / 7
fillType = gs_backfill_type
fillPen = gs_backfill_pen_fg
fillBackPen = gs_backfill_pen_bg
endif
if GS_Type70 = 3 then
fillFrame = 7
fillType = AC_MarkerFill
fillPen = SYMB_VIEW_PEN
fillBackPen = -1
endif

fill fillType

poly2_b 3, fillFrame, fillPen, fillBackPen,
-AC_MarkerSize * 0.5, 0, 1,
AC_MarkerSize * 0.5, 0, 1,
0, AC_MarkerSize, 1
add2 -AC_MarkerSize * 0.8, 0
endif if GS_Type70 = 2 or GS_Type70 = 3 then ! triangles


As Tom suggested you want to edit the poly2_b{3} statement. Without trying it, it looks like you merely need ot change the multiplier for the AC_MarekerSize variable. You will not find anything to do this in the parameter settings.

HTH
Erich

AC 19 6006 & AC 20
Mac OS 10.11.5
15" Retina MacBook Pro 2.6
27" iMac Retina 5K
Anonymous
Not applicable
I was just trying the same thing the other day. Are you talking about the "Section-Elevation Marker Macro" the master script calls? How do you open it?
Erich
Contributor
dmn,

To open the macro, select the part, then open it:

File > Libraries and Objects > Open Object

Look in the Master Script for the text "Section-Elevation Marker Macro" and select it (without the quotes). Then, with the text selected go to the File menu and open the object again - the same steps as above but this time the text is selected rather than an object in the .pln. This action will open the macro.

Beware that you only make changes to a copy of the part rather than the original. That way if you mess it up you still have the original to go back to. Also, any future library update will not overwrite your changes.

HTH
Erich

AC 19 6006 & AC 20
Mac OS 10.11.5
15" Retina MacBook Pro 2.6
27" iMac Retina 5K
Anonymous
Not applicable
Erich,

Thanks, I will try it first thing tomorrow morning. I will let you know if I get it.

Thanks for the help.
Erich
Contributor
jorgec,

I think I identified the correct section of the code, but I did not test it. You should be able to check yourself by commenting out the section and seeing what happens.

Good luck.
Erich

AC 19 6006 & AC 20
Mac OS 10.11.5
15" Retina MacBook Pro 2.6
27" iMac Retina 5K
Anonymous
Not applicable
Erich, this is what I found. doesn;t match yours exactly but it's close. Is this correct? I tried what you suggested but I can't seem to get the changes to take affect.


if GS_Type70 = 2 or GS_Type70 = 3 then ! triangles
if GS_Type70 = 2 then
fillFrame = 5 + 2 * gs_backfill ! 5 / 7
fillType = gs_backfill_type
fillPen = gs_backfill_pen_fg
fillBackPen = gs_backfill_pen_bg
endif
if GS_Type70 = 3 then
fillFrame = 7
fillType = AC_MarkerFill
fillPen = SYMB_VIEW_PEN
fillBackPen = -1
endif

fill fillType

poly2_b 3, fillFrame, fillPen, fillBackPen,
-AC_MarkerSize * 0.5, 1, 1,
AC_MarkerSize * 0.5, 1, 1,
0, AC_MarkerSize, 1
add2 -AC_MarkerSize * 0.8, 0
endif
Anonymous
Not applicable
Erich,

After I make the changes I am not able to load the new object. When I go to the Interior Elevation tool and try to search for another marker the ones I've saved do not show up.

I must be doing something wrong but can't pinpoint it.

Thanks for all your help.
Learn and get certified!