<?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 Re: Wall Label - IFC Properties in Libraries &amp; objects</title>
    <link>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225829#M11724</link>
    <description>Like &lt;A href="http://archicad-talk.graphisoft.com/viewtopic.php?p=233623#233623" target="_blank"&gt;this&lt;/A&gt;?&lt;BR /&gt;
&lt;BR /&gt;
Cheers,&lt;BR /&gt;
Link.</description>
    <pubDate>Mon, 17 Nov 2014 15:06:55 GMT</pubDate>
    <dc:creator>Link</dc:creator>
    <dc:date>2014-11-17T15:06:55Z</dc:date>
    <item>
      <title>Wall Label - IFC Properties</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225828#M11723</link>
      <description>&lt;DIV class="actalk-migrated-content"&gt;&lt;T&gt;Hello all.&lt;BR /&gt;
&lt;BR /&gt;
I am creating a custom wall label in ArchiCAD 18. Can I extract information from walls IFC properties (ex. fire rating) and show them in my label?&lt;/T&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 17 Nov 2014 10:51:52 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225828#M11723</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-11-17T10:51:52Z</dc:date>
    </item>
    <item>
      <title>Re: Wall Label - IFC Properties</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225829#M11724</link>
      <description>Like &lt;A href="http://archicad-talk.graphisoft.com/viewtopic.php?p=233623#233623" target="_blank"&gt;this&lt;/A&gt;?&lt;BR /&gt;
&lt;BR /&gt;
Cheers,&lt;BR /&gt;
Link.</description>
      <pubDate>Mon, 17 Nov 2014 15:06:55 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225829#M11724</guid>
      <dc:creator>Link</dc:creator>
      <dc:date>2014-11-17T15:06:55Z</dc:date>
    </item>
    <item>
      <title>Re: Wall Label - IFC Properties</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225830#M11725</link>
      <description>Thank you....&lt;BR /&gt;
&lt;BR /&gt;
That's fantastic!&lt;BR /&gt;
&lt;BR /&gt;
But I want to create a totally new custom label. Suppose I create an IFC parameter that is called xxx. How can I request this parameter in my new GDL label. Is there a way to do this (ex. request IFC_xxx)?</description>
      <pubDate>Wed, 19 Nov 2014 12:20:43 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225830#M11725</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-11-19T12:20:43Z</dc:date>
    </item>
    <item>
      <title>Re: Wall Label - IFC Properties</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225831#M11726</link>
      <description>You have to check how the &lt;B&gt;Generic Label 18 &lt;/B&gt;object does it and you will see.&lt;BR /&gt;
