Begin your Archicad journey with our free learning path - perfect for newcomers and experienced users looking to strenghten their skills.

GDL
About building parametric objects with GDL.

Surface name of fill

Bruce
Advisor

Is there a way to extract / query the name of the Surface used in a Surface Fill?  One can query the fill name or BMAT name of all fill types (Drafting, Cut, Cover, Building Material), but one cannot query the Surface of a Surface type fill.

 

Any clues?

Bruce Walker
Barking Dog BIM YouTube
Mindmeister Mindmap
-- since v8.1 --
AC27 5060 INT Full | Windows 11 64 Pro | 12th Gen Intel i7-12700H 2.30 GHz | 64 Gb RAM | NVIDIA GeForce RTX 3060 32 Gb
8 REPLIES 8
Diego Rojas
Contributor

It would be great to know how to do this. There are so many parameters and pieces of information that would be highly useful to access in Archicad, but at times, Archicad does not allow access to them through standard Archicad knowledge.

AC-10 to 28 forward
Apple IOS
Aaron Bourgoin
Virtuoso

have you tried Tapir for this? require Rhino and Grasshopper, but I think they have nodes that would query this.

 

having said that I expect your doing something in GDL.

Think Like a Spec Writer
AC4.55 through 28 / USA AC27-6010 USA
Rhino 8 Mac
MacOS 15.2
Jaime-airc_digital
Enthusiast

Hi Bruce, not sure if it may be related to what you are trying to achieve... sound kind of the opposite approach. I have developed a GDL tool to generate keynotes from any project surface, see the demo in the video attached. I am requesting the textures used by each surface selected by the user and this generated in line definitions for image fills to recreate the legend.

Archicad 28 ARM, MacBook Pro M3 Max 128Gb, macOS Sonoma.
/Operations Director /BIM Lead /Architect @ www.airc.digital ltd ™
M Architecture & Urbanism ARB
Bruce
Advisor

Looks good Jaime.  However, the usage I'm after is for when surface fills are used in details / worksheets.

Bruce Walker
Barking Dog BIM YouTube
Mindmeister Mindmap
-- since v8.1 --
AC27 5060 INT Full | Windows 11 64 Pro | 12th Gen Intel i7-12700H 2.30 GHz | 64 Gb RAM | NVIDIA GeForce RTX 3060 32 Gb
kuvbur
Enthusiast

Did you try REQUEST gs_mat_fill_ind?

bmat = 5 !Bmat index

mat = 0 : gs_mat_fill_ind = 0 : gs_mat_fill_name = ""

n = REQUEST{2} ("Building_Material_info", bmat, "gs_bmat_surface", mat)
n = REQUEST{2} ("Material_info", mat, "gs_mat_fill_ind", gs_mat_fill_ind)
n = REQUEST ("Name_of_fill", gs_mat_fill_ind, gs_mat_fill_name)
text2 0, 0, gs_mat_fill_name
 

Structural engineer, developer of free addon for sync GDL param and properties

Bruce
Advisor

Yes.  That will return the fill name.  I'm after the surface name.

 

n = REQUEST{2}("MATERIAL_INFO", name_or_index, param_name, value_or_values) will return what I'm after IF I can retrieve the "name_or_index" of the fill to which the label is attached...which I don't think is currently possible in GDL.

 

Bruce Walker
Barking Dog BIM YouTube
Mindmeister Mindmap
-- since v8.1 --
AC27 5060 INT Full | Windows 11 64 Pro | 12th Gen Intel i7-12700H 2.30 GHz | 64 Gb RAM | NVIDIA GeForce RTX 3060 32 Gb

Could you show me a screenshot of the information you would like to receive?

Structural engineer, developer of free addon for sync GDL param and properties

Bruce
Advisor

Attached


2025-03-31_07-37-16.png

Bruce Walker
Barking Dog BIM YouTube
Mindmeister Mindmap
-- since v8.1 --
AC27 5060 INT Full | Windows 11 64 Pro | 12th Gen Intel i7-12700H 2.30 GHz | 64 Gb RAM | NVIDIA GeForce RTX 3060 32 Gb