<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Hack the Surface Label in GDL</title>
    <link>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621379#M6909</link>
    <description>&lt;P&gt;I would like to edit the &lt;EM&gt;Surface Label 25&lt;/EM&gt; to show the text of a surface before a delimiter. For example:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Surface Name is &lt;STRONG&gt;TC:Timber Cladding&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Label to shown only &lt;STRONG&gt;TC&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is the code I have used to get this working on a wall label i wrote a while ago:&lt;/P&gt;
&lt;DIV&gt;&lt;LI-CODE lang="markup"&gt;!======split
len = STRLEN (string)
iDotPos = STRSTR (string, sep)!sep is the seperator
code = STRSUB (string, 1, iDotPos - 1)
mat = STRSUB (string, iDotPos+1, len-iDotPos)!material

if display_txt = 'code' and code&amp;lt;&amp;gt;"" then
string=code
endif

if display_txt = 'mat' then
string=mat
endif&lt;/LI-CODE&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But I cant figure out where to catch the surface name and split it in this object. I think it might be happening in the macro label_content_macro. Any wizards out there that can figure this out???&amp;nbsp;&lt;a href="https://community.graphisoft.com/t5/user/viewprofilepage/user-id/7331"&gt;@Barry Kelly&lt;/a&gt;&amp;nbsp;?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Of course this would not be required if GS would give us an ID field for surfaces the same as building materials.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" color="grey"&gt;Operating system used: &lt;EM&gt;Mac Intel-based 12&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 24 Sep 2024 08:10:32 GMT</pubDate>
    <dc:creator>RHF55</dc:creator>
    <dc:date>2024-09-24T08:10:32Z</dc:date>
    <item>
      <title>Hack the Surface Label</title>
      <link>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621379#M6909</link>
      <description>&lt;P&gt;I would like to edit the &lt;EM&gt;Surface Label 25&lt;/EM&gt; to show the text of a surface before a delimiter. For example:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Surface Name is &lt;STRONG&gt;TC:Timber Cladding&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Label to shown only &lt;STRONG&gt;TC&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is the code I have used to get this working on a wall label i wrote a while ago:&lt;/P&gt;
&lt;DIV&gt;&lt;LI-CODE lang="markup"&gt;!======split
len = STRLEN (string)
iDotPos = STRSTR (string, sep)!sep is the seperator
code = STRSUB (string, 1, iDotPos - 1)
mat = STRSUB (string, iDotPos+1, len-iDotPos)!material

if display_txt = 'code' and code&amp;lt;&amp;gt;"" then
string=code
endif

if display_txt = 'mat' then
string=mat
endif&lt;/LI-CODE&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But I cant figure out where to catch the surface name and split it in this object. I think it might be happening in the macro label_content_macro. Any wizards out there that can figure this out???&amp;nbsp;&lt;a href="https://community.graphisoft.com/t5/user/viewprofilepage/user-id/7331"&gt;@Barry Kelly&lt;/a&gt;&amp;nbsp;?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Of course this would not be required if GS would give us an ID field for surfaces the same as building materials.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" color="grey"&gt;Operating system used: &lt;EM&gt;Mac Intel-based 12&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 24 Sep 2024 08:10:32 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621379#M6909</guid>
      <dc:creator>RHF55</dc:creator>
      <dc:date>2024-09-24T08:10:32Z</dc:date>
    </item>
    <item>
      <title>Re: Hack the Surface Label</title>
      <link>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621390#M6910</link>
      <description>&lt;P&gt;Yes, that is the correct place where the suface is gathered from.&lt;/P&gt;
