I like the big concept, but perhaps not your suggested implementation, Duane: the materials attributes would be cluttered with the *name* things which someone might accidentally use as a real material, even to the point of having the generated parameter LegMat set to *LegMat*.
I think a better solution is for GS to simply implement what Oleg Schmidt had given us with his AC 8.1 and AC 9 add-on called "rxAutoMaterials" - it automatically parameterized ALL materials in a user-saved GDL object (when saved as editable script). You just ran his add-on, and got a new object that was fully parametric, with material defaults set to the ones assigned to surfaces during the original save. You even got to specify the name you wanted (such as your Leg Material).
In case you didn't use it, attached is the PDF Manual that Oleg distributed. IMHO, it was perfect for no-editing parameterization of quick save-as objects. I would love for Graphisoft to kindly purchase the code from Oleg (as a courtesy - of course they could write it from scratch) and add it to the ArchiCAD distribution!
Cheers,
Karl
One of the forum moderators
AC 27 USA and earlier • macOS Ventura 13.6.6, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB