キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

ご意見をお聞かせください!
Archicad 28のホーム画面とツールチップ/クイックチュートリアルに関するアンケートにご協力ください。

How to use Archicad - NEW
リニューアルしたHow to use Archicadです! みなさんのArchicadの使い方を教えてください!

ゾーンの面積の小数点以下の処理を行う方法【旧サイトから転載】

※本記事は、旧サイト「How to use Archicad」より、UNSUNGHEROさん の2020年11月19日の記事を転載しています。

 

数式エディタを使って、ゾーンの面積について小数点以下の処理を行っていきます。四捨五入、切り捨て、切り上げの処理を行い、表示する小数点以下の桁数について容易にコントロールできるように設定していく方法についてご紹介します。

使う関数は以下の5つです。

関数名:[ STRTONUM ]
機能:文字列から数値を抽出します。

area_02.png

 

関数名:[ STRCALCUNIT ]
機能:長さ、面積、体積、角度の値から文字列に変換します。

area_03.png

関数名:[ ROUND ]
機能:数値と整数について指定した桁数以下を切り捨てて値を丸めます。

area_04.png

関数:[ ROUNDDOWN ]
機能:数値と整数について指定した桁数以下を切り捨てて値を丸めます。

area_05.png

関数:[ ROUNDUP ]
機能:数値と整数について指定した桁数以下を切り上げて値を丸めます。

area_06.png

使う関数について理解したところでゾーンの面積を数式エディタで扱うための処理について説明します。

ARCHICADでは四捨五入([ ROUND ]) 、切り上げ([ ROUNDUP ]) 、切り捨て([ ROUNDDOWN ]) の関数で扱える引数のタイプは「整数と数値」になります。
ゾーンの[ 測定面積 ]についてはタイプが「面積」なので「面積から数値」に変換する必要があります。

ここで悩ましいのが値のタイプを「面積から数値に変換」するための関数が存在しないことです。
そこで、「面積から『文字列』に変換して、『文字列』から数値に変換」と処理する関数を組みます。

まず、「面積から『文字列』に変換」するにはSTRCALCUNIT関数を使います。
STRCALCUNITの後に括弧書きで長さ、面積、体積、角度の値を入れるので、数式エディタではSTRCALCUNIT (測定面積)と記述します。

※注:斜体文字はプロパティから選択する必要があります。
数式エディタにコピペする方はこちらのテキストをご利用ください。 
STRCALCUNIT ( {Property:ゾーン/測定面積} )
これで、面積値が文字列に変換されています。

次に、「『文字列』から数値に変換」するためにSTRTONUM関数を使います。
STRTONUMの後に括弧書きで文字列の値を入れるので、数式エディタではSTRTONUM(STRCALCUNIT (測定面積))と記述します。

数式エディタにコピペする方はこちらのテキストをご利用ください。 
STRTONUM ( STRCALCUNIT ( {Property:ゾーン/測定面積} ) )
これで、面積値を数値に変換されています。
面積値を数値に変換するための関数の組み方を理解したら下図の5つのプロパティを用意します。

解説用の設定では、グループ名を「TEST」としています。
プロパティ名については作成される方が分かりやすく調整するか、貴社の命名規則があればそれに合わせて作成していただいて構いません。

area_07.png

使用可能な分類は全てのプロパティに共通して(分類の設定がデフォルトの場合)「スペース」とします。

area_08.png

①プロパティの小数点の以下の桁数をパラメトリックに変更できるようにする設定

  • プロパティ名:小数点
  • データタイプ:オプションセット
  • オプションセットの値:0、1、2、3、4
  • デフォルト値:任意で設定いただけますが今回は3としています。

area_09.png

②数式内に小数点以下の桁数設定を読み込むための設定

  • プロパティ名:小数点_設定
  • データタイプ:数値
  • デフォルト値:数式で「STRTONUM(小数点※1)」

