Page 1841 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼外変作成のお願い masa 23/6/5(月) 10:33 ┣Re:外変作成のお願い ふゆ〜な〜 23/6/5(月) 12:06 ┣Re:外変作成のお願い ふゆ〜な〜 23/6/5(月) 12:51 ┃ ┗Re:外変作成のお願い ふゆ〜な〜 23/6/5(月) 13:05 ┃ ┗Re:外変作成のお願い masa 23/6/6(火) 9:44 ┃ ┗Re:外変作成のお願い ふゆ〜な〜 23/6/6(火) 20:14 ┗Re:外変作成のお願い 卯之介 23/6/5(月) 17:49 ┗Re:外変作成のお願い masa 23/6/6(火) 9:56 ┗Re:外変作成のお願い 卯之介 23/6/6(火) 12:03 ┗Re:外変作成のお願い masa 23/6/6(火) 13:03 ─────────────────────────────────────── ■題名 : 外変作成のお願い ■名前 : masa ■日付 : 23/6/5(月) 10:33 -------------------------------------------------------------------------
単純な外変ですが自分にはスキルが無いのでお願いします。 図面内に書いてある数字(建築面積)をクリックし、同じく図面内のもう一つの数字(敷地面積)をクリックして、建ぺい率を任意の位置に書きたいのですが、AWKスクリプトで可能でしょうか。小数点3位以下の切り上げが希望です。 誠に勝手なお願いですが、宜しくお願い致します。 |
▼masaさん: おはようございます。 JWWの計算式機能で作成可能だと思います。 >単純な外変ですが自分にはスキルが無いのでお願いします。 > >図面内に書いてある数字(建築面積)をクリックし、同じく図面内のもう一つの数字(敷地面積)をクリックして、建ぺい率を任意の位置に書きたいのですが、AWKスクリプトで可能でしょうか。小数点3位以下の切り上げが希望です。 >誠に勝手なお願いですが、宜しくお願い致します。 |
▼masaさん: jwwのフォルダーにある KEISAN.JWMの1行目を次に書き換えてください |日影倍率|ヘロン公式|三斜面積計算|RC 断面算定|建ぺい率| 元の1行目に|建ぺい率|を加えることになります。 次に メモ帳なりでKEISAN5.JWMを作って下記の通り書いて保存 #hm建ぺい率 |2数値入力|2数値選択| #:1建ぺい率 敷地面積と建築面積の2数値(単位m)を入力 #:2建ぺい率 敷地面積と建築面積の2数値を選択 #:1% 0; 選択数値の数値無し #:2% 2; 選択数値の数 2(A,B) #:1@ 0; #:2@ 1; # 選択数値の読み込み順序を横方向優先(0で縦方向優先)にする # if( 1=Z )input A "敷地面積(m) = "; input B "建築面積(m) = "; A="(u)";B="(u)"; if( 1=Z )goto 1; # <1> S=B/A*100; #建ぺい率さ計算 $32=S; #少数点以下の3桁表示、少数点以下の0表示と切り上げ# goto 3: <2> S=A/B*100; #建ぺい率さ計算 $32=S; #少数点以下の3桁表示、少数点以下の0表示と切り上げ# <3> e; JWWのホルダーに保存します。 jwwを立ち上げ メニュー→その他→計算式 で見えてきます。 細かいところはまだできてませんが、一応動くと思います。 |
すみません しばらく作ってなかったので 余計なものが入っていました。 2か所にある 式の$をSに変えてください。 >$32=S; #少数点以下の3桁表示、少数点以下の0表示と切り上げ# ↓このようにかえます >S32=S; #少数点以下の3桁表示、少数点以下の0表示と切り上げ# > |
▼ふゆ〜な〜さん: ありがとうございます。 自分でも式計算で作ってみたのですが、がなかなかうまくいかなくて・・・ 勉強になりました。 |
▼masaさん: こんばんは 外部変形の話はよく出てくるのですが、 式計算は話題に上ることはなかったと思います 私もそれほどわかるわけでもなくいくつか見本をもとに作ってみたのを使用しています JWWの隠れた機能になってしまいかねない時に 相談があったので 急いで仕上げてみました。 他の方の目に留まれば使い道が開けるかもしれません では >▼ふゆ〜な〜さん: > >ありがとうございます。 >自分でも式計算で作ってみたのですが、がなかなかうまくいかなくて・・・ >勉強になりました。 |
間違いがあったら教えてください。 【kenpei.bat】 @REM 建ぺい率 @echo off REM #jww REM #cd REM #h0 REM #g1 REM #0 数値書き込み位置指示 (L)free (R)Read REM #1ch 建築面積を指示してください REM #2ch 敷地面積を指示してください REM #e if exist dummy del dummy ren jwc_temp.txt dummy jgawk.exe -f kenpei.awk dummy>jwc_temp.txt 【kenpei.awk】 BEGIN{c=0} /^ch/{ area[c]=substr($0,match($0,/\"[^\"]*$/)+1) gsub(/\,/,"",area[c]) gsub(/m\^u2/,"",area[c]) c++ } END{ kenpei=roundup(area[0]/area[1],4) printf("ch 0 0 10 0 \"%.2f\%\n",kenpei*100) print "h\# できました。" } function roundup(a,d, i ){ i=int((a+0.00000001)*(10^d))/(10^d) if(a!=i){i=i+10^-d} return i } |
▼卯之介さん: >間違いがあったら教えてください。 ありがとうございます。 意図した通りの出来栄えで感激です。 迅速な対応ありがとうございます。 追加のお願いですが、以下のような計算式も出力できますでしょうか? 85.07÷62.67×100 = 135.75% |
printf("ch 0 0 10 0 \"%.2f÷%.2f×100 = %.2f\%\n",area[0],area[1],kenpei*100) ENDブロック内の該当行をこうでどうでしょう。 面積のほうは自動で四捨五入されてしまうかと思いますが。 |
▼卯之介さん: >printf("ch 0 0 10 0 \"%.2f÷%.2f×100 = %.2f\%\n",area[0],area[1],kenpei*100) > >ENDブロック内の該当行をこうでどうでしょう。 >面積のほうは自動で四捨五入されてしまうかと思いますが。 早速のご対応ありがとうございます。 これなら完璧です。 面積の方は小数点以下2桁なので問題はありません。 |