Page 336 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼多重円選択 ムック 16/7/6(水) 9:17 ┣Re:多重円選択 R.N 16/7/6(水) 11:51 ┃ ┗Re:多重円選択 ムック 16/7/6(水) 14:40 ┃ ┣Re:多重円選択 これはどうでしょうか? 柳 絮 16/7/6(水) 18:58 ┃ ┗Re:多重円選択 R.N 16/7/6(水) 20:21 ┗Re:多重円選択 cap 16/7/6(水) 17:46 ┗Re:多重円選択 ムック 16/7/7(木) 22:31 ┗Re:多重円選択 ムック 16/7/8(金) 8:25 ┗Re:多重円選択 cap 16/7/8(金) 15:16 ┗Re:多重円選択 ムック 16/7/8(金) 18:41 ┣Re:多重円選択 kojima 16/7/8(金) 20:01 ┃ ┗Re:多重円選択 ムック 16/7/9(土) 9:10 ┃ ┗Re:多重円選択 kojima 16/7/9(土) 12:55 ┃ ┗Re:多重円選択 ムック 16/7/10(日) 8:46 ┗Re:多重円選択 cap 16/7/8(金) 20:16 ┣Re:多重円選択 R.N 16/7/8(金) 21:00 ┗Re:多重円選択 ムック 16/7/9(土) 8:55 ┗Re:多重円選択 cap 16/7/9(土) 13:45 ┣Re:多重円選択 R.N 16/7/9(土) 21:56 ┃ ┗Re:多重円選択 cap 16/7/11(月) 20:55 ┃ ┣Re:多重円選択 R.N 16/7/11(月) 22:40 ┃ ┗Re:多重円選択 cap 16/7/16(土) 13:26 ┗Re:多重円選択 ムック 16/7/10(日) 9:07 ─────────────────────────────────────── ■題名 : 多重円選択 ■名前 : ムック ■日付 : 16/7/6(水) 9:17 -------------------------------------------------------------------------
こんにちは。教えていただきたいのですが 。 もらった土地の平面図に標高が数百ヶ所記入してあるのですが、 何もかもひとつのレイヤに書いてあるため、この文字が多すぎて見にくいので他のレイヤに移動して非表示にしたいと思います。 で、文字自体は同じサイズで書いてあったので、文字種類を指定してすべて移動することができたのですが、その標高の基点に小さく8重の多重円がすべて記入してありました。 この多重円が同じく数百あるのですが、移動しようと思って円指定すると他の関係ない円を使った様々な地図記号がまた一緒に大量に含まれてしまいます。 多重円だけを移動したいのですが、選択する方法はありますでしょうか。あるいは選択したものと同一図形だけ範囲選択して移動できるような外部変形とかご存じありませんでしょうか? よろしくお願いします。 |
▼ムックさん: 属性選択で、「□円指定」にチェックでは、どうなんでしょう? |
▼R.Nさん: >▼ムックさん: > >属性選択で、「□円指定」にチェックでは、どうなんでしょう? 質問にも書きましたが、円指定で全て選択出来ているのですが 選択したくない円も大量に選択されてしまいます。 8重に書かれている(見た目は点ですが)円だけを選択したいのです。 分かりにくくてすみません。 |
▼ムックさん: >選択したくない円も大量に選択されてしまいます。 >8重に書かれている(見た目は点ですが)円だけを選択したいのです。 ご苦労されてますね。 首記の通りですが、 M.Hayashi 様の「en_convert」は如何でしょうか? 「en_convert」で検索すればヒットします。 細かく指定出来ますので便利です。 M.Hayashi 様ありがとうございます。 上手くいくと良いですね |
▼ムックさん: ごめんなさい↓ 読み飛ばしてました (。>0<。)ビェェン capさん紹介の「ブロック編集もどき」を使用してみました。 "バッチリ"だと思いました。 スターさん、感謝です。(DLだけしてて、忘れてました↓) capさん、教えていただき、ありがとうございます。 |
▼ムックさん: すべての多重円が同じ形状なら「ブロック編集もどき」でできるでしょう。 外部変形−ブロック編集もどき 03a siegel's BLOG 『精進寺』 http://siegel.cocolog-nifty.com/siegels_blog/2007/04/03_7454.html |
皆さん有難うございます。急用でずっと外出しています。明日時間が取れ次第ご提案を試みてみます。その後報告いたします。勝手ながら すみません。 |
やっと時間が取れましたので試してみました。 en_convertですが、「多重円を単円に変換」を実行しましたところ8重円が3重円になりました。あれっまさか?と思い、測定してみましたら8重円のうち中から2つ目と3つ目の円の中心が0.000001mmずれていました。 作図した人はこのわずかにずれた図形をそのまま複写して使っているようで、すべて同じようにずれた多重円でした。そして、仮にずれていないとしても変換した単円と同じサイズの円が他にも図上にありましたので、当初の多重円だけ選択することはできませんでした。 また、「ブロック編集もどき」は内容的には自分の目的にぴったりだと思いました。 しかし、やってみますと「元移動編集」では1度の実行で8重円のうち外側の円二つだけしか移動できませんでした。これを3回繰り返すとすべての円が移動できました。 ここで、また問題が起きたのですが。最後に移動した円とたまたま同じサイズの単円が図上に多数存在していました。このため最終的には希望しないこの単円を含めて移動してしまい。あと一歩のところで思うような動作ができませんでした。 ちなみに「ブロック編集もどき」で大きな多重円を多数描いて試してみましたら、問題なく意図通りに動作しました。今回の多重円(最小半径0.019mmから0.019mm間隔で8重円)で実行しましたら2つの円だけしか移動できませんでした。 自分の環境の問題もあるかもしれませんので、また時間ができたら試行してみようと思います。 |
▼ムックさん: 図形全体を10倍に拡大して、実行してみてください。 ※処理後は縮小して戻す。 |
▼capさん: >▼ムックさん: > >図形全体を10倍に拡大して、実行してみてください。 >※処理後は縮小して戻す。 図面の縮尺を10倍にして実行してみました。 結果は8重円のうち半分くらいは完全に移動できましたが、残りは外側の6重部分だけ移動され、中の2重円は残りました。 で15倍にして実行しました。今度は8重円すべて移動できましたが、全く大きさの違う円や半円も一緒に移動されました。 結局、最初の10倍の図面で一度実行し、残った2重円を元図形として登録してから再び移動するという方法に行きつきました。ただし、これでも全くサイズの違う円も何故か一緒に移動されました。 よく分かりませんが、どこかで誰かがCADデータを変換したときの精度の誤差によるのでしょうか。初めて使う外部変形で自分のやり方が間違っているのかもしれません。とはいえ、ここまでくればあとは一つずつ修正すれば済みます。どうもありがとうございました。 それにしても、若干古いとはいえそこそこのワークステーションなのですが一度の実行で5分くらいかかりました。。。。 |
バッチファイルにrubyスクリプトを記述するタイプの外部変形です。 実行には、Rubyのインストールが必要です。 @REM 多重円のレイヤ変更 @echo off REM #jww REM #cd REM #ht10 REM #ht20 REM #ht30 REM #ht40 REM #zz REM #zw REM #zc REM #h1 REM #c指定レイヤ 無指定:0/_/a REM #e copy jwc_temp.txt temp.txt > nul ruby -x %~f0 temp.txt %1 > jwc_temp.txt pause goto end #!ruby -Ks include Math new_ly="ly0" while ARGV.size>1 case argument=ARGV.pop when /\/a/ new_ly="ly"+argument[2..-1] end end zahyo=[] while ARGF.gets xy=$_.split if xy[0]=~/^ci/ zahyo<<[xy[1].to_i,xy[2].to_i] end end zahyo2=zahyo.uniq zahyo3=[] zahyo2.each{|item| n=0 zahyo.each{|item2| n += 1 if item==item2 break if n==2 } zahyo3<<item if n==2 } puts "hd" open("temp.txt","r"){|f| while f.gets xy=$_.split if xy[0]=~/^hq/ elsif xy[0]=~/^ly/ print $_ old_ly=xy[0] elsif xy[0]=~/^ci/ x,y=xy[1].to_i,xy[2].to_i if zahyo3.include?([x,y]) puts new_ly print $_ puts old_ly else print $_ end else print $_ end end } __END__ :end |
▼kojimaさん: 大変ありがとうございます。 希望通り多重円のレイヤ移動が1回でできました。 ただ、8重円とともに、道路センターの2重円とか同心の円弧で書いてある植栽記号とかも一緒に移動されました。 もし可能であれば何重円かの指定ができるとありがたいです。 ご面倒ならこのままで勿論構いません。 前にも書きましたが、8重円の円弧中心にわずかにズレがありました。 そのズレはどのように処理されたのでしょうか? 中身を見てもさっぱりなので。 |
▼ムックさん: >もし可能であれば何重円かの指定ができるとありがたいです。 @REM 多重円のレイヤ変更 @echo off REM #jww REM #cd REM #ht10 REM #ht20 REM #ht30 REM #ht40 REM #bz REM #zz REM #zw REM #zc REM #h1 REM #c指定レイヤ 無指定:0/_/a REM #c重なり数の指定 無指定:2/_/b REM #e copy jwc_temp.txt temp.txt > nul ruby -x %~f0 temp.txt %1 %2 > jwc_temp.txt pause goto end #!ruby -Ks include Math new_ly="ly0" c_n=2 while ARGV.size>1 case argument=ARGV.pop when /\/a/ new_ly="ly"+argument[2..-1] when /\/b/ c_n=argument[2..-1].to_i end end zahyo=[] while ARGF.gets xy=$_.split if xy[0]=~/^ci/ zahyo<<[xy[1].to_i,xy[2].to_i] end end zahyo2=zahyo.uniq zahyo3=[] zahyo2.each{|item| n=0 zahyo.each{|item2| n += 1 if item==item2 } zahyo3<<item if n==c_n zahyo.delete(item) } puts "hd" open("temp.txt","r"){|f| while f.gets xy=$_.split if xy[0]=~/^hq/ elsif xy[0]=~/^ly/ print $_ old_ly=xy[0] elsif xy[0]=~/^ci/ x,y=xy[1].to_i,xy[2].to_i if zahyo3.include?([x,y]) puts new_ly print $_ puts old_ly else print $_ end else print $_ end end } __END__ :end >前にも書きましたが、8重円の円弧中心にわずかにズレがありました。 >そのズレはどのように処理されたのでしょうか? 小数点以下のズレは無視しています。 小数点以下切り捨にて比較して、中心座標がオン同じならば同心円とみなす。 |
▼kojimaさん: 完璧に自分の望むことができました。 一般にはまれで特殊な用途だと思いますが、自分の仕事では使わせていただく場面は結構あります。 ありがとうございました |
▼ムックさん: 確認です。 >図面の縮尺を10倍にして実行してみました。 縮尺を10倍とは、縮尺設定の1/1を10/1にしたということですか? 縮尺設定ではなくて、図形を移動コマンドで10倍に拡大です。 |
▼capさん: こんにちは、 拡大・縮尺でも--- 試したのは、近接した同心円です。 |
▼capさん: >▼ムックさん: > >確認です。 >>図面の縮尺を10倍にして実行してみました。 >縮尺を10倍とは、縮尺設定の1/1を10/1にしたということですか? >縮尺設定ではなくて、図形を移動コマンドで10倍に拡大です。 すみません、よくわからないのですが。 多重円だけ全てを選択して10倍でしょうか? そうでしたらその多重円が等高線などの間に大量に書いてあって選択が難しいのですが。。。。 |
▼ムックさん: 現在の用紙サイズが A3ならば用紙サイズを5Aに、 A1ならば用紙サイズを10mに、 設定しておいて全体を10倍です。 |
▼capさん: 移動⇒拡大(R=0.019の100倍程度)で解決できました。 ありがとうございます。 ただ---、微小円とか近接しているから、とかではないように思いました。 (実行する度に、状況が変わりますので) |
▼R.Nさん: >ただ---、微小円とか近接しているから、とかではないように思いました。 >(実行する度に、状況が変わりますので) ・・なにかありそうですね。 半径0.152mmの8重円を、500倍して、半径76mmの8重円にすると判定が安定するようです。 |
▼capさん: 色々と試して頂いて、すみませんです。 |
▼capさん: 当方での、 各半径の8重円の実行結果 OK=○ NG=× R0.000195312の8重円 ○ R0.000390625の8重円 ○ R0.00078125の8重円 ○ R0.0015625の8重円 ○ R0.003125の8重円 ○ R0.00625の8重円 ○ R0.0125の8重円 ○ R0.025の8重円 × R0.05の8重円 × R0.1の8重円 × R0.2の8重円 × R0.4の8重円 × R0.8の8重円 × R1.6の8重円 ○ R3.2の8重円 ○ R6.4の8重円 ○ R12.8の8重円 ○ R25.6の8重円 ○ |
▼capさん: 10倍、20倍では8重円のうち6つとか2つとかの移動になりました。 100倍ではほぼすべて7重部分までが移動できました。 あとは試していません。 移動できなかった円を図ってみたら微妙にしかも不規則に中心がずれていました。多分CADデータ変換時に生じたものではないかと思います。 この外変の問題ではなく、私の図面データの問題ということになると思います。いろいろありがとうございました。 |