We value your input! Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey
2024-02-14 07:15 PM - last edited on 2024-09-26 01:20 PM by Doreena Deng
I am having a great library of objects with Material-, Style-, Fill- Definitions that should be the same in all objects.
I have tested this with a macro, but more than one Material Definition does not work.
I do not want to define the materials in an Archicad template file, because out of the template the materials will be missing. I also do not want to use a master_gdl.gdl because I would like to prevent attribute pollution.
And having the same definition as an identical subroutine in 100 objects, is not an optimal solution.
Here is the script of the definition macro:
DEFINE MATERIAL "RA 7037" 4, 0.478, 0.478, 0.477
DEFINE MATERIAL "RAL 9022" 4, 0.522, 0.522, 0.513
mat_boden = IND(MATERIAL, "RAL 7037")
mat_korpus = IND(MATERIAL, "RAL 9022")
END mat_korpus, mat_boden
Here the Placing Object code:
CALL "DEFINE_MACRO" PARAMETERS RETURNED_PARAMETERS mat_boden, mat_korpus
ADDx 2
MATERIAL mat_korpus
BLOCK 1, 1, 1
DEL 1
CALL "AUSFUEHREN_MACRO" PARAMETERS mat_grau = mat_boden
Here the script of the external 3D Macro
MATERIAL mat_grau
BLOCK 1, 1, 1
All 3 objects attached for AC 27
Does anyone have a good solution?
2024-02-15 10:36 AM
Additional Question: How does the object subtype "Surface material definition" work?
Could this be a solution for my request?
2024-02-19 11:53 AM
Attributes defined in a macro can't be used in caller scripts, only called ones.
"Surface definition" subtype is used in Surface Catalogs, the user has to import the materials he wants to use.