&lt;BR /&gt;
I checked it and in its Master Script it calls a macro called &lt;B&gt;label_content_macro&lt;/B&gt;.&lt;BR /&gt;
&lt;BR /&gt;
Then in its Master Script, this &lt;B&gt;label_content_macro&lt;/B&gt; macro object calls another macro object called &lt;B&gt;TnCParamRequest&lt;/B&gt;. That is the macro you need to look at more closely. (I guess TnC stands for the Tags and Categories panel.&lt;BR /&gt;
&lt;BR /&gt;
It is quite complicated but it uses special GDL commands that are described in the GDL Reference Guide PDF on Page 368. With this it can get folder names, parameter names and parameter values from the Tags and Categories panel.&lt;BR /&gt;
Unfortunately I have not dug myself deeper into this so I cannot be of more help, but this is the direction you should start in.</description>
      <pubDate>Wed, 19 Nov 2014 19:39:50 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225831#M11726</guid>
      <dc:creator>Laszlo Nagy</dc:creator>
      <dc:date>2014-11-19T19:39:50Z</dc:date>
    </item>
    <item>
      <title>Re: Wall Label - IFC Properties</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225832#M11727</link>
      <description>Thank you! I will give it a try!</description>
      <pubDate>Fri, 21 Nov 2014 08:37:30 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225832#M11727</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-11-21T08:37:30Z</dc:date>
    </item>
    <item>
      <title>Re: Wall Label - IFC Properties</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225833#M11728</link>
      <description>Thanks for the pointers lazlo but page 368 isn't very helpful if you aren't familiar with the syntax or data structure. &lt;BR /&gt;
&lt;BR /&gt;
Anyone able to shed any more light on this with a simple worked example of grabbing a single predetermined IFC parameter's value for use in a label?</description>
      <pubDate>Wed, 21 Jan 2015 12:57:25 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225833#M11728</guid>
      <dc:creator>DGSketcher</dc:creator>
      <dc:date>2015-01-21T12:57:25Z</dc:date>
    </item>
    <item>
      <title>Re: Wall Label - IFC Properties</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225834#M11729</link>
      <description>&lt;BLOCKQUOTE&gt;DGSketcher wrote:&lt;BR /&gt;Thanks for the pointers lazlo but page 368 isn't very helpful if you aren't familiar with the syntax or data structure. &lt;/BLOCKQUOTE&gt;

Hi.&lt;BR /&gt;
If you are planning to create a label, I would suggest to get into understanding syntax and data structure. It is essential as many things label-related are requested from the object being labeled and sometimes the data comes in as arrays. I do grant that explanation of syntax in the manual is not really that user friendly.&lt;BR /&gt;

&lt;BLOCKQUOTE&gt;DGSketcher wrote:&lt;BR /&gt;Anyone able to shed any more light on this with a simple worked example of grabbing a single predetermined IFC parameter's value for use in a label?&lt;/BLOCKQUOTE&gt;

Challenge accepted!!! &lt;IMG src="https://community.graphisoft.com/legacyfs/online/emojis/icon_biggrin.gif" style="display : inline;" /&gt;&lt;BR /&gt;
&lt;BR /&gt;
Here's a little something:&lt;BR /&gt;
&lt;BR /&gt;
Create a new object and create 3 string (or text) parameters named:&lt;BR /&gt;
folders&lt;BR /&gt;
params&lt;BR /&gt;
value&lt;BR /&gt;
&lt;BR /&gt;
give each one a description.&lt;BR /&gt;
&lt;BR /&gt;
In the master script, paste this:
&lt;PRE&gt;HOTSPOT2 0,0
CIRCLE2 0,0,0.10


idstring=1
shortName=2
longName=3

!===FOLDER NAMES=====
DIM folderNamesArray[] !&amp;lt;-- array will hold 3 entries per folder: idstring, shortName, longName
						!-- main folder only has idstring, short and long name are empty

n = APPLICATION_QUERY ("OwnCustomParameters", "GetParameterFolderNames()", folderNamesArray) !&amp;lt;-- n = quantity of folders * 3 (includes main/root folder)

DIM folderShortName[]
FOR i=1 TO VARDIM1(folderNamesArray)/3
	folderShortName&lt;I&gt;=folderNamesArray[3 * (i-1) + idString]
NEXT i
VALUES "folders" folderShortName   !OR folderNamesArray !&amp;lt;-- which displays all values of array in parameter "folders"

foldersInTagsAndCats = n/3 !--or VARDIM1(folderNamesArray)/3

!!!PRINT folderNamesArray
!!!PRINT foldersInTagsAndCats

FOR i=1 TO n
	TEXT2 0,0, folderNamesArray&lt;I&gt;
	ADD2 0,-0.75
NEXT i
DEL n


!===PARAMETER NAMES=====
DIM parNamesArray[] !&amp;lt;-- array will hold 3 entries per parameter name: idstring, shortName, longName

n = APPLICATION_QUERY ("OwnCustomParameters", "GetParameterNames(" + folders + ")", parNamesArray) !&amp;lt;-- middle part "GetParameterNames...+...+..." between commas should work out as a whole string

DIM paramNames[]
FOR i=1 TO VARDIM1(parNamesArray)/3
	paramNames&lt;I&gt;=parNamesArray[3 * (i-1) + idString]
NEXT i
VALUES "params" paramNames	!OR parNamesArray !&amp;lt;-- which displays all values of array in parameter "params"


!===PARAMETER VALUE=====
parValue=""

n = APPLICATION_QUERY ("OwnCustomParameters", "GetParameter(" + params + ")", parValue) !&amp;lt;-- middle part "GetParameter...+...+.." between commas should work out as a whole string

VALUES "value" parValue
&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/PRE&gt;

Floor plan will show all folders from the objects Tags and Categories tab.&lt;BR /&gt;
Object parameters, in settings, will let you see folders, parameters based on folder selection and the value from the selected parameter.&lt;BR /&gt;
&lt;BR /&gt;
Code is commented so you can understand and start from there. Note that for a label you would need to change "OwnCustomParameters" to "ParentCustomParameters" as labels would use the object's parameters, not the label ones.&lt;BR /&gt;
&lt;BR /&gt;
Basically, you request folder names (and get that in an array); you use one to give it to the request for the parameter names (to get the parameter names of that folder), and use that to get the value with a third request.&lt;BR /&gt;
&lt;BR /&gt;
If you want to have every available parameter in a list, you will need to alter the code to create a data structure that allows for this to happen. This is also true if you want to see the folder short names or long names (not their idString) in the parameters.&lt;BR /&gt;
&lt;BR /&gt;
I'm not sure if the requests would work with something different than the idstring for folders and parameter names. Guess it wouldn't as the main folder leaves two empty strings as you will find out.&lt;BR /&gt;
&lt;BR /&gt;
Hope that helps you understand... and if you can, share the outcome. Other people here will find it useful.&lt;BR /&gt;
&lt;BR /&gt;
On a side note, the manual states that for the folder names request, the returned value n is "n+1:the number of folders including the root folder". It is kind of confusing. I understand that initially there are 3 folders: two default ones (renovation and IFC properties) plus the main root one so "n" would be representing those 2 folders plus the root one, thus "n+1"; but "n" returns 9, as for each folder there are 3 entries. I think the manual should state n/3=number of folders, not n+1. Hope I'm making sense.&lt;BR /&gt;
&lt;BR /&gt;
Best regards.</description>
      <pubDate>Wed, 21 Jan 2015 21:06:31 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225834#M11729</guid>
      <dc:creator>sinceV6</dc:creator>
      <dc:date>2015-01-21T21:06:31Z</dc:date>
    </item>
    <item>
      <title>Re: Wall Label - IFC Properties</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225835#M11730</link>
      <description>sinceV6, many thanks for your contribution.  I will have a look at this and see if it is taking me where I think I want to go. Certainly seems to demystify some of the manual.&lt;BR /&gt;
&lt;BR /&gt;
I will post here when I have made some positive steps.&lt;BR /&gt;
&lt;BR /&gt;
 &lt;IMG src="https://community.graphisoft.com/legacyfs/online/emojis/icon_cool.gif" style="display : inline;" /&gt; &lt;IMG src="https://community.graphisoft.com/legacyfs/online/emojis/icon_idea.gif" style="display : inline;" /&gt;</description>
      <pubDate>Wed, 21 Jan 2015 22:45:00 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225835#M11730</guid>
      <dc:creator>DGSketcher</dc:creator>
      <dc:date>2015-01-21T22:45:00Z</dc:date>
    </item>
    <item>
      <title>Re: Wall Label - IFC Properties</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225836#M11731</link>
      <description>Had a bit of a play and SinceV6's routine has given a lot of useful insight to the data.&lt;BR /&gt;
&lt;BR /&gt;
Things were progressing well until I hit a problem which is related to sourcing the data. In the label I have created there are two lines, the first shows the objects layer, the other extracts and displays the required IFC data. &lt;IMG src="https://community.graphisoft.com/legacyfs/online/emojis/icon_biggrin.gif" style="display : inline;" /&gt; The problem is if I change layer the label updates immediately as expected but if I change the value of the IFC data in the object it doesn't and I have to open the label to force the refresh. &lt;IMG src="https://community.graphisoft.com/legacyfs/online/emojis/icon_sad.gif" style="display : inline;" /&gt;&lt;BR /&gt;
&lt;BR /&gt;
&lt;IMG src="https://community.graphisoft.com/legacyfs/online/emojis/icon_question.gif" style="display : inline;" /&gt; Can anyone cast some light on forcing a label refresh automatically? If I change several objects at the same time I don't want to find out the drawings  hit site and still have old values in the labels. &lt;BR /&gt;
&lt;BR /&gt;
I am using &lt;B&gt;Text2&lt;/B&gt; for the output and have seen reference in the GDL manual to this having refresh issues but nothing that made sense to my basic programming skills. It doesn't seem to be a problem in the Generic 18 label.</description>
      <pubDate>Thu, 22 Jan 2015 12:22:03 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225836#M11731</guid>
      <dc:creator>DGSketcher</dc:creator>
      <dc:date>2015-01-22T12:22:03Z</dc:date>
    </item>
    <item>
      <title>Re: Wall Label - IFC Properties</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225837#M11732</link>
      <description>Hi.&lt;BR /&gt;
&lt;BR /&gt;
That's weird.&lt;BR /&gt;
&lt;BR /&gt;
I took the object, turned it into a label, changed "OwnCustomParameters" to "ParentCustomParameters" and did nothing else but comment out the first TEXT2 part and added at the end:&lt;BR /&gt;

&lt;PRE&gt;&lt;I&gt;
&lt;/I&gt;ADD2 0.50,0
TEXT2 0,0,value
DEL 1
&lt;/PRE&gt;

to show the selected value.&lt;BR /&gt;
&lt;BR /&gt;
It updates as expected. Even works when adding custom IFC properties, such as the outside surface like in the great example Laszlo posted for using the generic label.&lt;BR /&gt;
&lt;BR /&gt;
Perhaps there is something else happening?&lt;BR /&gt;
&lt;BR /&gt;
Best regards.</description>
      <pubDate>Thu, 22 Jan 2015 15:16:48 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225837#M11732</guid>
      <dc:creator>sinceV6</dc:creator>
      <dc:date>2015-01-22T15:16:48Z</dc:date>
    </item>
    <item>
      <title>Re: Wall Label - IFC Properties</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225838#M11733</link>
      <description>Are you on PC? &lt;BR /&gt;
&lt;BR /&gt;
I have created a new label in a clean v18 drawing pasted and edited to the master script etc as per your notes. &lt;BR /&gt;
&lt;BR /&gt;
I then created a wall and added your label. It initially appears without a value. &lt;BR /&gt;
&lt;BR /&gt;
Opening the label object shows the parameters populated with the first items from the the T and C section. Only when the label parameters have been clicked (implying a change) will the label display a value. As previous, changing a value in the wall object will not update the label.  &lt;IMG src="https://community.graphisoft.com/legacyfs/online/emojis/icon_rolleyes.gif" style="display : inline;" /&gt;</description>
      <pubDate>Thu, 22 Jan 2015 21:37:05 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225838#M11733</guid>
      <dc:creator>DGSketcher</dc:creator>
      <dc:date>2015-01-22T21:37:05Z</dc:date>
    </item>
    <item>
      <title>Re: Wall Label - IFC Properties</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225839#M11734</link>
      <description>If I ignore the parameter extraction and address the required value directly for example...&lt;BR /&gt;

&lt;PRE&gt;n = APPLICATION_QUERY ("ParentCustomParameters", "GetParameter(IFC.Attributes.Description)", value)&lt;/PRE&gt;

and use it in the 2D script window with Text2 it will update on parent change, but the parameter array extraction will not work in the 2D window.</description>
      <pubDate>Thu, 22 Jan 2015 22:56:06 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225839#M11734</guid>
      <dc:creator>DGSketcher</dc:creator>
      <dc:date>2015-01-22T22:56:06Z</dc:date>
    </item>
    <item>
      <title>Re: Wall Label - IFC Properties</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225840#M11735</link>
      <description>Hi.&lt;BR /&gt;
&lt;BR /&gt;
Yes, I'm on PC.&lt;BR /&gt;
&lt;BR /&gt;
Sorry. I can't reproduce what you are saying. It works for me.&lt;BR /&gt;
&lt;BR /&gt;
The only thing I can come close to is to the part where the label appears without a value, but only if default label for walls is a text label and then this new label is selected. As you say, only after opening the label, parameters and values are populated (initially with the ID). This does not happen if you select that label as default for walls (even though it doesn't displays values in the label settings, as it doesn't have a parent object yet). When the label is default for walls, it appears with the value of the selected parameter as per default settings; but note that all available parameters will only appear after it has been associated with an object as parameters and values depend on parent object.&lt;BR /&gt;
&lt;BR /&gt;
Once placed, I can select any parameter to display its value and, once done, changing the property in the TandC tab of the object (wall, column, etc) updates as it should. I assume you are only changing the displayed value.&lt;BR /&gt;
&lt;BR /&gt;
What values are you changing that do not update? Maybe some screenshots would help; and maybe someone else would like to chime in with more tests.&lt;BR /&gt;
&lt;BR /&gt;
Best regards.</description>
      <pubDate>Thu, 22 Jan 2015 23:18:49 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225840#M11735</guid>
      <dc:creator>sinceV6</dc:creator>
      <dc:date>2015-01-22T23:18:49Z</dc:date>
    </item>
    <item>
      <title>Re: Wall Label - IFC Properties</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225841#M11736</link>
      <description>I think I have this working now. Obviously there is something different between the GDL coding on PC and Mac.&lt;BR /&gt;
&lt;BR /&gt;
If I retain the database collection in the master script then the parameters update as expected. &lt;BR /&gt;
&lt;BR /&gt;
On the Mac the only way I can get the selected output value on the drawing to update automatically is to place the...&lt;BR /&gt;

&lt;PRE&gt;n = APPLICATION_QUERY ("ParentCustomParameters", "GetParameter(" + params + ")", parValue)&lt;/PRE&gt;

in the 2D script window with appropriate Text2 statements. The 2D window can read the parameters created by the Master script as you might expect.&lt;BR /&gt;
&lt;BR /&gt;
I will go and see if I can make this do what I was hoping for...  &lt;IMG src="https://community.graphisoft.com/legacyfs/online/emojis/icon_idea.gif" style="display : inline;" /&gt;  &lt;IMG src="https://community.graphisoft.com/legacyfs/online/emojis/icon_biggrin.gif" style="display : inline;" /&gt; &lt;BR /&gt;
&lt;BR /&gt;
If anybody else has any insight please feel free to share!</description>
      <pubDate>Fri, 23 Jan 2015 11:24:25 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Wall-Label-IFC-Properties/m-p/225841#M11736</guid>
      <dc:creator>DGSketcher</dc:creator>
      <dc:date>2015-01-23T11:24:25Z</dc:date>
    </item>
  </channel>
</rss>

