Page 1645 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼変数による数式 moc 22/4/11(月) 14:45 ┣Re:変数による数式 Keiichi 22/4/11(月) 17:01 ┣Re:変数による数式 卯之介 22/4/11(月) 17:23 ┣Re:変数による数式 今日も感染者数が多い 22/4/12(火) 12:02 ┃ ┗Re:変数による数式 Sa 22/4/12(火) 20:09 ┗Re:変数による数式 通りすがりの後期高齢者 22/4/17(日) 14:41 ┗Re:変数による数式 R.N 22/4/18(月) 0:45 ┗Re:変数による数式 通りすがりの後期高齢者 22/4/18(月) 13:40 ┗Re:変数による数式 R.N 22/4/18(月) 18:55 ┗Re:変数による数式 ban 22/4/18(月) 19:50 ┣Re:変数による数式 R.N 22/4/20(水) 23:12 ┗Re."高さ数値変更02"をアップしました 通りすがりの後期高齢者 22/4/21(木) 13:10 ┣Re:Re."高さ数値変更02"をアップしました ban 22/4/21(木) 15:04 ┗Re:Re."高さ数値変更02"をアップしました R.N 22/4/24(日) 16:16 ┗Re:Re."高さ数値変更02"をアップしました 通りすがりの後期高齢者 22/4/24(日) 17:51 ┗Re:正規表現? R.N 22/4/25(月) 17:48 ┗Re:正規表現? 通りすがりの後期高齢者 22/4/25(月) 19:49 ─────────────────────────────────────── ■題名 : 変数による数式 ■名前 : moc ■日付 : 22/4/11(月) 14:45 -------------------------------------------------------------------------
JWWに変数を用いて自動計算した数値を表示できたりする機能はありますか? 説明が難しいのですが下記のようなことがしたいです。 配置図における敷地の各部のレベル表記を設計GLを変更すると全て連動して変わるようにしたいです。 例えば、ベンチマークのレベルを設計GL±X として、他のレベル表記を「X+30」,「X-150」などとしておいて、Xの数値を変更するとすべての数値も連動して変更されるようにしたいです。 レベル表記が多数ある場合等、設計GLを変更するたびにいちいち手入力していると、時間も無駄ですし、間違いの元にもなります。 なにか方法をご存じの方いらっしゃれば教えていただきたいです。 |
▼mocさん: >Xの数値を変更するとすべての数値も連動して変更されるようにしたいです。 そのような機能は無いですね |
jw_cad本体にはその機能は備わっていないと思いますが かつてCabaさんが公開されていた外部変形「QuickZ」の中に まさに仰っている目的のための「標高値シフト」がありました。 文字列をばさっと選択し、増減したい値を与えると全部変わるという物です。 現在配布されているサイトが見当たりませんのでどなたかにご提供いただくか、 外部変形を作成するかこれまたどなたかに新たに作っていただくか、 そんなような方法が考えられます。皆さまよろしくお願い致します。 |
▼mocさん: 文字コマンドの外部エディタで似たことはできるかも 外部エディタ、デフォルトでは「NOTEPAD」ですが、これで 変更する範囲の文字列を選択する->「NOTEPAD」実行 NOTEPADが開き、文字列を全部選択 EXCELなどの表計算ソフトに 貼り付け、数値文字部分だけを取り出す計算式の列を作成する。 数値文字部分を数値に変換し、差分を加える列(2列目)を作成 頭の数字以外の文字列を抜き出し、2列目のデータをの先頭に加算 する列を作成(3列目)これを行の文下方向にコピー(2列目も含めて) 3列目の結果を行の分コピーしてNOTEPADに貼る。 NOTEPADで上書き保存終了すればご希望の機能が実現できるかと。 |
昼休みに作ってみました。 https://blog.anshu.biz/?p=9372 |
▼mocさん: >JWWに変数を用いて自動計算した数値を表示できたりする機能はありますか? >説明が難しいのですが下記のようなことがしたいです。 > >配置図における敷地の各部のレベル表記を設計GLを変更すると全て連動して変わるようにしたいです。 >例えば、ベンチマークのレベルを設計GL±X として、他のレベル表記を「X+30」,「X-150」などとしておいて、Xの数値を変更するとすべての数値も連動して変更されるようにしたいです。 >レベル表記が多数ある場合等、設計GLを変更するたびにいちいち手入力していると、時間も無駄ですし、間違いの元にもなります。 > >なにか方法をご存じの方いらっしゃれば教えていただきたいです。 こんにちは。 少し時間が経ってしまいましたが・・ 色々な手法があると思いますが下記、画像のような 仕様で良ければご試用ください。 建築関係を想定しています。 ※概要 高さ文字の数値を増減する外部変形スクリプト 高さ数値として認識できる横文字(全角の符号付数値は対象外です。) ・半角符号付数字 <例> +1,000 -500 ・BM または ±0 ※開発言語 mswin32ruby 1.8.7---推奨バージョン 仕様画像 https://i.imgur.com/OlyBcC4.jpg 高さ数値変更.zip(5KB)ダウンロード先:ファイルなう https://d.kuku.lu/9370c4366 |
▼通りすがりの後期高齢者さん: こんばんは、お世話になります。 "BM・GL・DL・FL±"などの表記は、そのまま残るようにして貰いたいです。 (rbオプション設定へ、追記するとかで) 出力レベル表記は、元データレベルのみを別レイヤに移行した状態で、実行する手法でも結構です。 よろしくお願いいたします。 |
▼R.Nさん: > >こんばんは、お世話になります。 > >"BM・GL・DL・FL±"などの表記は、そのまま残るようにして貰いたいです。 >(rbオプション設定へ、追記するとかで) > >出力レベル表記は、元データレベルのみを別レイヤに移行した状態で、実行する手法でも結構です。 >よろしくお願いいたします。 こんにちは。 いつも検証ありがとうございます。 このようなレベルを変更する外部変形はそれぞれの考え方により 相違すると思います。 この外部変形は単純に入力した数値で増減するするものでGLとか FLとかの相対的な変更ではないです。 趣旨に合うかどうか解りませんがスクリプトの下記箇所を修正して 試してみてください。 ※56行目〜 ####### 設定 ############################################### # $marume="d" #丸め方式(r≡四捨五入; d≡切捨て; u≡切上げ) $keta = 1 #小数点以下の表示桁数(0〜4) $zero = "off" #表示桁数以下の0表示(on≡有; off≡無) $comma= "on" #三桁カンマ区切り(on≡設定有; off≡設定無) # $save = "BM" #数値認識及び保存する先頭文字列(無指定:半角空白) # ############################################################ def main $stdin = File.open("./temp.txt","r") $stdout = File.open("./jwc_temp.txt","w") $dh = 0.0 include Math while ARGV.size >= 1 case argument = ARGV.pop when /^\/h/ $dh = argument[2..-1].to_f end end if $marume != "r" && $marume != "d" && $marume != "u" puts "he 丸め方式設定エラー。"; exit end if $keta < 0 or $keta > 4 puts "he 小数点以下の表示桁数設定エラー。"; exit end if $comma != "on" && $comma != "off" puts "he 三桁カンマ区切り設定エラー。"; exit end if $dh == 0 puts "he 増減する高さ数値が入力されていません。"; exit end while gets ele = $_.split if $_ =~ /^hq/ puts "hd" #データ書換 elsif $_ =~ /^ch/ #横文字 data = $_.split no = $_.index(/\"/); moji = $_[no+1..-1].strip if moji =~ /^\+[0-9]|^\-[0-9]|^±|^#{$save}/ #半角符号付数字&$save if moji =~ /^#{$save}/ save = $save elsif moji !~ /^#{$save}/ save = "" end moji.delete!("+±\s,#{$save}") h0 = moji.to_f+$dh h = marume(h0) if h0 == 0 puts [data[0,5],"\"#{save}±0"].join("\s") elsif h0 > 0 puts [data[0,5],"\"#{save}+#{h}"].join("\s") elsif h0 < 0 puts [data[0,5],"\"#{save}#{h}"].join("\s") end else end else print #その他のデータは全て書出し end end end rem ---以上です。 |
▼通りすがりの後期高齢者さん: こんにちは、 >この外部変形は単純に入力した数値で増減するするものでGLとか >FLとかの相対的な変更ではないです。 同梱の「高さ数値変更.jww」で、"BM±0" が、実行後 "+500" なっていますので、先頭文字がある場合は、頭だけはそのままの方がありがたいかな〜と思ったもので ありがとうございます。 「未実行」で、変更されませんので、Res遅くなりました。すみません。 |
▼R.Nさん: >▼通りすがりの後期高齢者さん: > >こんにちは、 > >>この外部変形は単純に入力した数値で増減するするものでGLとか >>FLとかの相対的な変更ではないです。 > >同梱の「高さ数値変更.jww」で、"BM±0" が、実行後 "+500" なっていますので、先頭文字がある場合は、頭だけはそのままの方がありがたいかな〜と思ったもので > >ありがとうございます。 >「未実行」で、変更されませんので、Res遅くなりました。すみません。 変更版を実行すると、 例えば、BM±0に対して、高さ指示を500とした場合、BM+500となりました。 又、BM+500に対して、高さ指示-500とした場合、BM±0となりました。 +〇〇〇や-〇〇〇に対しては高さ指示通りの表示となりますよ。 複数の先頭文字に対して一度で行う場合は、ソースの変更が必要となる。 |
>▼通りすがりの後期高齢者さん: ▼banさん: こんばんは、 「丸め」方法のメソッド定義を忘れてました。 失礼しました。 |
▼banさん: >▼R.Nさん: >>▼通りすがりの後期高齢者さん: >> >>こんにちは、 >> >>>この外部変形は単純に入力した数値で増減するするものでGLとか >>>FLとかの相対的な変更ではないです。 >> >>同梱の「高さ数値変更.jww」で、"BM±0" が、実行後 "+500" なっていますので、先頭文字がある場合は、頭だけはそのままの方がありがたいかな〜と思ったもので >> >>ありがとうございます。 >>「未実行」で、変更されませんので、Res遅くなりました。すみません。 > >変更版を実行すると、 >例えば、BM±0に対して、高さ指示を500とした場合、BM+500となりました。 >又、BM+500に対して、高さ指示-500とした場合、BM±0となりました。 >+〇〇〇や-〇〇〇に対しては高さ指示通りの表示となりますよ。 > >複数の先頭文字に対して一度で行う場合は、ソースの変更が必要となる。 こんにちは。 R.Nさん、banさん いつも貴重なご示唆ありがとうございます。 書込みを参考にして"高さ数値変更02"をアップしました。 ※変更概要 1.先頭文字列の保持オプションを追加しました。 2.先頭文字列を複数設定出来るようにしました。 3.シフトした高さ文字の色変更オプションを追加しました。 ※開発言語 mswin32ruby 1.8.7---推奨バージョン 高さ数値変更.zip(7KB)ダウンロード先:ファイルなう https://d.kuku.lu/17fcf3222 |
"高さ数値変更02"のアップありがとうございます。 複数の先頭文字対応の動作を確認しました。 最大5個の先頭文字に対応してくれましたので、 mocさんの要望通りの動作をしてくれるのではないでしょうか。 |
こんにちは、 Ver2Up、ありがとうございます。 個人的に、「m単位」で使うことが多いということで、 batメニューを |m単位|mm単位| に分け、 rubyオプションの「$keta」・「$zero」・「$comma」など、 メニュー別に、起動できるようにしてみました。 それと、$save1〜$save? の変数を増やしてみたり、 その他、あちこち自分好みに修正したりとかして、使用させて頂いてます。 感謝です。 (*´-`*)ゞ (ruby見習い中) それにしても、スレ主さんは--- |
▼R.Nさん: >個人的に、「m単位」で使うことが多いということで、 >batメニューを |m単位|mm単位| に分け、 >rubyオプションの「$keta」・「$zero」・「$comma」など、 >メニュー別に、起動できるようにしてみました。 > >それと、$save1〜$save? の変数を増やしてみたり、 >その他、あちこち自分好みに修正したりとかして、使用させて頂いてます。 > >感謝です。 (*´-`*)ゞ >(ruby見習い中) > >それにしても、スレ主さんは--- こんにちは。 卯之助さんご紹介の cabaさんの"標高値シフト.BAT"は+符号がない数値でもシフト出来ますし 数値文字列の中に数字以外の文字がある場合にも認識して処理できる事が 特徴になっています。 AWKは解らないですがrubyでも正規表現の使い方によっては更に複雑な処理 が出来るようになると思います。 個人的には正規表現の理解不足の為思うようにできませんが・・ それぞれの方の過去の実践経験を基にした手法があると思いますのて゛ 情報交換して頂けるとありがたいです。 スレ主さんは外部変形というより本体機能での要望かもしれませんね? |
▼通りすがりの後期高齢者さん: こんにちは、 >それぞれの方の過去の実践経験を基にした手法があると思いますのて゛ >情報交換して頂けるとありがたいです。 $dhy=printf("%+d"$dh) $dhy=$dhy.to_s.reverse.gsub(/(\d{3})(?=\d)/,’\1,’).reverse (アポストロフィー( ’ )が化けるので、全角にしてます) どうでもいいことでしょうが、注意文、シフト量の3桁区切りに使用してみました。 (ネット引用です---もっといい方法がありそうな?) |
▼R.Nさん: > > $dhy=printf("%+d"$dh) > $dhy=$dhy.to_s.reverse.gsub(/(\d{3})(?=\d)/,’\1,’).reverse > (アポストロフィー( ’ )が化けるので、全角にしてます) > >どうでもいいことでしょうが、注意文、シフト量の3桁区切りに使用してみました。 >(ネット引用です---もっといい方法がありそうな?) 情報ありがとうございます。 今のところ期待通りの動きをしているようです。 $dhy=printf("%+d",$dh)の書式制御文字変える事によって色々な 応用ができそうですね。 |