Jw_cad 相談室−その2
Jw_cad についての相談の場としてお使いください
情報の交換には
Jw_cad 情報交換室
をご利用ください
なお、情報交換室と相談室の両方に同じ内容を投稿するのはご遠慮ください
2009年9月以前の発言は
過去ログのページからご覧ください。
それ以降の過去ログは消失しています。
申し訳ありませんが、復活の予定はありません。
|
通りすがりの後期高齢者
- 22/4/17(日) 14:41 -
|
▼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
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36@133-106-93-108.mvno.rakuten.jp>
▼通りすがりの後期高齢者さん:
こんばんは、お世話になります。
"BM・GL・DL・FL±"などの表記は、そのまま残るようにして貰いたいです。
(rbオプション設定へ、追記するとかで)
出力レベル表記は、元データレベルのみを別レイヤに移行した状態で、実行する手法でも結構です。
よろしくお願いいたします。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0@pl78372.ag2001.nttpc.ne.jp>
|
通りすがりの後期高齢者
- 22/4/18(月) 13:40 -
|
▼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
print
end
else
print #その他のデータは全て書出し
end
end
end
rem ---以上です。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36@133-106-72-130.mvno.rakuten.jp>
▼通りすがりの後期高齢者さん:
こんにちは、
>この外部変形は単純に入力した数値で増減するするものでGLとか
>FLとかの相対的な変更ではないです。
同梱の「高さ数値変更.jww」で、"BM±0" が、実行後 "+500" なっていますので、先頭文字がある場合は、頭だけはそのままの方がありがたいかな〜と思ったもので
ありがとうございます。
「未実行」で、変更されませんので、Res遅くなりました。すみません。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0@pl78372.ag2001.nttpc.ne.jp>
▼R.Nさん:
>▼通りすがりの後期高齢者さん:
>
>こんにちは、
>
>>この外部変形は単純に入力した数値で増減するするものでGLとか
>>FLとかの相対的な変更ではないです。
>
>同梱の「高さ数値変更.jww」で、"BM±0" が、実行後 "+500" なっていますので、先頭文字がある場合は、頭だけはそのままの方がありがたいかな〜と思ったもので
>
>ありがとうございます。
>「未実行」で、変更されませんので、Res遅くなりました。すみません。
変更版を実行すると、
例えば、BM±0に対して、高さ指示を500とした場合、BM+500となりました。
又、BM+500に対して、高さ指示-500とした場合、BM±0となりました。
+〇〇〇や-〇〇〇に対しては高さ指示通りの表示となりますよ。
複数の先頭文字に対して一度で行う場合は、ソースの変更が必要となる。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36 Edg/100.0.1185.44@p9208-ipngn1201morioka.iwate.ocn.ne.jp>
>▼通りすがりの後期高齢者さん:
▼banさん:
こんばんは、
「丸め」方法のメソッド定義を忘れてました。
失礼しました。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0@pl78372.ag2001.nttpc.ne.jp>
|
通りすがりの後期高齢者
- 22/4/21(木) 13:10 -
|
▼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
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36@133-106-95-161.mvno.rakuten.jp>
"高さ数値変更02"のアップありがとうございます。
複数の先頭文字対応の動作を確認しました。
最大5個の先頭文字に対応してくれましたので、
mocさんの要望通りの動作をしてくれるのではないでしょうか。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36 Edg/100.0.1185.44@p9208-ipngn1201morioka.iwate.ocn.ne.jp>
こんにちは、
Ver2Up、ありがとうございます。
個人的に、「m単位」で使うことが多いということで、
batメニューを |m単位|mm単位| に分け、
rubyオプションの「$keta」・「$zero」・「$comma」など、
メニュー別に、起動できるようにしてみました。
それと、$save1〜$save? の変数を増やしてみたり、
その他、あちこち自分好みに修正したりとかして、使用させて頂いてます。
感謝です。 (*´-`*)ゞ
(ruby見習い中)
それにしても、スレ主さんは---
<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0@pl28403.ag2001.nttpc.ne.jp>
|
通りすがりの後期高齢者
- 22/4/24(日) 17:51 -
|
▼R.Nさん:
>個人的に、「m単位」で使うことが多いということで、
>batメニューを |m単位|mm単位| に分け、
>rubyオプションの「$keta」・「$zero」・「$comma」など、
>メニュー別に、起動できるようにしてみました。
>
>それと、$save1〜$save? の変数を増やしてみたり、
>その他、あちこち自分好みに修正したりとかして、使用させて頂いてます。
>
>感謝です。 (*´-`*)ゞ
>(ruby見習い中)
>
>それにしても、スレ主さんは---
こんにちは。
卯之助さんご紹介の
cabaさんの"標高値シフト.BAT"は+符号がない数値でもシフト出来ますし
数値文字列の中に数字以外の文字がある場合にも認識して処理できる事が
特徴になっています。
AWKは解らないですがrubyでも正規表現の使い方によっては更に複雑な処理
が出来るようになると思います。
個人的には正規表現の理解不足の為思うようにできませんが・・
それぞれの方の過去の実践経験を基にした手法があると思いますのて゛
情報交換して頂けるとありがたいです。
スレ主さんは外部変形というより本体機能での要望かもしれませんね?
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36@133-106-89-143.mvno.rakuten.jp>
▼通りすがりの後期高齢者さん:
こんにちは、
>それぞれの方の過去の実践経験を基にした手法があると思いますのて゛
>情報交換して頂けるとありがたいです。
$dhy=printf("%+d"$dh)
$dhy=$dhy.to_s.reverse.gsub(/(\d{3})(?=\d)/,’\1,’).reverse
(アポストロフィー( ’ )が化けるので、全角にしてます)
どうでもいいことでしょうが、注意文、シフト量の3桁区切りに使用してみました。
(ネット引用です---もっといい方法がありそうな?)
<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0@pl28403.ag2001.nttpc.ne.jp>
|
通りすがりの後期高齢者
- 22/4/25(月) 19:49 -
|
▼R.Nさん:
>
> $dhy=printf("%+d"$dh)
> $dhy=$dhy.to_s.reverse.gsub(/(\d{3})(?=\d)/,’\1,’).reverse
> (アポストロフィー( ’ )が化けるので、全角にしてます)
>
>どうでもいいことでしょうが、注意文、シフト量の3桁区切りに使用してみました。
>(ネット引用です---もっといい方法がありそうな?)
情報ありがとうございます。
今のところ期待通りの動きをしているようです。
$dhy=printf("%+d",$dh)の書式制御文字変える事によって色々な
応用ができそうですね。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36@133-106-75-175.mvno.rakuten.jp>
Jw_cad Copyright (C)1997-2021 Jiro Shimizu & Yoshifumi Tanaka