&lt;P&gt;from gdl&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AllanP_0-1722999928375.png" style="width: 624px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/69784i3966CA65C96BB1D0/image-dimensions/624x526?v=v2" width="624" height="526" role="button" title="AllanP_0-1722999928375.png" alt="AllanP_0-1722999928375.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(they are just using a parameter with SURFACE_ in front of the desired gdl code in this list...&lt;/P&gt;
&lt;P&gt;from the macro&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AllanP_1-1722999976656.png" style="width: 577px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/69785iC51F7E34AD7BF65E/image-dimensions/577x542?v=v2" width="577" height="542" role="button" title="AllanP_1-1722999976656.png" alt="AllanP_1-1722999976656.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;which then gets the id of the surface&lt;/P&gt;
&lt;P&gt;_iAvailableMaterialContent&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AllanP_2-1723000044536.png" style="width: 659px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/69786iA1634A87E87F66E4/image-dimensions/659x649?v=v2" width="659" height="649" role="button" title="AllanP_2-1723000044536.png" alt="AllanP_2-1723000044536.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;that then convert's into a name&lt;/P&gt;
&lt;P&gt;_nameSurface&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AllanP_3-1723000166689.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/69788i0D1BE51C22128B81/image-size/large?v=v2&amp;amp;px=999" role="button" title="AllanP_3-1723000166689.png" alt="AllanP_3-1723000166689.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;which gets assigned to:&lt;/P&gt;
&lt;P&gt;_sSegmentLocal&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AllanP_4-1723000289046.png" style="width: 702px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/69789iF08219E371E8C1BC/image-dimensions/702x256?v=v2" width="702" height="256" role="button" title="AllanP_4-1723000289046.png" alt="AllanP_4-1723000289046.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;which gets assigned to&lt;/P&gt;
&lt;P&gt;_sSegmentGlobal&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AllanP_5-1723000398703.png" style="width: 941px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/69790i17310C948E26A7DD/image-dimensions/941x479?v=v2" width="941" height="479" role="button" title="AllanP_5-1723000398703.png" alt="AllanP_5-1723000398703.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;which gets assigned to&lt;/P&gt;
&lt;P&gt;sRowsOfLabel&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AllanP_6-1723000629102.png" style="width: 922px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/69791iD33150E32AFE3EC3/image-dimensions/922x953?v=v2" width="922" height="953" role="button" title="AllanP_6-1723000629102.png" alt="AllanP_6-1723000629102.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;which gets assigned to&lt;/P&gt;
&lt;P&gt;tempsRowsOfLabel&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AllanP_7-1723000676445.png" style="width: 933px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/69792iDEE2115A7EFC80C5/image-dimensions/933x429?v=v2" width="933" height="429" role="button" title="AllanP_7-1723000676445.png" alt="AllanP_7-1723000676445.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Which gets returned from the macro using the "end returned_parameters" command...&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AllanP_8-1723000724178.png" style="width: 963px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/69793iFE22A0DA6F7DF1F7/image-dimensions/963x453?v=v2" width="963" height="453" role="button" title="AllanP_8-1723000724178.png" alt="AllanP_8-1723000724178.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I love the way Graphisoft make this easy to find...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;P.S.&lt;/P&gt;
&lt;P&gt;it looks like the typed prefex is in array point 1&lt;/P&gt;
&lt;P&gt;and the material is in array point 5&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;using the following in a copy of the surface label&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;text2 0,1,_sContentStringsHead[1][1]&lt;BR /&gt;text2 0,2,_sContentStringsHead[1][5]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AllanP_0-1723002874735.png" style="width: 467px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/69794iFDD0CF7C31ABD872/image-dimensions/467x445?v=v2" width="467" height="445" role="button" title="AllanP_0-1723002874735.png" alt="AllanP_0-1723002874735.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AllanP_1-1723002897795.png" style="width: 515px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/69795i8ED71E0A4763F874/image-dimensions/515x353?v=v2" width="515" height="353" role="button" title="AllanP_1-1723002897795.png" alt="AllanP_1-1723002897795.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 07 Aug 2024 03:56:00 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621390#M6910</guid>
      <dc:creator>AllanP</dc:creator>
      <dc:date>2024-08-07T03:56:00Z</dc:date>
    </item>
    <item>
      <title>Re: Hack the Surface Label</title>
      <link>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621391#M6911</link>
      <description>&lt;P&gt;Having a quick look at that surface label, it seems it calls a subroutine to "collect_content".&lt;/P&gt;
&lt;P&gt;This returns the information for the surface that is stored in the parameter array ... _sContentStringsHead&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So I am assuming you would need to perform your SPLIT routine on that parameter value to get the part of the name that you want.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are 2 GOSUBs in the label, one to get the information and one to display it.&lt;/P&gt;
&lt;P&gt;Your split routine needs to be done between those two GOSUBs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BarryKelly_0-1723000053977.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/69787iFE878E052C4F2C2E/image-size/large?v=v2&amp;amp;px=999" role="button" title="BarryKelly_0-1723000053977.png" alt="BarryKelly_0-1723000053977.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The thing is that _sContentStringsHead parameter is an array, so you will have to figure out what part of that array the information is in for the surface name.&lt;/P&gt;
&lt;P&gt;You then need to SPLIT that name and then replace it back in the array so it is then used in the 'position_and_draw_label' sub-routine.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;At the moment I don't have the time to investigate further.&lt;/P&gt;
&lt;P&gt;But hopefully that will give you a start.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Barry.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 07 Aug 2024 03:22:13 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621391#M6911</guid>
      <dc:creator>Barry Kelly</dc:creator>
      <dc:date>2024-08-07T03:22:13Z</dc:date>
    </item>
    <item>
      <title>Re: Hack the Surface Label</title>
      <link>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621392#M6912</link>
      <description>&lt;P&gt;Well I dont feel so silly not being able to trace that, now Ive seen how serpentine the structure is. Thankyou for your detective work&amp;nbsp;&lt;a href="https://community.graphisoft.com/t5/user/viewprofilepage/user-id/22492"&gt;@AllanP&lt;/a&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 07 Aug 2024 03:36:05 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621392#M6912</guid>
      <dc:creator>RHF55</dc:creator>
      <dc:date>2024-08-07T03:36:05Z</dc:date>
    </item>
    <item>
      <title>Re: Hack the Surface Label</title>
      <link>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621393#M6913</link>
      <description>&lt;P&gt;I will give this a shot&amp;nbsp;&lt;a href="https://community.graphisoft.com/t5/user/viewprofilepage/user-id/7331"&gt;@Barry Kelly&lt;/a&gt;,&amp;nbsp;thanks for your time looking into this. I'll post the hacked label if I'm able to get it to work.&lt;/P&gt;</description>
      <pubDate>Wed, 07 Aug 2024 03:44:25 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621393#M6913</guid>
      <dc:creator>RHF55</dc:creator>
      <dc:date>2024-08-07T03:44:25Z</dc:date>
    </item>
    <item>
      <title>Re: Hack the Surface Label</title>
      <link>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621516#M6914</link>
      <description>&lt;P&gt;Thanks for your PS&amp;nbsp;&lt;a href="https://community.graphisoft.com/t5/user/viewprofilepage/user-id/22492"&gt;@AllanP&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I got it to work with this. It will be a very useful label now &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I just need to&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;! ==============================================================================
"collect_content":
! ------------------------------------------------------------------------------
! ==============================================================================
nTrans = 0

_nRowLabel = 0
dim _sRowsOfLabel[][]
_sRowsOfLabel[1][1] = ""
dim _sContentStringsHead[][]
_sContentStringsHead[1][1] = ""

gosub "call_general_label_macro"! returned text array, _nRowLabel, _sRowsOfLabel
_sContentStringsHead = _sRowsOfLabel

!split surface to code
string = _sContentStringsHead[1][5]
iDotPos = STRSTR (string, ":")
code = STRSUB (string, 1, iDotPos - 1)
_sContentStringsHead[1][5] = code

return&lt;/LI-CODE&gt;
&lt;P&gt;include an IF statement to check if there is a ":" in there and it will be good to go!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Aug 2024 22:46:41 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621516#M6914</guid>
      <dc:creator>RHF55</dc:creator>
      <dc:date>2024-08-14T22:46:41Z</dc:date>
    </item>
    <item>
      <title>Re: Hack the Surface Label</title>
      <link>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621873#M6915</link>
      <description>&lt;P&gt;Im struggling with the CONTAINS syntax, this is returning an error that "missing THEN statement". Driving me nuts!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;LI-CODE lang="markup"&gt;! ==============================================================================
"collect_content":
! ------------------------------------------------------------------------------
! ==============================================================================
nTrans = 0

_nRowLabel = 0
dim _sRowsOfLabel[][]
_sRowsOfLabel[1][1] = ""
dim _sContentStringsHead[][]
_sContentStringsHead[1][1] = ""

gosub "call_general_label_macro"! returned text array, _nRowLabel, _sRowsOfLabel
_sContentStringsHead = _sRowsOfLabel

!split surface to code
IF  CONTAINS (sep,_sContentStringsHead[1][5]) THEN

string = _sContentStringsHead[1][5]
iDotPos = STRSTR (string, sep)
code = STRSUB (string, 1, iDotPos - 1)
_sContentStringsHead[1][5] = code

ENDIF

return&lt;/LI-CODE&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 14 Aug 2024 22:47:44 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621873#M6915</guid>
      <dc:creator>RHF55</dc:creator>
      <dc:date>2024-08-14T22:47:44Z</dc:date>
    </item>
    <item>
      <title>Re: Hack the Surface Label</title>
      <link>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621875#M6916</link>
      <description>&lt;P&gt;i cant find the "&lt;FONT color="#FF0000"&gt;CONTAINS &lt;/FONT&gt;" command in the GDL manual&lt;/P&gt;
&lt;P&gt;if you use:&lt;/P&gt;
&lt;P&gt;if STRSTR(&lt;FONT color="#FF0000"&gt;_sContentStringsHead[1][5])&lt;/FONT&gt;,&lt;FONT color="#FF0000"&gt;sep&lt;/FONT&gt;) &amp;gt; 0 then&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; !!!BODY HERE&lt;/P&gt;
&lt;P&gt;endif&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AllanP_0-1723085321945.png" style="width: 971px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/70105i6F16A2E6F45994A6/image-dimensions/971x236?v=v2" width="971" height="236" role="button" title="AllanP_0-1723085321945.png" alt="AllanP_0-1723085321945.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Aug 2024 02:55:19 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621875#M6916</guid>
      <dc:creator>AllanP</dc:creator>
      <dc:date>2024-08-08T02:55:19Z</dc:date>
    </item>
    <item>
      <title>Re: Hack the Surface Label</title>
      <link>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621876#M6917</link>
      <description>&lt;P&gt;There is no CONTAINS command in GDL (that I am aware of).&lt;/P&gt;
