精度の最大桁数である、小数点以下8桁で表示されます。
※ただし、キリの良い数値の場合は、自動で桁数が省略されます。
マクロ例)
^C^C_line;\\;_lengthen;l;;$M=$(getvar,perimeter)^Z |
この桁数は、"UNITS"[単位管理]コマンドで管理されています。
この、表示桁数をコントロールするのが
DIESEL関数"rtos"
です。
まずは、簡単に"UNITS"[単位管理]コマンドの説明をします。
(※詳しくはヘルプ参照)
メニューバーの【形式】→【単位管理】にて
「単位管理ダイアログ」が表示されます。
このダイアログにて、図面内の単位を設定することが可能です。
また、"UNITS"[単位管理]コマンドには
「コマンドラインオプション」が存在します。
"-UNITS"とすることで、コマンドラインにて、設定可能です。
ここで大事なのが、各設定に設けられた数値です。
■単位管理表
|
これらを踏まえて、DIESEL関数"rtos"を説明します。
まず、ヘルプを見てみると
format と precision で指定した形式で実数を返します。 $(rtos, value[, mode, precision] ) 与えられた value を、mode と precision で指定した形式で、実数として編集します。mode と precision がない場合は、UNITS コマンドによって選択された現在の値が使用されます。 |
この様に記述してあります。
少し分かり難いかも知れませんので、簡単にすると・・・
DIESEL関数"rtos"内において
"value"と言う数値に、"UNITS"コマンドで設定可能な数値を
"mode"と"precision"に割り付けることで、表示単位等を変更可能です。
と言うことです。
つまり、「0.12345678」と言う値も、"rtos"を使えば
小数点以下3桁や4桁にする事が可能です。
その方法は、上記の様に記述すれば良いだけで
例えば、数値「0.12345678」を
"十進表記"で、小数点以下3桁にしたい場合
$(rtos,0.12345678,2,3) |
ここで記述されてる数値"2"は、■単位管理表を見ると
設定値2の"十進表記"を示します。
又、記述されてる数値"3"は、"小数点以下3桁"を示します。(※桁数は0~8まで)
この様に、現在設定された単位管理を変更すること無く
その数値の表示桁数や、単位を変更可能なDIESEL関数が
"rtos"なのです。
ただし!!
この"rtos"は、自動で四捨五入します。
例) $(rtos,0.5,2,0) |
その為、小数点以下を切り捨てたい場合は
DIESEL関数"fix"
を使用します。
※ヘルプ参照
小数点以下を切り捨てて、実数 value を整数に変換します。 $(fix, value) |
例)$(fix,1.5) |
以上のコトから、最初に記述したマクロ例を編集してみましょう。
1)十進表記-下3桁表記
^C^C_line;\\;_lengthen;l;;$M=$(rtos,$(getvar,perimeter),2,3)^Z |
2)小数点以下切り捨て表記
^C^C_line;\\;_lengthen;l;;$M=$(fix,$(getvar,perimeter))^Z |
計測した値を、文字で記入させるマクロ等に使用する事が多いです。
"rtos"及び"fix"の使い方は、覚えておきましょう。
最速攻略AutoCAD VB.NETマクロサンプル大全集AutoCAD2009/2010/20.../落合 重紀

¥4,095
Amazon.co.jp