Page 68 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼特定長さの線を選択したい あかし 14/09/01(月) 17:24 ┣Re(1):特定長さの線を選択したい kojima 14/09/02(火) 0:13 ┃ ┣Re(2):特定長さの線を選択したい あかし 14/09/02(火) 8:42 ┃ ┗Re(2):特定長さの線を選択したい R.N 14/09/02(火) 21:38 ┃ ┗Re(3):特定長さの線を選択したい kojima 14/09/02(火) 22:26 ┃ ┗Re(4):特定長さの線を選択したい R.N 14/09/02(火) 22:30 ┃ ┗Re(5):特定長さの線を選択したい kojima 14/09/03(水) 0:52 ┃ ┣Re(6):特定長さの線を選択したい R.N 14/09/03(水) 7:47 ┃ ┗修正 kojima 14/09/03(水) 9:17 ┃ ┗Re(1):修正 お礼 あかし 14/09/03(水) 9:56 ┗間接的に外部変形と標準機能を連携 kojima 15/07/04(土) 11:46 ┗Re(1):間接的に外部変形と標準機能を連携 あかし 15/07/04(土) 14:03 ┗Re(2):間接的に外部変形と標準機能を連携 あかし 15/07/04(土) 14:11 ─────────────────────────────────────── ■題名 : 特定長さの線を選択したい ■名前 : あかし ■日付 : 14/09/01(月) 17:24 -------------------------------------------------------------------------
図面中の特定長(n〜nn)の線を選択したいのです 過去に頂いたRV変換後のゴミ微細線消去を試したのですが うまく動作いたしませんでした。選択後にレイヤーを変えたり線色変更を したいと思います。そんな範囲選択を一部に持つ外変などご存知ありませんか? |
▼あかしさん: >図面中の特定長(n〜nn)の線を選択したいのです >過去に頂いたRV変換後のゴミ微細線消去を試したのですが >うまく動作いたしませんでした。選択後にレイヤーを変えたり線色変更を >したいと思います。そんな範囲選択を一部に持つ外変などご存知ありませんか? 外部変形と標準機能を連携させることはできません。 当然、外部変形で範囲選択して標準機能で変更することは不可能です。 レイヤ変更にしろ線色変更にしろ外部変形で完結させるしかありません。 以下、バッチファイルにrubyスクリプトを記述するタイプの外部変形です。 コピペ後、全角スペースを半角スペースに一括置換してください。 実行にはrubyのインストールが必要です。(ruby186-26.exeで検索してください) @REM 一定範囲の長さの線の属性を変更する @echo off REM #jww REM #cd REM #ht10 REM #ht20 REM #ht30 REM #ht40 REM #zz REM #zw REM #zc REM #h1 REM #hc線を選択してください REM #c線の最小長さを入力(実寸) 無指定:0/_/a REM #c線の最大長さを入力(実寸) 無指定:100/_/b REM #k変更する属性|1)レイヤ(L)|2)線色(R)|/_/c REM #c変更後の属性NOを入力 無指定:1/_/d REM #e copy jwc_temp.txt temp.txt > nul ruby -x %~f0 temp.txt %1 %2 %3 %4> jwc_temp.txt pause exit #!ruby -Ks include Math min_l=0.0;max_l=100.0;zno="1" while ARGV.size>1 case argument=ARGV.pop when /\/a/ min_l=argument[2..-1].to_f when /\/b/ max_l=argument[2..-1].to_f when /\/c/ zz=argument[2..-1] when /\/d/ zno=argument[2..-1] end end def z_hen(xy,min_l,max_l,zz,zno,no,ly,lc) xy.collect!{|item|item.to_f} l=hypot(xy[3]-xy[1],xy[2]-xy[0]) if l>=min_l && l<=max_l if zz=="1" puts "ly#{zno}" puts no if no != 0 printf(" #{xy[0]} #{xy[1]} #{xy[2]} #{xy[3]}\n") puts ly else puts "lc#{zno}" puts no if no != 0 printf(" #{xy[0]} #{xy[1]} #{xy[2]} #{xy[3]}\n") puts lc end else puts no if no != 0 printf(" #{xy[0]} #{xy[1]} #{xy[2]} #{xy[3]}\n") end end while ARGF.gets xy=split if xy[0] =~ /^hq/ elsif xy[0] =~ /^ly/ print $_ ly = xy[0] elsif xy[0] =~ /^lc/ print $_ lc = xy[0] elsif xy[0] =~ /^z\d/ zokusei=xy[0] ARGF.gets xy=split if xy[0] =~ /^\d|^-/ z_hen(xy,min_l,max_l,zz,zno,zokusei,ly,lc) else puts zokusei print $_ end elsif xy[0] =~ /^\d|^-/ z_hen(xy,min_l,max_l,zz,zno,0,ly,lc) else print $_ end end |
kojima 様 ありがとうございました 線選択 レイヤー変更実行できました 線長の範囲の設定も嬉しいです 元図形の線が残るのも大助かりです 本当にいつものように助けていただき感謝しています |
▼kojimaさん:こんにちは、お世話になっています。 即の対応・提供---本当に感謝です。 スレ主さんの発言で、元レイヤに選択図形を残すかどうかなんですが--- その選択をできるようにして頂ければ、有難いような気がしましたが、 どうでしょう? 私的に、元レイヤから削除された状態で、編集することが多いような--- |
>▼kojimaさん:こんにちは、お世話になっています。 > >即の対応・提供---本当に感謝です。 > >スレ主さんの発言で、元レイヤに選択図形を残すかどうかなんですが--- > >その選択をできるようにして頂ければ、有難いような気がしましたが、 >どうでしょう? > >私的に、元レイヤから削除された状態で、編集することが多いような--- ちょっと、意味がわかりません。 変更する属性で「レイヤ」を選択すると、特定長さ範囲の線が指定レイヤに移動する。(特定長さ範囲以外は変化なし) 変更する属性で「線色」を選択すると、特定長さ範囲の線が指定線色に変更される。(特定長さ範囲以外は変化なし) ↑ これ以外は行いません。 レイヤと線色の両方を変更する場合は、「再実行」で2回実行する。 1回の実行でレイヤ・線色ともに変更するということですか? |
▼kojimaさん: >ちょっと、意味がわかりません。 > >変更する属性で「レイヤ」を選択すると、特定長さ範囲の線が指定レイヤに移動する。(特定長さ範囲以外は変化なし) >変更する属性で「線色」を選択すると、特定長さ範囲の線が指定線色に変更される。(特定長さ範囲以外は変化なし) >↑ >これ以外は行いません。 > >全く違う外部変形を想像されていませんか? 表現が悪く----すみません。 特定寸法のレイヤ移動は確認しました。 ただ、その図形を元レイヤに残すか、残さないか---を思ったまでです。 |
hdの記述漏れでした。(選択図形が消去されない) 各図形が2重になっています。 スレ主さんの「元図形が残る」という発言にも ? だったのですが。 @REM 一定範囲の長さの線の属性を変更する @echo off REM #jww REM #cd REM #ht10 REM #ht20 REM #ht30 REM #ht40 REM #zz REM #zw REM #zc REM #h1 REM #hc線を選択してください REM #c線の最小長さを入力(実寸) 無指定:0/_/a REM #c線の最大長さを入力(実寸) 無指定:100/_/b REM #k変更する属性|1)レイヤ(L)|2)線色(R)|/_/c REM #c変更後の属性NOを入力 無指定:1/_/d REM #k元図形を残す|1)YES(L)|2)NO(R)|/_/e REM #e copy jwc_temp.txt temp.txt > nul ruby -x %~f0 temp.txt %1 %2 %3 %4 %5> jwc_temp.txt pause exit #!ruby -Ks include Math min_l=0.0;max_l=100.0;zno="1" while ARGV.size>1 case argument=ARGV.pop when /\/a/ min_l=argument[2..-1].to_f when /\/b/ max_l=argument[2..-1].to_f when /\/c/ zz=argument[2..-1] when /\/d/ zno=argument[2..-1] when /\/e/ del=argument[2..-1] end end def z_hen(xy,min_l,max_l,zz,zno,no,ly,lc) xy.collect!{|item|item.to_f} l=hypot(xy[3]-xy[1],xy[2]-xy[0]) if l>=min_l && l<=max_l if zz=="1" puts "ly#{zno}" puts no if no != 0 printf(" #{xy[0]} #{xy[1]} #{xy[2]} #{xy[3]}\n") puts ly else puts "lc#{zno}" puts no if no != 0 printf(" #{xy[0]} #{xy[1]} #{xy[2]} #{xy[3]}\n") puts lc end else puts no if no != 0 printf(" #{xy[0]} #{xy[1]} #{xy[2]} #{xy[3]}\n") end end def main1(min_l,max_l,zz,zno) if zz=="1" puts "ly#{zno}" else puts "lc#{zno}" end while ARGF.gets xy=split if xy[0] =~ /^\d|^-/ xy.collect!{|item|item.to_f} l=hypot(xy[3]-xy[1],xy[2]-xy[0]) if l>=min_l && l<=max_l printf(" #{xy[0]} #{xy[1]} #{xy[2]} #{xy[3]}\n") end end end end def main2(min_l,max_l,zz,zno) puts "hd" while ARGF.gets xy=split if xy[0] =~ /^hq/ elsif xy[0] =~ /^ly/ print $_ ly = xy[0] elsif xy[0] =~ /^lc/ print $_ lc = xy[0] elsif xy[0] =~ /^z\d/ zokusei=xy[0] ARGF.gets xy=split if xy[0] =~ /^\d|^-/ z_hen(xy,min_l,max_l,zz,zno,zokusei,ly,lc) else puts zokusei print $_ end elsif xy[0] =~ /^\d|^-/ z_hen(xy,min_l,max_l,zz,zno,0,ly,lc) else print $_ end end end del == "1" ? main1(min_l,max_l,zz,zno) : main2(min_l,max_l,zz,zno) |
▼kojimaさん: こんにちは、 確認しました。 メーカPDFとかをRV変換した図形の、一定長さ以下の線の削除とかに使える、 と思いお願いしました。 ありがとうございます。 |
元図形を残す場合 レイヤ指定の場合、書込線色・書込線種・書込線幅で作図されます。 線色指定の場合、書込レイヤ・書込線種・書込線幅で作図されます。 以下のものは、元レイヤ・元線色・元線種・元線幅で作図するように修正しました。 @REM 一定範囲の長さの線の属性を変更する @echo off REM #jww REM #cd REM #ht10 REM #ht20 REM #ht30 REM #ht40 REM #zz REM #zw REM #zc REM #h1 REM #hc線を選択してください REM #c線の最小長さを入力(実寸) 無指定:0/_/a REM #c線の最大長さを入力(実寸) 無指定:100/_/b REM #k変更する属性|1)レイヤ(L)|2)線色(R)|/_/c REM #c変更後の属性NOを入力 無指定:1/_/d REM #k元図形を残す|1)YES(L)|2)NO(R)|/_/e REM #e copy jwc_temp.txt temp.txt > nul ruby -x %~f0 temp.txt %1 %2 %3 %4 %5> jwc_temp.txt pause exit #!ruby -Ks include Math min_l=0.0;max_l=100.0;zno="1" while ARGV.size>1 case argument=ARGV.pop when /\/a/ min_l=argument[2..-1].to_f when /\/b/ max_l=argument[2..-1].to_f when /\/c/ zz=argument[2..-1] when /\/d/ zno=argument[2..-1] when /\/e/ del=argument[2..-1] end end def z_hen(xy,min_l,max_l,zz,zno,no,ly,lc) xy.collect!{|item|item.to_f} l=hypot(xy[3]-xy[1],xy[2]-xy[0]) if l>=min_l && l<=max_l if zz=="1" puts "ly#{zno}" puts no if no != 0 printf(" #{xy[0]} #{xy[1]} #{xy[2]} #{xy[3]}\n") puts ly else puts "lc#{zno}" puts no if no != 0 printf(" #{xy[0]} #{xy[1]} #{xy[2]} #{xy[3]}\n") puts lc end else puts no if no != 0 printf(" #{xy[0]} #{xy[1]} #{xy[2]} #{xy[3]}\n") end end def main1(min_l,max_l,zz,zno) zz == "1" ? puts("ly#{zno}") : puts("lc#{zno}") while ARGF.gets xy=split if xy[0] =~ /^ly/ ly=xy[0] end if xy[0] =~ /^lc/ lc=xy[0] end if xy[0] =~ /^lt/ lt=xy[0] end if xy[0] =~ /^lw/ lw=xy[0] end if xy[0] =~ /^z\d/ zokusei=xy[0] no=ARGF.lineno end if xy[0] =~ /^\d|^-/ xy.collect!{|item|item.to_f} l=hypot(xy[3]-xy[1],xy[2]-xy[0]) if l>=min_l && l<=max_l zz == "1" ? puts(lc) : puts(ly) puts lt,lw if no puts zokusei if ARGF.lineno == no+1 end printf(" #{xy[0]} #{xy[1]} #{xy[2]} #{xy[3]}\n") end end end end def main2(min_l,max_l,zz,zno) puts "hd" while ARGF.gets xy=split if xy[0] =~ /^hq/ elsif xy[0] =~ /^ly/ print $_ ly = xy[0] elsif xy[0] =~ /^lc/ print $_ lc = xy[0] elsif xy[0] =~ /^z\d/ zokusei=xy[0] ARGF.gets xy=split if xy[0] =~ /^\d|^-/ z_hen(xy,min_l,max_l,zz,zno,zokusei,ly,lc) else puts zokusei print $_ end elsif xy[0] =~ /^\d|^-/ z_hen(xy,min_l,max_l,zz,zno,0,ly,lc) else print $_ end end end del == "1" ? main1(min_l,max_l,zz,zno) : main2(min_l,max_l,zz,zno) |
kojima 様 繰り返しお礼申します 線選択さえ出来ればあとは基本機能で作業しました 繰り返し作業では自動化(外変等の本領)がこうして 皆様から提供されるのはJWWならではと思います それから初回UPして頂いた時の時間帯にも驚きました ありがとうございました |
▼あかしさん: >図面中の特定長(n〜nn)の線を選択したいのです >過去に頂いたRV変換後のゴミ微細線消去を試したのですが >うまく動作いたしませんでした。選択後にレイヤーを変えたり線色変更を >したいと思います。そんな範囲選択を一部に持つ外変などご存知ありませんか? 特定条件で選択されたデータのみのJWWファイルを作成することで 間接的に外部変形と標準機能を連携することが可能です。 効率的? とは言えませんが。 サンプルのバッチファイルで試行できます。 http://www.farchi.jp/filemgmt/ |
▼kojimaさん: >▼あかしさん: >>図面中の特定長(n〜nn)の線を選択したいのです >>過去に頂いたRV変換後のゴミ微細線消去を試したのですが >>うまく動作いたしませんでした。選択後にレイヤーを変えたり線色変更を >>したいと思います。そんな範囲選択を一部に持つ外変などご存知ありませんか? > > >特定条件で選択されたデータのみのJWWファイルを作成することで >間接的に外部変形と標準機能を連携することが可能です。 >効率的? とは言えませんが。 > >サンプルのバッチファイルで試行できます。 >http://www.farchi.jp/filemgmt/ |
▼あかしさん: >▼kojimaさん: >>▼あかしさん: >>>図面中の特定長(n〜nn)の線を選択したいのです >>>過去に頂いたRV変換後のゴミ微細線消去を試したのですが >>>うまく動作いたしませんでした。選択後にレイヤーを変えたり線色変更を >>>したいと思います。そんな範囲選択を一部に持つ外変などご存知ありませんか? >> >> >>特定条件で選択されたデータのみのJWWファイルを作成することで >>間接的に外部変形と標準機能を連携することが可能です。 >>効率的? とは言えませんが。 >> >>サンプルのバッチファイルで試行できます。 >>http://www.farchi.jp/filemgmt/ ご無沙汰しています 最近は画像データーの上にJWWで書かれた物が増えました 特に3D関連に作図されています、RV変換とコンビで頂いた外変重宝しています 早速今回の連動機能試させていただきご報告いたします |