|
※ ダウンロードはこのページの一番下より出来ます。
★ 収録ファイル
JWG_KS.BAT JW_CAD の外部変形機能から呼び出すバッチファイル.
JWG_KSdeg.BAT 同上、三角関数をdegreeで計算するバッチファイル.
JWG_KS.EXE 実行プログラム(本体).
JWG_KS.TXT 説明書(このファイル).
KS_sampe.jww 計算式の実行例(JW_CAD データファイル)
★ 何をするソフトか
これは、JW_CAD の図面中に書かれた数式を計算して、その答えを書き込む、
JW_CAD の外部変形用プログラムです。
倍精度実数で計算し、小数点以下は10桁(オプションで指定可 max14)まで
表示します。
★ 使い方
JWG_KS.BAT
JWG_KSdeg.BAT
JWG_KS.EXE
を、JW_CAD のディレクトリに移して下さい。
実行プログラムだけを直接起動しても何にもなりません。JW_CAD の外部変形
機能から、バッチファイル(JWG_KS.BAT)を指定して下さい。
JW_CAD の表計算コマンドと、ほぼ同じ使い方としています。
計算する数式とその答の書込位置を指定すれば、計算して答を書き込んで
くれます。
★ 主な機能
・図面中に書く計算式には全角、半角、大文字、小文字いずれも使えます。
・複数の計算式を同時に指定できますが、横書きの文字列に限ります。
・計算結果は、計算式が全て半角文字なら半角で、1字でも全角文字が含ま
れていれば全角で出力されます。(オプションで指定可)
・小数点以下で答が指定した桁数に満たない場合、デフォルト仕様では末尾
0 を出力しません。オプション指定により指定した桁数まで 0 で埋める
ことも出来ます。
・小数点以下の表示桁数はオプションで指定できます。(無指定なら10桁)
特に指定しなければ指定した桁の1つ下の桁の値で四捨五入処理します。
またオプション指定により、切り捨て、切り上げも選択できます。
このプログラムの有効桁数は14桁となっています。
これは小数点以下の有効桁数を意味するものではなく、計算結果の
値の最上位桁(1.0未満の場合は最初の0以外の桁)から数えて14桁
までという意味になります。
例えば小数点下12桁まで表示(13桁目切上げ)と指定した場合、
0.00333333333333333333 → 0.003333333334
1234567890.111111111111 → 1234567890.1112
小数点下12桁まで表示(13桁目切捨て)と指定した場合、
0.00333333333333333333 → 0.003333333333
1234567890.111111111111 → 1234567890.1111
・オプション指定で合計(合計の1/2)の出力も出来ます。
但し、集計対象となる各計算値の小数点下有効桁数が異なる場合、最小の
桁数にあわせて出力します。
上記の例の場合
0.003333333333 (有効桁:小数点下12)
1,234,567,890.1111 (有効桁:小数点下4)
計 1,234,567,890.1144 (有効桁:小数点下4にあわせる)
・計算式文字列の長さに制限があります。
・計算式の長さ(文字列の長さ)は1行 1000byte (半角1000字)まで。
・一度に計算できる式の数は 200行 までです。
ただし、全ての式(文字列)のサイズは 10Kbyte までなので、1000byte
近いサイズの式だけだと、10行くらいしか計算されません。
(それ以上の式は無視される)
・答の数値はマウスで指定した位置に小数点'.'がくるように書き込まれます。
特に指定しなければこの'.'の文字の左端を指定位置に合わせますが、オプ
ションによりこの文字幅の範囲内で微調整が可能です。
・数式中に [] (半角)で囲まれた文字、又は JW_CAD 特有の表記法 ^d*
(下付文字 〜 '*' は半角1文字)があれば、それらは全て無視して計算しま
す。(単位等の表記に利用)
・数式に誤りがある場合、未知の演算子が含まれている場合はその式は計算
せずに、エラーメッセージを出力します。
★ 使用可能な演算子、関数
計算式の中で使用可能な演算子、関数等は以下の通り。(小文字も可)
演算子 +,+,−,- : 加減算
*,X,x,×,*,/,÷,/ : 乗除算
定数 π,PAI : 3.14159265358979
E,e(全角文字に限る) : 2.71828182845905
関数 √,SQRT : 平方根
SIN,COS,TAN,ASIN,ACOS,ATAN : 三角関数(ラジアン)
EXP,LOG : 指数・対数(eを底とする)
(注) √ は、ルート記号。
三角関数の角度は通常 radian として計算するが、
オプション指定で degree とすることも出来る。
角度 ゚ : 角度をdegree値と解釈
(例) SIN(90゚)=SIN(π/2)
通常、角度は radian値として入力するが、数値に「゚」
(度)を付けると、その数値だけ degree値と解釈する。
括弧 (,) : 何重でも可
階乗 !,! : X! で、Xの階乗を計算
(X : 正の整数(1〜69)のみ)
べき乗 ^,^u : X^Y で、XのY乗となる(累乗)
(注) JW_CAD 特有の記述法 X^uY (YがXの右肩に小さく表示
される)も可能だが、Y が1桁の整数以外の場合は
要注意。
例えば、2の23乗は 2^23 となるべきだが、この記述法
によると 2^u2^u3 としなくてはならない為、計算結果
が異なってくる。
コメント [,],^d : 無視する
(単位)
★ オプション指定(大文字、小文字いずれでも可)
/K : 計算結果の表示において、3桁毎にコンマ ','を付けな
い場合に指定。
( jwg_ks.exe /k : 3桁毎にコンマ ','を付けない)
/S[0]n: n=0〜14 : 小数点以下の桁数指定(max 14)
無指定なら 10桁
s の後に 0 を付ければ、答が指定した桁数に満たない場
合、指定した桁数まで 0 で埋める。
( jwg_ks.exe /s6 : 小数点以下6桁まで表示)
( jwg_ks.exe /s06 : 同、6桁まで0表示)
/Txxx : 計算結果の合計を出力。
数値の左側に文字「xxx」を表示する。
(指定された計算式群の最下行と同じ文字種で出力)
「xxx」に文字を指定しなければ合計は計算しない。
( jwg_ks.exe /t合計 : 答の下に'合計'を出力)
/Hxxx : 計算結果の合計の1/2を出力。
数値の左側に文字「xxx」を表示する。
(指定された計算式群の最下行と同じ文字種で出力)
「xxx」に文字を指定しなければ合計の1/2は計算しない。
( jwg_ks.exe /h合計/2 : 答の下に'合計/2'を出力 )
/Zn : n=1 : 式の文字に関わらず全て全角文字で出力
n=2 : 式の文字に関わらず全て半角文字で出力
無指定なら式の文字に従う
( jwg_ks.exe /z1 : 答を全角文字で出力)
/Dn : n=1 : 三角関数で角度を全て degree(度) と解釈する。
n=2 : 角度を degree(度)とし、出力結果の右側に(deg)
と、degreeで計算したことを追加表示する。
無指定ならradian
( jwg_ks.exe /d1 : 三角関数の単位を'度'とする)
三角関数で角度を degree値で入力する為のオプション。
「゚」(度)表記と重複して使用すると「゚」を無視します。
(注)このオプションは使うか使わないかで、計算結果
が大きく異なってくる上に、計算結果を見ただけ
ではどちら(rad or deg)で計算されたものなのか
気づきにくいものだと思います。
「通常三角関数には degree値で入力する」という
人が常にこのオプションを指定し、radianは一切
使わないというケースでの利用をおすすめします。
/Un : n=1 : 小数点以下、指定された桁より下位を切り上げる。
n=2 : 小数点以下、指定された桁より下位を切り捨てる。
無指定なら四捨五入。
( jwg_ks.exe /u1 : 切り上げ)
(例 :小数点下 2 桁指定 -- 小数点下 3 位を処理)
数値 切り捨て 四捨五入 切り上げ
1.2300 > 1.23 1.23 1.23
1.2301 > 1.23 1.23 1.24
1.2341 > 1.23 1.23 1.24
1.2351 > 1.23 1.24 1.24
-1.2341 > -1.23 -1.23 -1.24
/Pn : n=0〜99 : 答の小数点'.'の文字のどこを指定位置に
合わせて出力するか。
'.'の文字の幅を100分割し、左端を0とする。
無指定なら0
( jwg_ks.exe /p48 : ≒JW_CAD 表計算の小数点位置)
★ 計算例(全角、半角混在可) 計算結果(小数10桁を指定の場合)
π*2 6.2831853072
-(1,234-1,230)x6+(3+2)*5 1.0
.2/-3 -0.0666666667
2,000x((.3X((8-3)*4+1)+5)/4) 5,650.0
1/3*3 1.0
-123456789.123456789*3 -370,370,367.37037
sin(2*(0.5-0.1)-0.3)+(0*0.479426) 0.4794255386
asin(cos(PAI)/2) -0.5235987756
SQRT(3) x √3 3.0
log(e) 1.0
exp1 2.7182818285
3^−3 0.037037037
1.8^u1^u2 1,156.8313814262
4!*2 48.0
(2+3)!^2 14,400.0
3^4! 282,429,536,481.0
3[M]*3[M]*2 18.0
123[秒]+45[分]*60 2,823.0
3^dm^dm*2 6.0
12/(4-4) ERROR(9byte目)除算の分母が0
√(3-4) ERROR(8byte目)平方根の引数が負値
a+2 ERROR(1byte目)未定義演算子(関数?)
12:34+5 ERROR(3byte目)未定義演算子(単位?)
(((123+4.5/2)*3.3-(12+5)^3)*3.3)/2) ERROR(35byte目)式の構成が不正(カッコ?)
6.9! ERROR(5byte目)階乗の引数が整数でない
(sqrt10)! ERROR(10byte目)階乗の引数が整数でない
注)0 での割り算や、負値の平方根、対数等、ある程度はチェックをして
ERROR...のコメントを出すようにしてはいますが、あまり無茶な計算
はさせないようにして下さい。
例えば acos(10.0) とか
★ 動作チェックは行っているつもりですが、万全とは断言できません。
ご利用頂いてのご感想、バグレポート、ご要望等歓迎します。
・@nifty建築フォーラム http://www.com.nifty.com/forum/FARCHI/top.go の、
【 JW_CAD 質問室 】
・本家 Jw_cad for Windows ホームページ http://www.jwcad.net/ の、
「Jw_cad 情報交換室」
・建築資料館 http://www.ath-j.com/index.html の「JW_WIN専用掲示板」
は、いつも気を付けて目を通すようにしています。
このプログラムはフリーソフトウェアです。
このプログラムの著作権は、私、土器手 茂にあります。
無償である限り、 自由に配布/転載/使用して下さって構いません。
本作品の使用、 配布によるいかなる損害にも、 作者は責任を負いません。
--------------------------------------------------------------------------
土器手 茂
--------------------------------------------------------------------------
★ プログラムの履歴
Ver1.0 1995年6月
・NIFTY−Serve FARCC で公開。
Ver1.1 1996年7月
・式の中に全角スペースがあると計算できなかったのを改良。
・べき乗(累乗)の計算 (X^uY 含む) に対応。
・PC98,DOS/V 汎用プログラムとして再公開。
Ver1.2 1996年8月
・Ver1.1で追加した、べき乗の計算 (X^uY 含む) を含む式の計算
において、演算子の優先順を間違う場合が有ったのを改良。
(本来、 3*5^2 = 75 、 5^2*3 = 75 となるべきところが、 )
( 3*5^2 = 225 、 5^2*3 = 75 となってしまっていた。 )
Ver1.3 1996年11月
・πや、E、関数を含む べき乗の計算の不具合を修正。(コンドコソ・・・)
Ver1.31 1996年11月 (非公開)
・階乗(!)の計算が出来るようにした。
Ver1.32 1996年12月
・計算できる数式の長さを 1000byte まで出来るようにした。
Ver1.4 1997年4月
・三角関数で角度の数値の後に「゚」を付けることで「度」(degree)と解釈
するようにした。
・三角関数での角度を degree(度) と解釈するオプションを追加(/D)
・計算結果の合計を出力するオプションを追加(/T)
・計算結果の合計の1/2を出力するオプションを追加(/H)
・計算結果を強制的に全角(半角)文字で出力するオプションを追加(/Z)
・階乗(!)を他の関数と連続して記述したときに計算結果がおかしく
なることがあったバグを修正。
Ver1.41 1997年7月
・正しく四捨五入されないことがあるバグを修正。
・四捨五入の他に、切り捨て、切り上げを選択できるオプションを追加
(/U)
・JWG_KS.BAT (外部変形を呼び出すバッチファイル)を少し変更した。
Ver1.42 1997年8月
・小数点以下の桁数を 0 に指定したときに、答の値によっては正しく表示
されないことがあるバグを修正。
・小数点以下で答が指定した桁数に満たない場合、オプション指定により
指定した桁数まで 0 で埋めることが出来るようにした。
・答の小数点'.'の文字のどこを指定位置に合わせて出力するか、オプシ
ョンで指定できるようにした。
・数式中に [] (半角)で囲まれた文字、又は JW_CAD 特有の表記法 ^d*
(下付文字 〜 '*' は半角1文字)があれば、それらは全て無視して計算
するようにした。(単位等の表記に利用)
・数式に誤りがある場合、未知の演算子が含まれている場合のエラーメッ
セージをわかる範囲で具体的に表示するようにした。
Ver1.43 2005年1月
・平方根計算用の「√」の文字コードを、シフトJIS の[81e3]、[8795]の
どちらでも計算するようにした。
・起動バッチファイルを一部修正、三角関数をdegreeで計算するバッチも
用意した。
・プログラムのコンパイラを一新。動作が軽快になった。\(^o^)/
Ver1.44 2005年2月
・四捨五入、切り捨て、切り上げのオプション指定時に計算結果が狂う不
具合(ver1.43でコンパイラの変更に伴って発生)を修正。
・有効桁数処理関数を見直した。
・合計オプションで合計値を出力する場合、集計対象となる各計算値の小数
点下有効桁数のうち、最小の桁数にあわせて出力するようにした。
(説明書ファイルの「★主な機能」参照)
・三角関数でdegreeを指定する「゚」の文字が認識されない不具合(ver1.43
で発生)を修正。
数式計算 Ver1.44 ダウンロード
|