OK did some quick tests and i think i've worked out what the problem is..
when you modify your objects and resave them, are you selecting 'Editable GDL Script' or 'Non-editable Binary 3D Data' ? .. the latter is the default unfortunately and should be changed (See attached image)
I tested both methods - the first references materials from your files Material list in the script. I modified (resaved) a test object several times and when updating in Cinema the material names stayed the same, maintaining the mapped Cinema materials.
However using the binary method, although the materials i had assigned to elements in ArchiCAD did not change, each time i resaved the GDL object it creates a new material name internally - in the form of the ArchiCAD materials name prepended with
GDLMx_
. With a binary object you can't see this in the GDL editor, but when i merged the file into Cinema a new material was created. e.g:
Original - GDLM6_Concrete
1st Update - GDLM9_Concrete
2nd Update - GDLM12_Concrete
and so forth
With binary objects the material mapping in Cinema was maintained with updates as long as i had not resaved (overwritten) the GDL object in ArchiCAD. If i had the above occured.
I think understand why the GDLMx_ is prepended - the materials are defined internally to the object so they can be moved from file to file and not rely on that material existing in that file. Each time you resave it is essentially rewritting the script and it has no clue what name it used in the last save (as you are just overwriting it) - this is why it changes each time.
So the fault here is not Maxons - the material name change occurs within ArchiCAD when you actually create the object, not when you export it to C4D.
hope this helps
cheers,
Owen Sharp
Design Technology Manager
fjmt | francis-jones morehen thorp
iMac 27" i7 2.93Ghz | 32GB RAM | OS 10.10 | Since AC5