Is there a way to request a building material name?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-04-30
11:07 AM
- last edited on
2021-09-14
09:16 AM
by
Noemi Balogh
n = REQUEST ("Name_of_building_material", index, name) text2 0,0, name
Archicad24 doesn't seem to work with the above script.
The building material name will be "undefined".
Please tell me the solution
- Labels:
-
Library (GDL)

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-04-30 11:33 AM
i.e.
n = REQUEST ("Name_of_building_material", 100, name) text2 0,0, nameBarry.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-05-01 01:08 AM
I found that I had to enter the index number when using this request command.
What command should I use to read the building material of an element and display it in text when the label is placed?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-05-01 09:08 AM
First, your element can have several Building Materials - if it's a composite wall, slab, or roof.
Second - you need to determine first in your label script - what is the element - is it fill, slab, roof, wall, beam, etc. For that, you need to use the global variable GLOB_ELEM_TYPE.
After your label script knows to which element is attached, it can scan receive building material name from another global variable:
WALL_BMAT_NAME or WALL_SKINS_BMAT_NAMES
COLU_CORE_BMAT or COLU_VENEER_BMAT
etc.
You can find the list of global variables at the end of the GDL Manual in the section Miscellaneous.
With GDL objects even more complicated - you need to request variable value from the script and receive building material name via
n = REQUEST ("ASSOCLP_PARVALUE", expr, name_or_index, type, flags, dim1, dim2, p_values)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-05-02 03:04 AM
I was able to confirm the operation of the label.
(If I actually use this, I need a little more ingenuity.)
By the way, can I load the building material into the object in the same way when the subtype is "model element"?
BMAT_information = "" !5 -WALL IF GLOB_ELEM_TYPE = 5 THEN IF WALL_SKINS_NUMBER = 0 THEN BMAT_information = WALL_BMAT_NAME ELSE BMAT_information = WALL_SKINS_BMAT_NAMES[1][1] ENDIF ENDIF !6 -COLUMN IF GLOB_ELEM_TYPE = 6 THEN BMAT_information = COLU_VENEER_BMAT_NAME ENDIF !7 -SLUB IF GLOB_ELEM_TYPE = 7 THEN IF SLAB_SKINS_NUMBER = 0 THEN BMAT_information = SLAB_BMAT_NAME ELSE BMAT_information = SLAB_SKINS_BMAT_NAMES[1][1] ENDIF ENDIF !8 -ROOF IF GLOB_ELEM_TYPE = 8 THEN BMAT_information = ROOF_BMAT_NAME ENDIF !12 -BEAM IF GLOB_ELEM_TYPE = 12 THEN BMAT_information = BEAM_BMAT_NAME ENDIF TEXT2 0,0,BMAT_information

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-05-02 12:39 PM
I didn't get your last question.
To receive Building Material name from the object you need to use this script:
!1 -OBJECT IF GLOB_ELEM_TYPE = 1 THEN n = REQUEST ("ASSOCLP_PARVALUE", expr, name_or_index, type, flags, dim1, dim2, p_values) IF n AND type = 16 THEN BMAT_Information = p_values ENDIF
where expr - the name of the parameter in the object, related to Building Material.
Don't forget to define fill for the label. It's useful when you do 2D details. The attached example is showing a custom-made label, that defines Building Material names on details.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-07-25 08:45 AM
E.g. I define the vapour resistance of a material, which is not part of the "normal" building physics properties...

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-07-29 10:54 AM
furtonb wrote:REQUEST "Component_Properties_Of_Parent"?
Somewhat related: is there a way to request user-made property values of a building material?
E.g. I define the vapour resistance of a material, which is not part of the "normal" building physics properties...
The Archicad Library uses this in Component Classification and Properties Label.
Software Engineer, Library
Graphisoft SE, Budapest

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-08-14 11:44 PM
I suppose with GDL it could be done, but the solution for this should come out of the box.
Self Employed - Modeling, Estimating, Construction
Archicad 12-26
AMD Ryzen 9 5900X 12-Core Processor
3701 Mhz, 12 Core(s), 24 Logical Processor(s)
(RAM) 128 GB
NVIDIA RTX A2000

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-08-18 11:12 PM
Another issue is extracting sub-element information: with hierarchial elements (curtain walls, railings) you can press tab to get a level deeper and annotate CW panels, etc., but with composites I cannot do that AFAIK.
E.g. you have a composite wall and you want to annotate the manufacturer and description of the core - which is something you define at the bMat level.