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.

Converting window-door marker from 7.0 to 9.0

Durval
Enthusiast
I have a set of parametric windows and door that I created with ArchiCAD 7.
In their 2d script there was a call to a custom marker called 'marcador_abertura.gsm:
IF WIDO_CUSTOM_MARKER THEN 
    CALL "marcador_abertura" PARAMETERS larg=A, alt=B, peit=J_  , espin=dit,pos=posmc, ih=ihmc, iv=ivmc, mp=mpmc, 
            cod=codmc 
ENDIF


I could use it as macro for my custom openings, but I could also use it as an independent 2d object, to mark other windows/doors used in the project that were not created by me.
As a macro, it worked great, reading parameters from windows and inserting them in the custom marker. In window/door dialogs, the parameters for markers showed together with the other parameters for the windows/doors. I just had to enable 'Dimensions' and select 'Use object's settings' in dimensions parameters.

Now I'm trying to use the same objects in ArchiCAD 9 Mac. After I changed 'marcador_abertura.gsm' subtype to Window-Door Marker, I can select it in the Dimension Marker popup of openings. But the parameters that should be read from windows are not passed to the marker anymore.

Strangely enough, if I open an old AC7.0 project win AC9 the markers still work as expected. In the Dimension Marker popup it says 'Custom Marker - 70', instead of the name of my custom marker (marcador_abertura). If I insert a new window, I can't select that 'Custom Marker - 70' anymore..!

What's the painless way of getting my custom openings and marker work together again in AC 9.0?

Bellow is the 2d code (quite simple) of my 'marcador_abertura.gsm', in case it helps to find an answer:
    ROT2 90
    MUL2 1-2*ih, 1-2*iv
    ADD2 0, larg/2-larg*pos

PEN calin
LINE2 0, 0, compf, 0

HOTSPOT2 compf, 0

PEN catex
SET STYLE "estlargalt"
TEXT2 espinM, O, tlargalt

IF mp<>"desligado" THEN
SET STYLE "estpeit"
TEXT2 espinM+comptex/2, -tafonM/3, tpeit
ENDIF


IF cod<>"desligado" THEN

PEN calin
RECT2 compf, -compcod/2, compf+altcod, compcod/2

    ADD2 compf+altcod/2, 0
    ROT2 90+180*iv
    
SET STYLE "estcod"
PEN catex
TEXT2 0, 0, tcod
    DEL 2
ENDIF

    DEL 3
--- www.dtabach.com.br ---
AC 24 BR – MacBook Pro 2,9 GHz Intel Core i7 16GB RAM Mac OS 10.14
3 REPLIES 3
David Maudlin
Rockstar
Durval:

I went through this process a long time ago (this change occurred with ArchiCAD 8 ), so I don't remember all the details, but hope I can give you some hints.

I don't think you can pass your windows' parameters to the door/window marker anymore, as you did by calling the macro from within the 2D Script. You will need to look at the parameters of the door/window marker itself (these appeared when you changed the subtype to "Window-Door Marker"), I believe these are the only parameter values you can pass from the door/window object to the marker. These markers are now more like independent objects.

If some of the parameters are for the marker only (like the shape of the symbol outline), they should be moved from the door/window parameter list to the marker's list, they will then appear under the Dimension Marker section of the door/window dialog box rather than the Parameters section. I could not tell from the code you posted which variables are taken from the door/window and which might be just for the marker.

Probably not what you wanted to hear, but HTH.

David
David Maudlin / Architect
www.davidmaudlin.com
Digital Architecture
AC27 USA • iMac 27" 4.0GHz Quad-core i7 OSX11 | 24 gb ram • MacBook Pro M3 Pro | 36 gb ram OSX14
Anonymous
Not applicable
Well i don't have a great help for you either,
but i had the same problem.. and i just remaked the marker in AC 9 or 10 !

and the problem solved, just lost some time on that, not a lot ..
and got a new legit marker!
Anonymous
Not applicable
It is probably easiest to just make a new marker than to edit an old one (this is what I have found anyway). A simple 2D script with a circle (or whatever) and a bit of text does the trick for most of my clients. You just save the part as a door/window marker subtype. Use the GLOB_ID parameter to pick up the door/window ID.