<?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>How to use Archicad - NEWのトピックプロパティの値をGDLオブジェクトに読み込む方法【旧サイトから転載】</title>
    <link>https://community.graphisoft.com/t5/How-to-use-Archicad-NEW/%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3%E3%81%AE%E5%80%A4%E3%82%92GDL%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AB%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%80%E6%96%B9%E6%B3%95-%E6%97%A7%E3%82%B5%E3%82%A4%E3%83%88%E3%81%8B%E3%82%89%E8%BB%A2%E8%BC%89/m-p/611471#M145</link>
    <description>&lt;P&gt;※本記事は、旧サイト「How to use Archicad」より、&lt;STRONG&gt;UNSUNGHERO&lt;/STRONG&gt;さん の&lt;STRONG&gt;2022年3月24日&lt;/STRONG&gt;の記事を転載しています。&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN class=""&gt;【グラフィソフト追記】&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;BR /&gt;この投稿では、自作のGDLオブジェクトのスクリプトの記載、及びオブジェクトデータのダウンロードができますが、自己責任においてご利用ください。&lt;BR /&gt;——–&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;「テキスト/自動テキスト」のラベルを使えば任意のプロパティを表示することができます。&lt;/P&gt;&lt;P&gt;&amp;lt;YouTube：【ARCHICAD 21新機能】自動テキストラベルの拡張&amp;gt;　&lt;A href="https://youtu.be/TSBhx9nlZhc" target="_blank" rel="noopener"&gt;https://youtu.be/TSBhx9nlZhc&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image-6-450x370.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/64663i8D75E9A7C394DEA5/image-size/large?v=v2&amp;amp;px=999" role="button" title="image-6-450x370.png" alt="image-6-450x370.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;また、テキストの自動テキストを使ってそれをラベルとして登録することが可能です。&lt;/P&gt;&lt;P&gt;&amp;lt;YouTube：【ARCHICAD 22 新機能】カスタム図形ラベル&amp;gt;　&lt;A href="https://youtu.be/ZJUQm6VBnME" target="_blank" rel="noopener"&gt;https://youtu.be/ZJUQm6VBnME&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;このようにGDLでオブジェクトを作らなくてもArchicadにはプロパティを扱う仕組みが用意されています。&lt;BR /&gt;GDLを使ったラベル作成では、&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;縮尺毎に表示する情報を変更する&lt;/LI&gt;&lt;LI&gt;情報毎にフォントサイズ、図形サイズ・形状を変更する&lt;/LI&gt;&lt;LI&gt;要素からの情報を利用した表現(図表など)を作成する&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;などのGDLを活用することで効率的なデータフローを実現することができます。&lt;/P&gt;&lt;P&gt;それでは、プロパティの値をGDLで取得する設定について説明します。 ソースは標準で利用できる「プロパティラベル」から、プロパティの値をGDLで取得するところについて抜き出したものです。&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="image-7.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/64664iD2DBC4ECF2DCA2BD/image-size/large?v=v2&amp;amp;px=999" role="button" title="image-7.png" alt="image-7.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;この仕組みを利用するには添付のGSMファイルからマスタスクリプト、2Dスクリプト、パラメータスクリプト、インターフェーススクリプトをコピーアンドペーストしていただき、パラメータには新規作成して変数とタイプを設定してください。&lt;BR /&gt;&lt;BR /&gt;オブジェクトのサブタイプは「ラベル」を選択します。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image-8.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/64665i1A5B1902B6956D3C/image-size/large?v=v2&amp;amp;px=999" role="button" title="image-8.png" alt="image-8.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;下図にあるように&lt;BR /&gt;　変数名：&lt;EM&gt;&lt;SPAN class=""&gt;i1stRowContent&lt;/SPAN&gt;&lt;/EM&gt;をタイプ：整数&lt;BR /&gt;　変数名：&lt;EM&gt;&lt;SPAN class=""&gt;stPropertyID1&lt;/SPAN&gt;&lt;/EM&gt;をタイプ：テキスト&lt;BR /&gt;として設定します。&lt;/P&gt;&lt;H2&gt;&lt;STRONG&gt;&amp;lt; &lt;/STRONG&gt;&lt;STRONG&gt;パラメータ設定 &amp;gt;&lt;/STRONG&gt;&lt;/H2&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image-9.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/64666iBEDA903F554F742F/image-size/large?v=v2&amp;amp;px=999" role="button" title="image-9.png" alt="image-9.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;H2&gt;&lt;STRONG&gt;&amp;lt; &lt;/STRONG&gt;&lt;STRONG&gt;マスタスクリプト &amp;gt;&lt;/STRONG&gt;&lt;/H2&gt;&lt;P&gt;マスタスクリプトには下記の内容をコピーしてペーストしてください。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image-10.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/64667i1FB392FAF1C81103/image-size/large?v=v2&amp;amp;px=999" role="button" title="image-10.png" alt="image-10.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;EM&gt;CONTENT_PROPERTY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 13&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;PROPVAL_BOOL = 1&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;PROPVAL_INT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;PROPVAL_REALNUM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;PROPVAL_STRING&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 4&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;PROPVAL_LENGTH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 5&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;PROPVAL_AREA&amp;nbsp; = 6&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;PROPVAL_VOLUME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 7&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;PROPVAL_ANGLE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 8&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;H2&gt;&lt;STRONG&gt;&amp;lt; 2D&lt;/STRONG&gt;&lt;STRONG&gt;スクリプト &amp;gt;&lt;/STRONG&gt;&lt;/H2&gt;&lt;P&gt;2Dスクリプトではプロパティをオブジェクト側に読み込んで、テキストとしてアウトプットするためにプロパティのタイプ毎に処理を行っています。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image-11.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/64668i5686002FBEA7080F/image-size/large?v=v2&amp;amp;px=999" role="button" title="image-11.png" alt="image-11.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;!—————————————————————————————————————————–&lt;BR /&gt;!解説：プロパティ値を取得する ——————————————————————ここから—&lt;BR /&gt;! ※プロパティのデータタイプ毎の処理をしている。&lt;BR /&gt;!—————————————————————————————————————————–&lt;BR /&gt;_stPropertyValue = “”&lt;BR /&gt;_stPropertyID = stPropertyID1&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;dim propertyValues[]
	m = request ("Property_Value_Of_Parent", _stPropertyID, _typeValue, dim1, dim2, propertyValues)
	
	if m &amp;gt; 3 then
		_stLengthFormat     = ""
		_stAreaFormat   = ""
		_stVolumeFormat = ""
		_stAngleFormat  = ""
	
		m = request ("Calc_length_unit",    "", _stLengthFormat)
		m = request ("Calc_area_unit",      "", _stAreaFormat)
		m = request ("Calc_volume_unit",    "", _stVolumeFormat)
		m = request ("Calc_angle_unit",     "", _stAngleFormat)
	
		for j = 1 to vardim1(propertyValues)
			if j &amp;gt; 1 then
				_stPropertyValue = _stPropertyValue + "; "
			endif
	
			if _typeValue = PROPVAL_STRING then
				_stPropertyValue = _stPropertyValue + propertyValues[j]
			else
				if _typeValue = PROPVAL_REALNUM then
					_stPropertyValue = _stPropertyValue + str ("%.2", propertyValues[j])
				else
					if _typeValue = PROPVAL_INT then
						_stPropertyValue = _stPropertyValue + str ("%.0", propertyValues[j])
					else
						if _typeValue = PROPVAL_BOOL then
							if propertyValues[j] &amp;gt; 0 then
								_stPropertyValue = _stPropertyValue + `TRUE`
							else
								_stPropertyValue = _stPropertyValue + `FALSE`
							endif
						else
							if _typeValue = PROPVAL_LENGTH then
								_stPropertyValue = _stPropertyValue + str(_stLengthFormat, propertyValues[j])
							else
								if _typeValue = PROPVAL_AREA then
									_stPropertyValue = _stPropertyValue + str(_stAreaFormat, propertyValues[j])
								else
									if _typeValue = PROPVAL_VOLUME then
										_stPropertyValue = _stPropertyValue + str(_stVolumeFormat, propertyValues[j])
									else
										if _typeValue = PROPVAL_ANGLE then
											_stPropertyValue = _stPropertyValue + str(_stAngleFormat, propertyValues[j])
										else
											_stPropertyValue = _stPropertyValue     ! Undefined Value Type
										endif
									endif
								endif
							endif
						endif
					endif
				endif
			endif
		next j
	else
		_stPropertyValue = "---"
	endif&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN class=""&gt;!—————————————————————————————————————————–&lt;BR /&gt;!解説：プロパティ値を取得する ——————————————————————ここまで—&lt;BR /&gt;! ※_stPropertyValueがプロパティ値なので、このパラメータを使って文字表示する。&lt;BR /&gt;!—————————————————————————————————————————–&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;TEXT2 0,0,_stPropertyValue&lt;/SPAN&gt;&lt;/P&gt;&lt;H2&gt;＜パラメータスクリプト＞&lt;/H2&gt;&lt;P&gt;こちらはプロパティ値以外の項目を選べるようにするところですが、「プロパティラベル」ではID、名前、カスタムテキスト、プロパティ値が選択できるようになっていて、下記のようなスクリプトになっています。&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;dim _stRowContent[4]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;_stRowContent[1] = ID&lt;BR /&gt;_stRowContent[2] = 名前&lt;BR /&gt;_stRowContent[3] = カスタムテキスト&lt;BR /&gt;_stRowContent[4] = プロパティ値&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;values{2} “i1stRowContent” CONTENT_ID, _stRowContent[1],&lt;BR /&gt;CONTENT_ELEMENT_NAME, _stRowContent[2],&lt;BR /&gt;CONTENT_CUSTOM, _stRowContent[3],&lt;BR /&gt;CONTENT_PROPERTY, _stRowContent[4]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;その中からプロパティ値に関するところだけを抽出したのが下図のスクリプトです。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image-12.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/64669iFF955EAC1FA79E90/image-size/large?v=v2&amp;amp;px=999" role="button" title="image-12.png" alt="image-12.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;!——————————————————————————————————————————————&lt;BR /&gt;!解説：パラメータ「i1stRowContent」で「コンテンツタイプ」を選択できるようにする—–ここから—&lt;BR /&gt;!——————————————————————————————————————————————&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;dim _stRowContent[1]&lt;BR /&gt;_stRowContent[1] = プロパティ値&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;BR /&gt;values{2} “i1stRowContent” CONTENT_PROPERTY, _stRowContent[1]&lt;BR /&gt;&lt;BR /&gt;!——————————————————————————————————————————————&lt;BR /&gt;!解説：パラメータ「i1stRowContent」で「コンテンツタイプ」を選択できるようにする—–ここまで—&lt;BR /&gt;!——————————————————————————————————————————————&lt;/SPAN&gt;&lt;/P&gt;&lt;H2&gt;&amp;lt; インターフェーススクリプト &amp;gt;&lt;/H2&gt;&lt;P&gt;ここではどのプロパティの値をGDL側に流すかを選択するインターフェースを設定します。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image-13.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/64670i346D4D380D4B1075/image-size/large?v=v2&amp;amp;px=999" role="button" title="image-13.png" alt="image-13.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;!—————————————————————————————————————————-&lt;BR /&gt;!解説：プロパティ名を取得する ——————————————————————ここから—&lt;BR /&gt;!—————————————————————————————————————————-&lt;BR /&gt;&lt;BR /&gt;dim parentPropertiesArray[]&lt;BR /&gt;n = request (“Properties_Of_Parent”, “”, parentPropertiesArray)&lt;BR /&gt;&lt;BR /&gt;!—————————————————————————————————————————-&lt;BR /&gt;!解説：プロパティ名を取得する ——————————————————————ここまで—&lt;BR /&gt;!—————————————————————————————————————————-&lt;BR /&gt;&lt;BR /&gt;!—————————————————————————————————————————-&lt;BR /&gt;!解説：インターフェースのレイアウト ———————————————————ここから—&lt;BR /&gt;!—————————————————————————————————————————-&lt;BR /&gt;&lt;BR /&gt;TABID_ROOT = -1&lt;BR /&gt;_idxTab = 1&lt;BR /&gt;TABID_GENERAL = _idxTab : _idxTab = _idxTab + 1&lt;BR /&gt;TABID_GEOMETRY = _idxTab : _idxTab = _idxTab + 1&lt;BR /&gt;TABID_INFORMATION = _idxTab : _idxTab = _idxTab + 1&lt;BR /&gt;&lt;BR /&gt;_stTabTitles = “一般設定”&lt;BR /&gt;_iTabIconID = 1&lt;BR /&gt;&lt;BR /&gt;ui_page TABID_GENERAL, TABID_ROOT, _stTabTitles, _iTabIconID&lt;BR /&gt;&lt;BR /&gt;inFieldHeight = 19&lt;BR /&gt;inFieldWidth = 135&lt;BR /&gt;x4 = 0&lt;BR /&gt;x5 = x4 + infieldWidth&lt;BR /&gt;yCurr = 4&lt;BR /&gt;&lt;BR /&gt;if i1stRowContent = CONTENT_PROPERTY then&lt;BR /&gt;_stSelected = “”&lt;BR /&gt;_stPropID = stPropertyID1&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;r = REQUEST ("Property_Name", _stPropID, _typeName, _groupName, _propertyName)
	
	if r &amp;gt; 2 then
		_stSelected = _propertyName
	else
		_stSelected = ""
	endif
	
	ui_custom_popup_infield "stPropertyID1", x4, yCurr-4, x5-x4, inFieldHeight,
		1, 3, 1, _stSelected,
		parentPropertiesArray&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN class=""&gt;endif&lt;BR /&gt;&lt;BR /&gt;!—————————————————————————————————————————-&lt;BR /&gt;!解説：インターフェースのレイアウト ———————————————————ここまで—&lt;BR /&gt;!—————————————————————————————————————————-&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;GDLは既存のスクリプトをコピペして、必要な改造をしていくことでやりたいことが実現しやすいですので、こちらからGSMファイルをダウンロードしてご利用ください。&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://drive.google.com/file/d/1dcon_MISKnDzavcvnd048unSrSOgP-po/view?usp=sharing" target="_blank" rel="noreferrer noopener"&gt;&lt;STRONG&gt;&lt;SPAN class=""&gt;プロパティ取得_AC25.gsm&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/A&gt;　※Googleドライブのリンクになります。GetPropertyGDL_AC25.zip&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;SPAN class=""&gt;【注意事項　グラフィソフト追記】&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;BR /&gt;本GDLオブジェクトは、自己責任においてご利用ください。&lt;/P&gt;</description>
    <pubDate>Tue, 25 Jun 2024 11:40:55 GMT</pubDate>
    <dc:creator>How to use Archicad</dc:creator>
    <dc:date>2024-06-25T11:40:55Z</dc:date>
    <item>
      <title>プロパティの値をGDLオブジェクトに読み込む方法【旧サイトから転載】</title>
      <link>https://community.graphisoft.com/t5/How-to-use-Archicad-NEW/%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3%E3%81%AE%E5%80%A4%E3%82%92GDL%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AB%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%80%E6%96%B9%E6%B3%95-%E6%97%A7%E3%82%B5%E3%82%A4%E3%83%88%E3%81%8B%E3%82%89%E8%BB%A2%E8%BC%89/m-p/611471#M145</link>
      <description>&lt;P&gt;※本記事は、旧サイト「How to use Archicad」より、&lt;STRONG&gt;UNSUNGHERO&lt;/STRONG&gt;さん の&lt;STRONG&gt;2022年3月24日&lt;/STRONG&gt;の記事を転載しています。&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN class=""&gt;【グラフィソフト追記】&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;BR /&gt;この投稿では、自作のGDLオブジェクトのスクリプトの記載、及びオブジェクトデータのダウンロードができますが、自己責任においてご利用ください。&lt;BR /&gt;——–&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;「テキスト/自動テキスト」のラベルを使えば任意のプロパティを表示することができます。&lt;/P&gt;&lt;P&gt;&amp;lt;YouTube：【ARCHICAD 21新機能】自動テキストラベルの拡張&amp;gt;　&lt;A href="https://youtu.be/TSBhx9nlZhc" target="_blank" rel="noopener"&gt;https://youtu.be/TSBhx9nlZhc&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image-6-450x370.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/64663i8D75E9A7C394DEA5/image-size/large?v=v2&amp;amp;px=999" role="button" title="image-6-450x370.png" alt="image-6-450x370.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;また、テキストの自動テキストを使ってそれをラベルとして登録することが可能です。&lt;/P&gt;&lt;P&gt;&amp;lt;YouTube：【ARCHICAD 22 新機能】カスタム図形ラベル&amp;gt;　&lt;A href="https://youtu.be/ZJUQm6VBnME" target="_blank" rel="noopener"&gt;https://youtu.be/ZJUQm6VBnME&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;このようにGDLでオブジェクトを作らなくてもArchicadにはプロパティを扱う仕組みが用意されています。&lt;BR /&gt;GDLを使ったラベル作成では、&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;縮尺毎に表示する情報を変更する&lt;/LI&gt;&lt;LI&gt;情報毎にフォントサイズ、図形サイズ・形状を変更する&lt;/LI&gt;&lt;LI&gt;要素からの情報を利用した表現(図表など)を作成する&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;などのGDLを活用することで効率的なデータフローを実現することができます。&lt;/P&gt;&lt;P&gt;それでは、プロパティの値をGDLで取得する設定について説明します。 ソースは標準で利用できる「プロパティラベル」から、プロパティの値をGDLで取得するところについて抜き出したものです。&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="image-7.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/64664iD2DBC4ECF2DCA2BD/image-size/large?v=v2&amp;amp;px=999" role="button" title="image-7.png" alt="image-7.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;この仕組みを利用するには添付のGSMファイルからマスタスクリプト、2Dスクリプト、パラメータスクリプト、インターフェーススクリプトをコピーアンドペーストしていただき、パラメータには新規作成して変数とタイプを設定してください。&lt;BR /&gt;&lt;BR /&gt;オブジェクトのサブタイプは「ラベル」を選択します。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image-8.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/64665i1A5B1902B6956D3C/image-size/large?v=v2&amp;amp;px=999" role="button" title="image-8.png" alt="image-8.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;下図にあるように&lt;BR /&gt;　変数名：&lt;EM&gt;&lt;SPAN class=""&gt;i1stRowContent&lt;/SPAN&gt;&lt;/EM&gt;をタイプ：整数&lt;BR /&gt;　変数名：&lt;EM&gt;&lt;SPAN class=""&gt;stPropertyID1&lt;/SPAN&gt;&lt;/EM&gt;をタイプ：テキスト&lt;BR /&gt;として設定します。&lt;/P&gt;&lt;H2&gt;&lt;STRONG&gt;&amp;lt; &lt;/STRONG&gt;&lt;STRONG&gt;パラメータ設定 &amp;gt;&lt;/STRONG&gt;&lt;/H2&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image-9.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/64666iBEDA903F554F742F/image-size/large?v=v2&amp;amp;px=999" role="button" title="image-9.png" alt="image-9.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;H2&gt;&lt;STRONG&gt;&amp;lt; &lt;/STRONG&gt;&lt;STRONG&gt;マスタスクリプト &amp;gt;&lt;/STRONG&gt;&lt;/H2&gt;&lt;P&gt;マスタスクリプトには下記の内容をコピーしてペーストしてください。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image-10.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/64667i1FB392FAF1C81103/image-size/large?v=v2&amp;amp;px=999" role="button" title="image-10.png" alt="image-10.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;EM&gt;CONTENT_PROPERTY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 13&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;PROPVAL_BOOL = 1&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;PROPVAL_INT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;PROPVAL_REALNUM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;PROPVAL_STRING&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 4&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;PROPVAL_LENGTH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 5&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;PROPVAL_AREA&amp;nbsp; = 6&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;PROPVAL_VOLUME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 7&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;PROPVAL_ANGLE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 8&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;H2&gt;&lt;STRONG&gt;&amp;lt; 2D&lt;/STRONG&gt;&lt;STRONG&gt;スクリプト &amp;gt;&lt;/STRONG&gt;&lt;/H2&gt;&lt;P&gt;2Dスクリプトではプロパティをオブジェクト側に読み込んで、テキストとしてアウトプットするためにプロパティのタイプ毎に処理を行っています。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image-11.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/64668i5686002FBEA7080F/image-size/large?v=v2&amp;amp;px=999" role="button" title="image-11.png" alt="image-11.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;!—————————————————————————————————————————–&lt;BR /&gt;!解説：プロパティ値を取得する ——————————————————————ここから—&lt;BR /&gt;! ※プロパティのデータタイプ毎の処理をしている。&lt;BR /&gt;!—————————————————————————————————————————–&lt;BR /&gt;_stPropertyValue = “”&lt;BR /&gt;_stPropertyID = stPropertyID1&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;dim propertyValues[]
	m = request ("Property_Value_Of_Parent", _stPropertyID, _typeValue, dim1, dim2, propertyValues)
	
	if m &amp;gt; 3 then
		_stLengthFormat     = ""
		_stAreaFormat   = ""
		_stVolumeFormat = ""
		_stAngleFormat  = ""
	
		m = request ("Calc_length_unit",    "", _stLengthFormat)
		m = request ("Calc_area_unit",      "", _stAreaFormat)
		m = request ("Calc_volume_unit",    "", _stVolumeFormat)
		m = request ("Calc_angle_unit",     "", _stAngleFormat)
	
		for j = 1 to vardim1(propertyValues)
			if j &amp;gt; 1 then
				_stPropertyValue = _stPropertyValue + "; "
			endif
	
			if _typeValue = PROPVAL_STRING then
				_stPropertyValue = _stPropertyValue + propertyValues[j]
			else
				if _typeValue = PROPVAL_REALNUM then
					_stPropertyValue = _stPropertyValue + str ("%.2", propertyValues[j])
				else
					if _typeValue = PROPVAL_INT then
						_stPropertyValue = _stPropertyValue + str ("%.0", propertyValues[j])
					else
						if _typeValue = PROPVAL_BOOL then
							if propertyValues[j] &amp;gt; 0 then
								_stPropertyValue = _stPropertyValue + `TRUE`
							else
								_stPropertyValue = _stPropertyValue + `FALSE`
							endif
						else
							if _typeValue = PROPVAL_LENGTH then
								_stPropertyValue = _stPropertyValue + str(_stLengthFormat, propertyValues[j])
							else
								if _typeValue = PROPVAL_AREA then
									_stPropertyValue = _stPropertyValue + str(_stAreaFormat, propertyValues[j])
								else
									if _typeValue = PROPVAL_VOLUME then
										_stPropertyValue = _stPropertyValue + str(_stVolumeFormat, propertyValues[j])
									else
										if _typeValue = PROPVAL_ANGLE then
											_stPropertyValue = _stPropertyValue + str(_stAngleFormat, propertyValues[j])
										else
											_stPropertyValue = _stPropertyValue     ! Undefined Value Type
										endif
									endif
								endif
							endif
						endif
					endif
				endif
			endif
		next j
	else
		_stPropertyValue = "---"
	endif&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN class=""&gt;!—————————————————————————————————————————–&lt;BR /&gt;!解説：プロパティ値を取得する ——————————————————————ここまで—&lt;BR /&gt;! ※_stPropertyValueがプロパティ値なので、このパラメータを使って文字表示する。&lt;BR /&gt;!—————————————————————————————————————————–&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;TEXT2 0,0,_stPropertyValue&lt;/SPAN&gt;&lt;/P&gt;&lt;H2&gt;＜パラメータスクリプト＞&lt;/H2&gt;&lt;P&gt;こちらはプロパティ値以外の項目を選べるようにするところですが、「プロパティラベル」ではID、名前、カスタムテキスト、プロパティ値が選択できるようになっていて、下記のようなスクリプトになっています。&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;dim _stRowContent[4]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;_stRowContent[1] = ID&lt;BR /&gt;_stRowContent[2] = 名前&lt;BR /&gt;_stRowContent[3] = カスタムテキスト&lt;BR /&gt;_stRowContent[4] = プロパティ値&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;values{2} “i1stRowContent” CONTENT_ID, _stRowContent[1],&lt;BR /&gt;CONTENT_ELEMENT_NAME, _stRowContent[2],&lt;BR /&gt;CONTENT_CUSTOM, _stRowContent[3],&lt;BR /&gt;CONTENT_PROPERTY, _stRowContent[4]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;その中からプロパティ値に関するところだけを抽出したのが下図のスクリプトです。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image-12.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/64669iFF955EAC1FA79E90/image-size/large?v=v2&amp;amp;px=999" role="button" title="image-12.png" alt="image-12.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;!——————————————————————————————————————————————&lt;BR /&gt;!解説：パラメータ「i1stRowContent」で「コンテンツタイプ」を選択できるようにする—–ここから—&lt;BR /&gt;!——————————————————————————————————————————————&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;dim _stRowContent[1]&lt;BR /&gt;_stRowContent[1] = プロパティ値&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;BR /&gt;values{2} “i1stRowContent” CONTENT_PROPERTY, _stRowContent[1]&lt;BR /&gt;&lt;BR /&gt;!——————————————————————————————————————————————&lt;BR /&gt;!解説：パラメータ「i1stRowContent」で「コンテンツタイプ」を選択できるようにする—–ここまで—&lt;BR /&gt;!——————————————————————————————————————————————&lt;/SPAN&gt;&lt;/P&gt;&lt;H2&gt;&amp;lt; インターフェーススクリプト &amp;gt;&lt;/H2&gt;&lt;P&gt;ここではどのプロパティの値をGDL側に流すかを選択するインターフェースを設定します。&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image-13.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/64670i346D4D380D4B1075/image-size/large?v=v2&amp;amp;px=999" role="button" title="image-13.png" alt="image-13.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;!—————————————————————————————————————————-&lt;BR /&gt;!解説：プロパティ名を取得する ——————————————————————ここから—&lt;BR /&gt;!—————————————————————————————————————————-&lt;BR /&gt;&lt;BR /&gt;dim parentPropertiesArray[]&lt;BR /&gt;n = request (“Properties_Of_Parent”, “”, parentPropertiesArray)&lt;BR /&gt;&lt;BR /&gt;!—————————————————————————————————————————-&lt;BR /&gt;!解説：プロパティ名を取得する ——————————————————————ここまで—&lt;BR /&gt;!—————————————————————————————————————————-&lt;BR /&gt;&lt;BR /&gt;!—————————————————————————————————————————-&lt;BR /&gt;!解説：インターフェースのレイアウト ———————————————————ここから—&lt;BR /&gt;!—————————————————————————————————————————-&lt;BR /&gt;&lt;BR /&gt;TABID_ROOT = -1&lt;BR /&gt;_idxTab = 1&lt;BR /&gt;TABID_GENERAL = _idxTab : _idxTab = _idxTab + 1&lt;BR /&gt;TABID_GEOMETRY = _idxTab : _idxTab = _idxTab + 1&lt;BR /&gt;TABID_INFORMATION = _idxTab : _idxTab = _idxTab + 1&lt;BR /&gt;&lt;BR /&gt;_stTabTitles = “一般設定”&lt;BR /&gt;_iTabIconID = 1&lt;BR /&gt;&lt;BR /&gt;ui_page TABID_GENERAL, TABID_ROOT, _stTabTitles, _iTabIconID&lt;BR /&gt;&lt;BR /&gt;inFieldHeight = 19&lt;BR /&gt;inFieldWidth = 135&lt;BR /&gt;x4 = 0&lt;BR /&gt;x5 = x4 + infieldWidth&lt;BR /&gt;yCurr = 4&lt;BR /&gt;&lt;BR /&gt;if i1stRowContent = CONTENT_PROPERTY then&lt;BR /&gt;_stSelected = “”&lt;BR /&gt;_stPropID = stPropertyID1&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;r = REQUEST ("Property_Name", _stPropID, _typeName, _groupName, _propertyName)
	
	if r &amp;gt; 2 then
		_stSelected = _propertyName
	else
		_stSelected = ""
	endif
	
	ui_custom_popup_infield "stPropertyID1", x4, yCurr-4, x5-x4, inFieldHeight,
		1, 3, 1, _stSelected,
		parentPropertiesArray&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN class=""&gt;endif&lt;BR /&gt;&lt;BR /&gt;!—————————————————————————————————————————-&lt;BR /&gt;!解説：インターフェースのレイアウト ———————————————————ここまで—&lt;BR /&gt;!—————————————————————————————————————————-&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;GDLは既存のスクリプトをコピペして、必要な改造をしていくことでやりたいことが実現しやすいですので、こちらからGSMファイルをダウンロードしてご利用ください。&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://drive.google.com/file/d/1dcon_MISKnDzavcvnd048unSrSOgP-po/view?usp=sharing" target="_blank" rel="noreferrer noopener"&gt;&lt;STRONG&gt;&lt;SPAN class=""&gt;プロパティ取得_AC25.gsm&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/A&gt;　※Googleドライブのリンクになります。GetPropertyGDL_AC25.zip&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;SPAN class=""&gt;【注意事項　グラフィソフト追記】&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;BR /&gt;本GDLオブジェクトは、自己責任においてご利用ください。&lt;/P&gt;</description>
      <pubDate>Tue, 25 Jun 2024 11:40:55 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/How-to-use-Archicad-NEW/%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3%E3%81%AE%E5%80%A4%E3%82%92GDL%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AB%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%80%E6%96%B9%E6%B3%95-%E6%97%A7%E3%82%B5%E3%82%A4%E3%83%88%E3%81%8B%E3%82%89%E8%BB%A2%E8%BC%89/m-p/611471#M145</guid>
      <dc:creator>How to use Archicad</dc:creator>
      <dc:date>2024-06-25T11:40:55Z</dc:date>
    </item>
  </channel>
</rss>

