2022-12-19 03:33 AM - edited 2022-12-19 01:08 PM
This post is for the attention of Graphisoft developers, in the hope that this label can be added to the out-of-the-box parts in Archicad.
The problem:
There are a number of problems with the current surface label, that make it more-or-less unusable for any meaningful documentation purposes. These are:
The Solution:
Ultimately, the best solution would be for meta data to be added to Surface attributes, a la Building Materials. But in the meantime, I have developed a label which does most of what is required (thanks to Michael Wilson for the idea). Please note that this label has been developed for my own use, and not for wider distribution. However, it demonstrates useful principles that can be adopted for a standard Archicad label.
The attached label:
Use with objects:
Any object can make use of this label with the addition of 4 parameters (hidden), and a segment of script.
The parameters are ('wa' is just the initials of the company I work for):
The script segment, added at the bottom of the parameter script, is below. The object from which this is taken is attached, so parameters and scripting can be inspected for further clarification:
!--> Fill surface container for Surfaces Label
! Objects start at 31
iS=1 : obID = 31
TYPE_SURF = 0 : TYPE_BMAT = 1
DIM wa_sur_desc[], wa_sur_index[], wa_sur_type[], wa_sur_values[]
! For Building Material and Surface Override parameters:
wa_sur_desc[iS] = "Lining surface" : wa_sur_index[iS] = obID : wa_sur_values[iS] = reveal_surface : iS=iS+1 : obID=obID+1
IF NOT(reveal_override) THEN : wa_sur_type[iS-1]=TYPE_BMAT : wa_sur_values[iS-1]=reveal_bmat : ENDIF
wa_sur_desc[iS] = "Pelmet surface" : wa_sur_index[iS] = obID : wa_sur_values[iS] = pelmet_surface : iS=iS+1 : obID=obID+1
IF NOT(pelmet_override) THEN : wa_sur_type[iS-1]=TYPE_BMAT : wa_sur_values[iS-1]=pelmet_bmat : ENDIF
! For Surface parameters only:
wa_sur_desc[iS] = "Inner blind surface" : wa_sur_index[iS] = obID : wa_sur_type[iS]=TYPE_SURF :wa_sur_values[iS] = blind_inner_mat : iS=iS+1 : obID=obID+1
PARAMETERS wa_sur_desc = wa_sur_desc,
wa_sur_index = wa_sur_index,
wa_sur_type = wa_sur_type,
wa_sur_values = wa_sur_values
Use with doors & windows:
Now when you place this new door, you can attach the label to it, and label any of the surfaces in use in the door. Note that I included as many surfaces as I could find, but the GS door objects are quite complex.
Final note:
The above is a bit complex, but I'm confident the clever people who script the GDL parts can not only understand it, but can improve upon it.
Solved! Go to Solution.
2022-12-20 01:47 PM
Please enter wishes in the wishes forum, it will be easier for non-gdl users to find them there.
2022-12-19 05:47 AM
Great work! This is one the most urgently required features in Archicad.
Add 'ID' option to Surfaces, and allow tagging of surfaces by hovering the cursor over the surface with a single Surface Label. Revit does this perfectly, and it's hard to go back to Archicad which feels broken without this feature.
2022-12-19 02:23 PM
Enable labeling complex profile surfaces, pleeaase!!
2022-12-20 01:47 PM
Please enter wishes in the wishes forum, it will be easier for non-gdl users to find them there.
2022-12-20 03:58 PM
I love where this is starting to head, and agree that this should be something that GS starts to refine and build upon
I could see the need to add a second deliminator option. The first splits everything Left away, and the second would split everything right away.
2022-12-20 11:59 PM
Thanks Peter. I've posted a link there:
https://community.Graphisoft.com/t5/Wishes-forum/All-purpose-surface-label/td-p/365620