住宅だとゾーン名が洋室1,洋室2,3…..、子供室1,子供室2,3…..や、ビルなどではPS1,PS2,3…WC1,WC2,3….等とゾーン名が枝番違いだけど仕上は同じで、仕上表に複数の室名が出るケースがある場合、1室のみを代表室名として設定する方法です。
※ 今回の記事では、Archicad 25 実施設計テンプレートを使用しています。
下図の様な室名は同じで、枝番違いの洋室が3室ある例として進めて行きます。
一覧表で仕上表を表示すると、この様になります。
・共通の設定
仕上表に表示させるゾーンをプロパティで選択できる様にします。
[オプションメニュー]→[プロパティマネージャー]
①「内部仕上情報」をクリックしておきます、②右側の「+」マーク、又は②下部の「新規作成」ボタンをクリック、メニューが出ますので、③プロパティ名に『仕上表_代表室名の使用』とし、④OK
①データタイプを「オプションセット」とし、②オプションセットに『ON』と『OFF』を追加、③使用可能な分類を「カスタム」にチェックを入れ編集ボタンをクリックして、④「スペース」の項目を追加、⑤デフォルト値はOFFにしてOKをクリックして一旦プロパティマネージャーの設定から出ます。
平面図に戻りましたら、全てのゾーンを選択し、右クリックから「選択したゾーンの設定」をクリック。
①分類とプロパティタブから「ARCHICAD 分類-v2.0」にチェックを入れ、「スペース」を選択します。
次に、代表室名に使用したい1室、ここでは、洋室1を選択し、再度右クリックから選択したゾーンの設定をクリック。
①「分類とプロパティ」タブから②ARCHICAD分類-v2.0を「スペース」を選択されているかを確認、③先程作成したプロパティ『仕上表_代表室名の使用』の右側の矢印から「ON」を選択。
次に一覧表の設定
メニューバーの「ドキュメント」→「一覧表」→「一覧表設定」を開き「内部仕上表_A1」を複製し、名前を「内部仕上表」とします。
①「基準を追加」→②「プロパティ」→③「内部仕上情報」→④「仕上表_代表室名の使用」を選択。
追加された「仕上表_代表室名の使用」を「等しい」の値を「ON」
次の様に選択した洋室1のみが表示されました。
ここまでが共通の設定でした。
続いて室名を「洋室1」から「洋室*」に表示させる設定
1.代表室名を手入力する方法。
この方法は、文字入力用のプロパティを作成し、ゾーンに対して手入力で室名を書き込むシンプルな方法です。
[オプションメニュー]→[プロパティマネージャー]より設定画面を開き
①「新規作成」→②プロパティ名を「仕上表_代表室名_手入力」とし、③データタイプを「文字列」④デフォルト値の値を「未入力」⑤使用可能な分類をカスタム→編集→「スペース」を選択してOKをクリック。
平面図に戻り、洋室1を選択し、ゾーンの設定を開き、先程追加した「仕上表_代表室名_手入力」の未入力となっているヶ所を「洋室*」と入力しOKをクリック。
次に一覧表の設定
メニューバーの「ドキュメント」→「一覧表」→「内部仕上表」を開き「一覧表設定」
①「基準を追加」→ ②「プロパティ」→ ③「内部仕上情報」→ ④「仕上表_代表室名の使用」を選択。
①「フィールドを追加」→「プロパティ」→「内部仕上情報」→②「仕上表_代表室名_手入力」を追加します
一覧表に「洋室*」を表示する事が出来ました。
ここまでが、手入力の方法でした。シンプルですが、数が多い場合は大変ですね。
2.室名と枝番の間に区切り文字がある場合の方法
この方法は、ゾーン名に「洋室-1」の様に室名の後に「-」等の区切り文字がある場合、プロパティマネージャーの作成に数式を利用して、ゾーン名を読み取って区切り文字以降を別の文字に置換する(正確には、文字列の結合)方法です。
今回は置き換える文字列をプロパティ値で自由に書き換えられるようにしたいと思います。
・置換文字列の設定
※ 設定画面に入る前に、代表室名としたい「洋室-1」のゾーンを選択して進めます。(選択するのは、設定画面で設定中に評価をして、値を確認する為ですので、必ずしもゾーンを選択して設定する事ではありません。)
ゾーン名はハイフンを入れてます。
[オプションメニュー]→[プロパティマネージャー]より設定画面を開き
内部仕上情報内にて「新規作成」→①プロパティ名を「仕上表_代表室名_置換文字」とし、②データタイプを「文字列」、デフォルト値を③「*」(アスタリスク)、④「使用可能な分類」をカスタムにチェックを入れ、「スペース」を選択してOKをクリック。
・ゾーン名を読み取って区切り文字以降を置換文字と結合する設定
[オプションメニュー]→[プロパティマネージャー]より設定画面を開き
内部仕上情報内にて「新規作成」→①プロパティ名を「仕上表_代表室名_自動」とし、②データタイプを「文字列」、デフォルト値の③数式にチェックします。
数式エディタが開きます。
①「パラメータとプロパティ」→「ゾーン」→「ゾーン名」→「追加」
①「fx」→②「テキスト編集」→③「SPLITLEFT」を追加
ーーーーーーーーーーーーーーーーーー
ARCHICAD 25 リファレンスガイドより
文字列を左から分割[SPRITLEFT]
{文字列を指定された区切り文字で分割します。指定された部分とそれより左側の全ての部分を返します。}
ーーーーーーーーーーーーーーーーーー
この時点では、エラーになっています。
追加した関数「SPLITLEFT」の括弧内は使用方法になっています、「”テキスト”」部分には元となる文字列を意味しますのでこちらに先程追加した「ゾーン名を」貼り付けます。その際の注意事項として「””」は無くします。「””」が必要な時は、直接ここに書き込む場合です。今回はパラメータを所得してますので、「””」は無しです。
「”区切り文字”」の部分には直接書き込むので、「”-“」です。
「部分のインデックス」に、整数を入れます。今回は「1」です。この値は、「洋室-1-1-1」とかハイフンがいくつかある場合のハイフンの位置になります。
OKをクリックして、①評価ボタンをクリックします。
②プロパティの値:洋室となっています。
この時点で、「-」の区切り文字から左側の文字だけ分割出来ています。
再度、編集に入り①「fx」→②「テキスト編集」→③「CONCAT」を追加
ーーーーーーーーーーーーーーーーーー
ARCHICAD 25 リファレンスガイドより
文字列の結合[CONCAT]
{2つ以上のテキストを1つに結合します。}
ーーーーーーーーーーーーーーーーーー
「SPLITLEFT( ゾーン名 , “-” , 1)」の部分をカットし、“テキスト1”の位置に貼り付けます。「””」は無しです。
続いて、「,」から「 ) 」までの間は消去し、「パラメータとプロパティ」→「プロパティ」→「内部仕上情報」→「仕上表_代表室名_置換文字」を追加します。
OKをクリックして、①評価ボタンをクリックします。
②プロパティの値:洋室*となっています。
ここまでが、数式を利用して、自動取得する方法でした。
3.室名と枝番の間にハイフン等の区切り文字がない場合の方法。
この方法は、ゾーン名に「洋室1」の様に室名の後に「-」等の区切り文字がない場合、プロパティマネージャーの作成に数式を利用して、ゾーン名の文字数を読み取って、枝番以降を別の文字に置換する(正確には、文字列の結合)方法です。
ゾーン名の文字数を読み取るのですが、枝番まで読み取るので枝番の文字数を与えなければいけません。
そこで、新たにプロパティ「同タイプの室数」を追加します。次の様なイメージ
「全体のゾーン名」ー「同タイプの室数」=「室名」
・「同タイプの室数」の追加
[オプションメニュー]→[プロパティマネージャー]より設定画面を開き
内部仕上情報内にて「新規作成」→①プロパティ名を「仕上表_代表室名_同タイプ室数」とし、②データタイプを「オプションセット」とし、③「9室以下」と「10室以上」を追加、デフォルト値を④「9室以下」、使用可能な分類に⑤「スペース」を追加しOK。
・ゾーン名の文字数を読み取って枝番以降を置換文字と結合する設定
プロパティマネージャーの設定画面はそのままで、内部仕上情報タブのハイフンありで作成した「仕上表_代表室名_自動」をクリックして、新規作成ボタン右のvをクリックして、複製
数式は一旦削除し、再度数式を編集します。
①「fx」→②「テキスト編集」→③「LEN」を追加
ーーーーーーーーーーーーーーーーーー
ARCHICAD 25 リファレンスガイドより
文字列の長さ[LEN]
{文字列内の文字数(スペースを含む)を返します。}
ーーーーーーーーーーーーーーーーーー
「”テキスト”」部分を消去して、①「パラメータとプロパティ」→「ゾーン」→「ゾーン名」→「追加」
LEN(ゾーン名)に続いて、キーボードから「-」を入力し、fx→論理関数→IFを追加します。
LEN(ゾーン名) – IF(論理 , 真の場合の値 , 偽の場合の値)となっていると思います。
論理の部分には、先についかした「仕上表_代表室名_同タイプ室数」を追加します。
「パラメータとプロパティタブ」→「プロパティ」→「内部仕上情報」→「仕上表_代表室名_同タイプ室数」
続いて、下記のようにキーボードで入力
LEN(ゾーン名) – IF(仕上表_代表室名_同タイプ室数 = “9室以下” , 1 , 2)
この時点で、データタイプを整数にして、評価ボタンで確認してみます。
「プロパティの値:2」となっています。
洋室1ー 1=2 なので正しい値が返っています。
ゾーン名の枝番を文字数を引いた値が取れたので、次に枝番なしのゾーン名を取り出します。
データタイプを文字列に戻し、赤くなった数式クリックして編集
①「fx」→②「テキスト編集」→③「LEFT」を追加
ーーーーーーーーーーーーーーーーーー
ARCHICAD 25 リファレンスガイドより
左から文字列の取り出し[LEFT]
テキスト文字列先頭から指定した文字数を返します。
ーーーーーーーーーーーーーーーーーー
LEFT(“テキスト”,文字数) が追加されました。
「”テキスト”」部分を消去して、①「パラメータとプロパティ」→「ゾーン」→「ゾーン名」→「追加」
「文字数」部分に先程までの文字列をカット → ペーストします
OKをクリックして、評価ボタンで確認してみます。
「プロパティの値:洋室」となっています。
ここまで出来れば、室名と枝番の間に区切り文字がある場合の方法でも使用した「CONCAT」で「仕上表_代表室名_置換文字」を結合すれば良いですね。
この様になればOKです。
評価ボタンで確認
ここまでが、室名と枝番の間にハイフン等の区切り文字がない場合の方法でした。
以上の3つのタイプの使い勝手の良いもので、一覧表に追加して使用してみて下さい。
次回、他のゾーンと合わせて一覧表で表示する設定方法をアップ致します。