&lt;P&gt;STRSTR is what you need to determine if a character is a part of a string.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Barry.&lt;/P&gt;</description>
      <pubDate>Thu, 08 Aug 2024 02:59:21 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621876#M6917</guid>
      <dc:creator>Barry Kelly</dc:creator>
      <dc:date>2024-08-08T02:59:21Z</dc:date>
    </item>
    <item>
      <title>Re: Hack the Surface Label</title>
      <link>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621879#M6918</link>
      <description>&lt;P&gt;found CONTAINS here&amp;nbsp;&lt;A href="https://helpcenter.graphisoft.com/user-guide/137394/" target="_blank"&gt;https://helpcenter.graphisoft.com/user-guide/137394/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;will give&amp;nbsp;&lt;SPAN&gt;STRSTR a try. thanks guys&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Aug 2024 03:03:38 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621879#M6918</guid>
      <dc:creator>RHF55</dc:creator>
      <dc:date>2024-08-08T03:03:38Z</dc:date>
    </item>
    <item>
      <title>Re: Hack the Surface Label</title>
      <link>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621881#M6919</link>
      <description>&lt;P&gt;That is interesting.&lt;/P&gt;
&lt;P&gt;It is the same format for the command, just STRSTR instead of CONTAINS.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I just checked the GDL reference PDF in 25 and it is STRSTR there.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I never noticed that in the Helpcentre website before (but I wouldn't have been looking for it specifically).&lt;/P&gt;
&lt;P&gt;That website is actually out of date now and is no longer being maintained, just left as a reference I assume.&lt;/P&gt;
&lt;P&gt;The Archicad help is now here on the Community but the GDL help is only found as a PDF in the application folder or the GDL Centre website here ... &lt;A href="https://gdl.graphisoft.com/" target="_blank"&gt;https://gdl.graphisoft.com/&lt;/A&gt;&amp;nbsp;(where it is also STRSTR).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Barry.&lt;/P&gt;</description>
      <pubDate>Thu, 08 Aug 2024 03:33:20 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621881#M6919</guid>
      <dc:creator>Barry Kelly</dc:creator>
      <dc:date>2024-08-08T03:33:20Z</dc:date>
    </item>
    <item>
      <title>Re: Hack the Surface Label</title>
      <link>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621889#M6920</link>
      <description>&lt;P&gt;Here is the hacked label if someone needs it. Pretty simple but very useful for us.&lt;/P&gt;&lt;P&gt;If you pimp it further, post back with your changes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for your wizard help&amp;nbsp;&lt;a href="https://community.graphisoft.com/t5/user/viewprofilepage/user-id/22492"&gt;@AllanP&lt;/a&gt;&amp;nbsp;&amp;amp;&amp;nbsp;&lt;a href="https://community.graphisoft.com/t5/user/viewprofilepage/user-id/7331"&gt;@Barry Kelly&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Aug 2024 05:21:15 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/621889#M6920</guid>
      <dc:creator>RHF55</dc:creator>
      <dc:date>2024-08-08T05:21:15Z</dc:date>
    </item>
    <item>
      <title>Re: Hack the Surface Label</title>
      <link>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/697879#M8378</link>
      <description>&lt;P&gt;Anyone know if _sContentStringsHead contains bMat and / or bMat_ID?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ps. The&amp;nbsp;&lt;EM&gt;Skin List Label&lt;/EM&gt; uses the same macro structure so it would seem that it can. Just need to figure out how...&lt;/P&gt;</description>
      <pubDate>Tue, 31 Mar 2026 07:40:14 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/697879#M8378</guid>
      <dc:creator>Lingwisyer</dc:creator>
      <dc:date>2026-03-31T07:40:14Z</dc:date>
    </item>
    <item>
      <title>Re: Hack the Surface Label</title>
      <link>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/698583#M8383</link>
      <description>&lt;P&gt;I have gotten it to show bMat_ID, now I just need to figure out how to get it to only show the first/last ID for composites rather than the full contents list.&lt;/P&gt;</description>
      <pubDate>Tue, 07 Apr 2026 08:11:15 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/698583#M8383</guid>
      <dc:creator>Lingwisyer</dc:creator>
      <dc:date>2026-04-07T08:11:15Z</dc:date>
    </item>
    <item>
      <title>Re: Hack the Surface Label</title>
      <link>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/698758#M8385</link>
      <description>&lt;P&gt;The contents macro has an odd return when it comes to the BM of columns...&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2026-04-08 155040.png" style="width: 400px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/99529iE73CBE43747D4755/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Screenshot 2026-04-08 155040.png" alt="Screenshot 2026-04-08 155040.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Maybe that is when the&amp;nbsp;&lt;EM&gt;Skin List Label&amp;nbsp;&lt;/EM&gt;is not available for columns...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Ling.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ps. The BM_ID return seems to be empty in AC28+...&lt;/P&gt;</description>
      <pubDate>Wed, 08 Apr 2026 09:06:50 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/GDL/Hack-the-Surface-Label/m-p/698758#M8385</guid>
      <dc:creator>Lingwisyer</dc:creator>
      <dc:date>2026-04-08T09:06:50Z</dc:date>
    </item>
  </channel>
</rss>