※1:①で作成したプロパティ「小数点」を引数に設定します。また、オプションセットで設定した0~4までの値のタイプは「文字」として扱われていますのでSTRTONUM関数で「文字から数値」に変換します。
数式エディタにコピペする方はこちらのテキストをご利用ください。
STRTONUM ( {Property:TEST/小数点} )

area_10-1.png


③「面積値_四捨五入」の設定

  • プロパティ名:面積値_四捨五入
  • データタイプ:数値
  • デフォルト値:数式で「ROUND(数値※2,桁数※3)」

※2:引数「数値」には、面積値を値に変換したSTRTONUM(STRCALCUNIT (測定面積))を入力します。
※3:引数「桁数」には、②で作成したプロパティ「小数点_設定」を割り当てます。
数式エディタにコピペする方はこちらのテキストをご利用ください。

ROUND ( STRTONUM ( STRCALCUNIT ( {Property:ゾーン/測定面積} ) ), {Property:TEST/小数点_設定} )

area_11-1.png

④「面積値_切り捨て」の設定

  • プロパティ名:面積値_切り捨て
  • データタイプ:数値
  • デフォルト値:数式で「ROUNDDOWN(数値※2,桁数※3)」

※2:引数「数値」には、面積値を値に変換したSTRTONUM(STRCALCUNIT (測定面積))を入力します。
※3:引数「桁数」には、②で作成したプロパティ「小数点_設定」を割り当てます。
数式エディタにコピペする方はこちらのテキストをご利用ください。

ROUNDDOWN ( STRTONUM ( STRCALCUNIT ( {Property:ゾーン/測定面積} ) ), {Property:TEST/小数点_設定} )

area_12.png

⑤「面積値_切り上げ」の設定

  • プロパティ名:面積値_切り上げ
  • データタイプ:数値
  • デフォルト値:数式で「ROUNDUP(数値※2,桁数※3)」

※2:引数「数値」には、面積値を値に変換したSTRTONUM(STRCALCUNIT (測定面積))を入力します。
※3:引数「桁数」には、②で作成したプロパティ「小数点_設定」を割り当てます。

数式エディタにコピペする方はこちらのテキストをご利用ください。

ROUNDUP ( STRTONUM ( STRCALCUNIT ( {Property:ゾーン/測定面積} ) ), {Property:TEST/小数点_設定} )

area_13.png

この5つのプロパティを設定し終えたら配置されたゾーンから面積値を一覧表で確認します。
下図は、ゾーン名「TEST」とし、面積値が1.628㎡のゾーンです。

area_14.png

下図は、上図のゾーンと同じ形状の塗りつぶしを配置し、面積表示しました。
ゾーンスタンプ「ゾーン_仕上げ用」では小数点第3位までしか表示されませんので、小数点以下の桁数を多く面積値確認のために塗りつぶしを配置しています。
今回、確認するゾーンの面積は「1.628269㎡」です。

area_15.png

一覧表にプロパティマネージャーで作成したプロパティを表示します。

area_16.png

一覧表の設定はこちらです。

area_17.png

赤枠内をクリックすると右側に小数点以下の桁数として設定した0~4の値を選択できるので適宜設定します。

area_18.png

[小数点]の値を「2」とすると、面積値が小数点第2位まで表示され、小数点第3位について四捨五入、切り捨て、切り上げの設定をしてくれています。
ゾーンの面積値は「1.628269㎡」ですので正しく処理してくれていることが分かります。

 

area_19.png

一覧表内で表示される値について、小数点以下の表示桁数の設定はこちらの記事で解説していますので併せてお読みください。

今回のプロパティマネージャーの設定と一覧表の設定については下記のリンクからXMLファイルをダウンロードできますので学習にご活用ください。
なお、このファイルはARCHICAD23で作成しています。

A23_プロパティマネージャー_面積値の小数点以下桁数の設定.xml
A23_一覧表_面積値の小数点以下桁数の設定.xml

0件の返信0