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

Invalid 2D symbol

Not applicable
I switched from one PC to another and now I'm having a problem with a few objects not showing in 2D and in 3D. I tried loading completely new archicad file but same problem shows up.

turn on error messages in your "Work Environment" under Options > Work Environment > Model Rebuild Options > Interrupt with error messages
When you do this you will get a more detailed error message pop up on your screen.
The 2D symbol could be invalid for a thousand reasons, most likely you are missing a macro but it could be anything.
Creator of Cadswift's parametric GDL libraries
Creator of Infinite Openings and Component Catalogues
Push the envelope & watch it bend

Not applicable
I got this:

Looks like you didn't update all your libraries.
If you switched PCs, but took the file with you (and supposedly you don't work in Teamwork but in a solo file), then most probably the paths of the libraries are not the same anymore.
You can check by openening the library manager and most certainly there it will tell you something about a missing library. Just re-reference it and you're good to go!
Mostly AC 26 on Mac | Author of SelfGDL | Developer of the GDL plugin for Sublime Text |
«Furthermore, I consider that Carth... yearly releases must be destroyed»

Actually the fact, that ArchiCAD cannot say about missed macro - not good. Makes a lot of confusion to people. GS could introduce some new request, something like:

r=REQUEST('MacroName', 'NameOfMacro.gsm', something)
      CALL 'NameOfMacro.gsm'
      PRINT 'Macro not find. Please check your libraries'

Podolsky wrote:
GS could introduce some new request, something like:
Big +1. This would help a lot, also in other situations, where you'd rather like a soft-fail, than the complete surrender

One example would be where the user can specify his own elements to populate the main GDL (think of the doors with custm leafs).

We can already check if an IES file is in the loaded libraries... so why not macros too?!
Mostly AC 26 on Mac | Author of SelfGDL | Developer of the GDL plugin for Sublime Text |
«Furthermore, I consider that Carth... yearly releases must be destroyed»

I think sometimes that GS is not paying enough attention to GDL. Several fixes and functionalities could bring this language on another level. Last major update to GDL was when many requests became disabled in Parameter script, that made it harder to use. And every time when there is new version coming - I’m looking first to GDL - what’s new there. And always not much. Well, maybe because GDL is not mainstream… It’s quite upsetting. Maybe GDL is not mainstream, but technically it’s a half of software functionality.

Not applicable
Not the same thing, but did you try "FILE_DEPENDENCE" command?
From the GDL Reference Manual page 254:
FILE_DEPENDENCE "name1" [, "name2", ...]
You can give a list of external files on which your GDL script depends on. File names should be constant strings.
All files specified here will be included in the archive project (like constant macro names used in CALL statements and constant picture names
used in various GDL commands). The command works on this level only: if the specified files are library parts, their called macro files will
not be included.
The command can be useful in cases when external files are referenced at custom places in the GDL script, for example: ADDITIONAL_DATA
file parameters, data files in file operations.
But yes. A printed message (like the good old ones) would be nice.
OT: Regarding printed messages: I recall an old gsm object (I don't recall its name), that when the user inserted a very odd value in the parameter (lets say: the height of a chair as 3m), then it printed a message: "I like jokes, but this is weird!" or something like that.
Hey GS please bring back printed messages.

No, file dependences is not really what I mean. File dependence let you to specify macro files, that they would be included into PLA. When you open a object and macro already lost - there is no way how to say about it to user - the whole object is becoming dysfunctional and confuses user. And there is absolutely no way how in the script prevent this error (like if macro is lost, not to call it, or make notification to the user how to fix such error).
I had this issue with my library. Keeping one file in Embedded library, that tells to any library part name of the font. If this file is missing - the entire library then not working. One user wanted to point once - that what kind of crap I brought to him - nothing is working, when the fix was very simple - just copy the file into embedded library. So, small issue leads to to total error and big panic of users.

Start a new conversation!

Didn't find the answer?

Check other topics in this Forum

Back to Forum

Read the latest accepted solutions!

Accepted Solutions

Start a new conversation!