「Cvunit」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
38行目: 38行目:


  ; AREAコマンドから図形の面積と長さを平米、メートルの単位で出す。
  ; AREAコマンドから図形の面積と長さを平米、メートルの単位で出す。
  (command "_Area" "e" pause)
  (command "_Area" "o" pause)
  (strcat "面積:"  
  (strcat "面積:"  
         (rtos(cvunit (getvar "area") "sq mm" "sq m") 2 3)  
         (rtos(cvunit (getvar "area") "sq mm" "sq m") 2 3)  

2011年9月28日 (水) 15:50時点における版

構文
(cvunit value from-unit to-unit)


機能
ある計測単位から別の計測単位に値を変換する。
from-unit と to-unit 引数は、.unt ファイル(AutoCADは acad.unt、IJCADはicad.unt)内に存在する単位ならどれでも使用できる。
引数
  • value : 変換する数値または点リスト(2D 点または 3D 点)。
  • from-unit : 変換前の value の単位。
  • to-unit : 変換後の value の単位。
戻り値
正常に変換された場合は、変換後の値。
単位名が不明(Icad.unt ファイル内に見つからない)か、2つの単位間に関連性がない場合は、nil。


サンプル
 (cvunit 1 "minute" "second") 
 60.0

 (cvunit 1 "gallon" "furlong") 
 nil

 (cvunit 1.0 "inch" "cm") 
 2.54

 (cvunit 1.0 "acre" "sq yard") 
 4840.0

 (cvunit '(1.0 2.5) "ft" "in") 
 (12.0 30.0)

 (cvunit '(1 2 3) "ft" "in") 
 (12.0 24.0 36.0)

 ; AREAコマンドから図形の面積と長さを平米、メートルの単位で出す。
 (command "_Area" "o" pause)
 (strcat "面積:" 
         (rtos(cvunit (getvar "area") "sq mm" "sq m") 2 3) 
         " 平方メートル、長さ:" 
         (rtos(cvunit (getvar "perimeter") "mm" "Meters")2 3) 
         "メートル")
 )


  • 複数の値を同じように変換する場合は、一度 1.0 をその値に変換し、以後その結果を換算係数として関数または計算に適用すると便利です。 この方法は、あらかじめ定義された単位なら何にでも応用できます。ただし、温度の単位はオフセットを考慮しなければならないので、この方法は使用できません。