Indexへ
(10014)// 【10016】→(10018) ------------------------ 【タイトル】数値指定で計算
【記事番号】 10016 (*)
【 日時 】07/07/28 15:22
【 発言者 】naminami
表中の数字を個々に指定して計算結果を書き込みたい
のですが、何か良い方法はありませんか?
例えば、電卓と同じで数字を入力して計算をさせる
動作を数字入力ではなく、表中の数字文字を指定して
計算をさせたいのですが・・・
数式として文字入力したものを計算させる外変は
見つけたのですが、個々に数字文字を指定して
計算結果を得る(書き出し)方法もしくは、外変などが
ありましたら、教えて頂けないでしょうか。
Indexへ
(10016)← 【10018】→(10024) ------------------------ 【タイトル】Re(1):数値指定で計算
【記事番号】 10018 (10016 )
【 日時 】07/07/28 18:06
【 発言者 】joker
【 リンク 】http://www.atsmile.com/jw/
▼naminamiさん:
>表中の数字を個々に指定して計算結果を書き込みたい
>のですが、何か良い方法はありませんか?
具体的に、どういう計算をしたいのかが分りませんが
単純な表の四則計算であれば、JWWの標準機能で「その他|表計算」の
機能があり、それであれば、算出する文字要素を選択する際に
範囲選択・追加・除外の指定は出来ます。
単純な計算などであれば例えば、Cabaさんの外部変形「小道具」内の
「○数値計算」とか、など 探せばいろいろあると思いますが。
JWW検索リンクでの検索一覧
あと、「その他|式計算」で使うJWM形式ファイルを自作して使う、
という手法があるようです。私は使った事がないので詳細は分りません
けれど、「KEISAN.JWM」が説明ファイルにもなっているようなので
そちらを参考にされると良いかもしれません。
また、エクセルへデータを渡して、エクセルで計算させる、
或いはエクセルからの値を戻して作図させる、という事であれば
そういった外部変形は公開されていると思います。
とりあえず、「エクセル」をキーワードにして検索をした結果です。
JWW検索リンクでの検索一覧
Indexへ
(10018)← 【10024】→(10026) ------------------------ 【タイトル】Re(2):数値指定で計算
【記事番号】 10024 (10018 )
【 日時 】07/07/29 00:40
【 発言者 】naminami
▼jokerさん:
>具体的に、どういう計算をしたいのかが分りませんが
>単純な表の四則計算であれば、JWWの標準機能で「その他|表計算」の
>機能があり、それであれば、算出する文字要素を選択する際に
>範囲選択・追加・除外の指定は出来ます。
>
>単純な計算などであれば例えば、Cabaさんの外部変形「小道具」内の
>「○数値計算」とか、など 探せばいろいろあると思いますが。
>JWW検索リンクでの検索一覧
>
>あと、「その他|式計算」で使うJWM形式ファイルを自作して使う、
>という手法があるようです。私は使った事がないので詳細は分りません
>けれど、「KEISAN.JWM」が説明ファイルにもなっているようなので
>そちらを参考にされると良いかもしれません。
>
jokerさんいろいろな情報有難うございます。
>具体的に、どういう計算をしたいのかが分りませんが
とありますので、具体的に書き込みますと
表の中に 1.80 1.60 2 3 0.5 と数字がありまして
それぞれを掛け算して結果があります。(建具の採光、換気、排煙
面積算定です)
数式に直すと1.80*1.60*2*3*0.5 = 8.10
この計算を図中で計算結果が合っているのか確かめたいのです。
JWWの機能「表計算」では、A群×B群という風に2つの数字しか
指定できません。これを3〜5、6個の数字をそれぞれ指定して
順番に掛け算や割り算などをしたいのです。
Cabaさんの「数値計算」では、A群×Nで選んだ数字に任意の数字を
掛ける機能しかありません。
やはり「式計算」を勉強して自作するしかないのでしょうか?
Indexへ
(10024)← 【10026】→(10030) ------------------------ 【タイトル】Re(3):数値指定で計算
【記事番号】 10026 (10024 )
【 日時 】07/07/29 09:42
【 発言者 】コジマ
▼naminamiさん:
>jokerさんいろいろな情報有難うございます。
>>具体的に、どういう計算をしたいのかが分りませんが
>とありますので、具体的に書き込みますと
>表の中に 1.80 1.60 2 3 0.5 と数字がありまして
>それぞれを掛け算して結果があります。(建具の採光、換気、排煙
>面積算定です)
>数式に直すと1.80*1.60*2*3*0.5 = 8.10
>この計算を図中で計算結果が合っているのか確かめたいのです。
>JWWの機能「表計算」では、A群×B群という風に2つの数字しか
>指定できません。これを3〜5、6個の数字をそれぞれ指定して
>順番に掛け算や割り算などをしたいのです。
>Cabaさんの「数値計算」では、A群×Nで選んだ数字に任意の数字を
>掛ける機能しかありません。
>やはり「式計算」を勉強して自作するしかないのでしょうか?
EXCELを併用したほうが、便利なのでは?
あらかじめ、数式をEXCELの表を用意しておく。(数式設定)
以下の牛渡さんの外変「sgrid」で図表の数値をEXCELの表に貼り付けします。
http://gravelroad.yh.land.to/category/2/subcatid/12
Indexへ
(10026)← 【10030】→(10034) ------------------------ 【タイトル】Re(4):専用の外変なら
【記事番号】 10030 (10026 )
【 日時 】07/07/29 13:13
【 発言者 】コジマ
>>表の中に 1.80 1.60 2 3 0.5 と数字がありまして
>>それぞれを掛け算して結果があります。(建具の採光、換気、排煙
>>面積算定です)
>>数式に直すと1.80*1.60*2*3*0.5 = 8.10
>>この計算を図中で計算結果が合っているのか確かめたいのです。
>>JWWの機能「表計算」では、A群×B群という風に2つの数字しか
>>指定できません。これを3〜5、6個の数字をそれぞれ指定して
>>順番に掛け算や割り算などをしたいのです。
>>Cabaさんの「数値計算」では、A群×Nで選んだ数字に任意の数字を
>>掛ける機能しかありません。
>>やはり「式計算」を勉強して自作するしかないのでしょうか?
他の方のレスで、ワンパターンの計算なので外部変形が良いとありましたので、参考まで。
但し、全角文字、カンマ区切りの数値には、対応していません。
(対応させると、もっと長い文になります。)
尚、この外部変形の実行には、rubyの動作環境が必要です。
以下で入手した、J_GARU Ver2.0をインストールしてください。
http://officehikari.art-studio.cc/data-1.htm
◎バッチファイル(ファイル名 表計算.bat)
以下の文をコピペして、全角スペースを半角スペースに一括置換してください。
@REM 表計算(レコード単位の一括乗算)
@echo off
REM #jww
REM #cd
REM #zc
REM #h3
REM #0計算結果記入位置を指示してください free(L) Read(R)
REM #bz
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt > jwc_temp.txt
pause
exit
#!ruby -Ks
moji_data1=[]
while ARGF.gets
xy=split
if xy[0]=~/^ch/
moji=$'.chomp if $_=~/\"/
moji_data1<<[xy[1].to_i,xy[2].to_i,moji]
end
end
moji_data1.sort!{|a,b|b[1]<=>a[1]}
moji_data=[]
while a=moji_data1.shift
b=moji_data1.select{|item|a[1]==item[1]}
if b && b.size>0
moji_data1 -= b
b.unshift(a)
moji_data< end
end
anser=[]
moji_data.each{|item|
c=item[0][2].to_f;y=item[0][1]
item[1..-1].each{|item2|c *= item2[2].to_f}
anser<<[y,c]
}
puts "bz"
anser.each{|a,b|printf("ch 0 %.11f 1 0 \"%s\n",a,b)}
Indexへ
(10030)← 【10034】→(10035) ------------------------ 【タイトル】Re(5):専用の外変なら
【記事番号】 10034 (10030 )
【 日時 】07/07/29 14:38
【 発言者 】naminami
▼コジマさん:
有難うございました。早速、テスト実行させて頂き、私の求めていた
結果が得られました。本当に助かりました。
(贅沢を言わせてもらえれば、小数点以下の桁数表示と、四捨五入、切捨て等
の設定(選択)が出来れば完璧です。)
Indexへ
(10034)← 【10035】→(10038) ------------------------ 【タイトル】Re(6):専用の外変なら
【記事番号】 10035 (10034 )
【 日時 】07/07/29 17:12
【 発言者 】コジマ
▼naminamiさん:
>(贅沢を言わせてもらえれば、小数点以下の桁数表示と、四捨五入、切捨て等
>の設定(選択)が出来れば完璧です。)
設定が増えると、文がどんどん長くなっていきます。
@REM 表計算(レコード単位の一括乗算)
@echo off
REM #jww
REM #cd
REM #zc
REM #h3
REM #0計算結果記入位置を指示してください free(L) Read(R)
REM #c小数点以下有効桁数 無指定:3/_/a
REM #k端数の処理|1)四捨五入(L)|2)切捨て(R)|3)切上げ|/_/b
REM #bz
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt %1 %2 > jwc_temp.txt
pause
exit
#!ruby -Ks
keta=3
while ARGV.size>1
case argument=ARGV.pop
when /\/a/
keta=argument[2..-1].to_i
when /\/b/
hasu=argument[2..-1]
end
end
def ika(keta,hasu,suti)
if hasu == "1"
a=(suti*10**keta).round/10**keta.to_f
elsif hasu == "2"
a=(suti*10**keta).floor/10**keta.to_f
else
a=(suti*10**keta).ceil/10**keta.to_f
end
b=$' if a.to_s=~/\./
a=$`+"."+b+"0"*(keta-b.size) if b.size
return a
end
moji_data1=[]
while ARGF.gets
xy=split
if xy[0]=~/^ch/
moji=$'.chomp if $_=~/\"/
moji_data1<<[xy[1].to_i,xy[2].to_i,moji]
end
end
moji_data1.sort!{|a,b|b[1]<=>a[1]}
moji_data=[]
while a=moji_data1.shift
b=moji_data1.select{|item|a[1]==item[1]}
if b && b.size>0
moji_data1 -= b
b.unshift(a)
moji_data< end
end
anser=[]
moji_data.each{|item|
c=item[0][2].to_f;y=item[0][1]
item[1..-1].each{|item2|c *= item2[2].to_f}
c=ika(keta,hasu,c)
anser<<[y,c]
}
puts "bz"
anser.each{|a,b|printf("ch 0 %.11f 1 0 \"%s\n",a,b)}
Indexへ
(10035)← 【10038】→(10027) ------------------------ 【タイトル】Re(7):専用の外変なら
【記事番号】 10038 (10035 )
【 日時 】07/07/29 23:03
【 発言者 】naminami
▼コジマさん:
私のワガママに早速、対応して頂き有難うございます。
大変助かりました。JWWユーザーとしてコジマさんを誇りに
思います。こんな小さな事にでもすぐに対応してくださる
なんて!大手のCADメーカーさんには出来ないことですよね。
本当に有難うございました。又、何かありましたら
相談させてください。
Indexへ
(10038)← 【10027】→(10028) ------------------------ 【タイトル】Re(3):数値指定で計算
【記事番号】 10027 (10024 )
【 日時 】07/07/29 10:14
【 発言者 】kubo
▼naminamiさん:
>表の中に 1.80 1.60 2 3 0.5 と数字がありまして
>それぞれを掛け算して結果があります。(建具の採光、換気、排煙
>面積算定です)
>数式に直すと1.80*1.60*2*3*0.5 = 8.10(これ 8.64 の間違いですよ)
>この計算を図中で計算結果が合っているのか確かめたいのです。
発想の転換をされて
表の中に 1.80*1.60*2*3*0.5 という式を書かれ 結果欄に 8.64
とされればよいのではないですか。
私はそういう使い方をしています。
SCAP という電卓ソフトではホットキーとされる機能があり
例えば「文字」コマンドで 1.80*1.60*2*3*0.5 を「右クリック」(複写)で
拾い、所定のキー操作をすると計算して文字入力欄に 8.64 と返してきます。
それで Jw_cad の「表計算」を使いながら、いろんな面積などの計算表を
作っています。
このコメントでも 1.80*1.60*2*3*0.5 を拾い、自動計算させて 8.64 を
返させました。
Indexへ
(10027)← 【10028】→(10032) ------------------------ 【タイトル】Re(3):数値指定で計算
【記事番号】 10028 (10024 )
【 日時 】07/07/29 10:31
【 発言者 】chi chi@mocha.ocn.ne.jp
【 リンク 】http://www6.ocn.ne.jp/~chika/
▼naminamiさん:
無窓の居室の計算ですね。
ワンパターンの計算で外部変形にしてたほうが良いと思います。
アルゴリズムは文字列のy値が同じものを数値に変換して掛け算する。
結果を「jwc_temp.txt」で書き出すです。
表の数値が水平に並んでいるが条件です。
そんなに難しいプログラムにならないと思います。
文字列のデータを取り出すには・・・ながくなるので
この辺で止めます。
Indexへ
(10028)← 【10032】→(10029) ------------------------ 【タイトル】Re(4):数値指定で計算
【記事番号】 10032 (10028 )
【 日時 】07/07/29 13:39
【 発言者 】chi chi@mocha.ocn.ne.jp
【 リンク 】http://www6.ocn.ne.jp/~chika/
▼chiさん:
無窓の居室の窓の面積を計算する外変の仕様を
考えました
窓の展開図があって、それには床の線と天井の線がある。
この図形を選択して外変に渡す。
排煙、採光、換気のそれぞれを計算するには足りない情報は
窓の種類です。それをダイヤログでラジオボタンで指示する
引き違いとか縦軸とか
Indexへ
(10032)← 【10029】→(10033) ------------------------ 【タイトル】Re(3):数値指定で計算
【記事番号】 10029 (10024 )
【 日時 】07/07/29 11:03
【 発言者 】KITI
naminamiさん おはようございます、KITIと申します。
表計算の場合は 既に回答されているとおりですが
一行だけの計算なら JWW本体の文字入力で出来ます。
文字入力欄に 1.80*1.60*2*3*0.5 = と記入
「Ctrl」ボタンを押し下げたまま 書込み位置確定 すると
1.80*1.60*2*3*0.5 = 8.64 と書込まれます。
「=」無しで 1.80*1.60*2*3*0.5 と記入
「Ctrl」ボタンを押し下げたまま 書込み位置確定 すると
答えの 8.64 だけ書込まれます。
参考にしてください。
デワデワ 広島のKITIより
Indexへ
(10029)← 【10033】//(10017) ------------------------ 【タイトル】Re(3):数値指定で計算
【記事番号】 10033 (10024 )
【 日時 】07/07/29 13:53
【 発言者 】naminami
コジマさん、kuboさん、chiさん、KITIさん
ご指摘、ご指導有難うございます。
kuboさんのご指摘の通り
>数式に直すと1.80*1.60*2*3*0.5 = 8.10(これ 8.64 の間違いですよ)
上記計算結果は8.64ですね。
皆々様の解決方法も私は考えましたが、業務上、どうしても
個々の数字をそれぞれ掛けて計算をして答えを出したいのです。
その理由は、図面作成を私一人で作成していれば、Excel等を
使用すれば簡単に問題解決しますが、部分的(建具開口計算等)に
図面を外注もしくは、請け負った時に、計算の確め算をしたいのです。
それも、相手のCADがJWではなくDRA-CADなのでデータを受け渡し後に
それぞれが、一応、計算結果を確認しないといけないからです。
DRA-CADには、外部オプションで、文字数字を連続して指定すると
それぞれを掛け算等計算してくれる機能が無料で公開されている
みたいで、その方から「JWWにも同じような機能があるでしょ」
と言われ、それから、いろいろと検索しましたが、なかなか見つからず
この掲示板にて質問させて頂きました。
昨日から、JWWの「式計算」で何とか横方向の文字数字を読み込んで
計算結果を出せる用にしましたが、これまた、問題がありまして
小数点以下の桁数が3桁までしか四捨五入等をしたときに出力出来ないのです。
4桁表示は、無理なのかな〜?
外変等で、JWW内で文字数字を指定して電卓みたいな機能があればいいのですが・・・。