Page 1313 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼文字付連番結線の要望 hide 20/10/19(月) 15:33 ┣Re:文字付連番結線の要望 kojima 20/10/19(月) 22:10 ┗Re:文字付連番結線の要望 hide 20/10/20(火) 10:03 ─────────────────────────────────────── ■題名 : 文字付連番結線の要望 ■名前 : hide ■日付 : 20/10/19(月) 15:33 -------------------------------------------------------------------------
以前、こんな外部変形があり、大変重宝しています。発言者の方々には、大変感謝しております。 タイトル】連番結線 【記事番号】 11812 (*) 【 日時 】08/01/19 18:05 【 発言者 】杉下 いつもお世話になってます。 たとえば1〜100まで連番(半角英数字)が記入してあり、その文字左下を連続線で昇順(降順でも同じですが)に結びたいのですが...。 そんな外部変形どなたかご存じないですか? 用途は測量してきた座標を何百点か図上に展開したのですが、これを点番で結線したいというものです。手作業でやれと言われればそれまでなんですが。 タイトル】Re(2):訂正 【記事番号】 11816 (11815) 【 日時 】08/01/19 20:41 【 発言者 】コジマ 文字列のソートは、 8 9 10 の並びではなく 10 8 9 の並びになるようです。 整数値変換ソートに訂正します。 ◎バッチファイル 以下の文をコピペ後、全角スペースを半角スペースに一括置換してください。 @REM 文字基点を昇順に連続線で接続 @echo off REM #jww REM #cd REM #h3 REM #e copy jwc_temp.txt temp.txt > nul ruby -x %~f0 temp.txt > jwc_temp.txt exit #!ruby zahyo=[] while ARGF.gets xy=split if xy[0]=~/^ch/ moji=$'.chomp if $_ =~ /\"/ zahyo<<[xy[1].to_f,xy[2].to_f,moji.to_i] if moji =~ /^\d+$/ end end zahyo.sort!{|a,b|a[2]<=>b[2]} zahyo.each{|a,b,c|puts("#{a} #{b}")} 例 c1,c2,c3,...... とか、 dd1、dd2、dd3、........ の様な文字付き連番数値の場合でも結線できるように改造できますでしょうか? 大変恐縮ですが、よろしくお願いします。 |
@REM 文字基点を昇順に連続線で接続 @echo off REM #jww REM #cd REM #h3 REM #e copy jwc_temp.txt temp.txt > nul ruby -x %~f0 temp.txt > jwc_temp.txt pause goto end #!ruby zahyo=[] while ARGF.gets xy=$_.split if xy[0]=~/^ch/ moji=$'.chomp if $_ =~ /\"/ zahyo<<[xy[1].to_f,xy[2].to_f,moji] if moji =~ /\d+$/ end end zahyo.sort!{|a,b| num_a=$&.to_i if a[2]=~/\d+/ num_b=$&.to_i if b[2]=~/\d+/ num_a<=>num_b } zahyo.each{|a,b,c|puts("#{a} #{b}")} __END__ :end 又は @REM 文字基点を昇順に連続線で接続 @echo off REM #jww REM #cd REM #h3 REM #e copy jwc_temp.txt temp.txt > nul ruby -x %~f0 temp.txt > jwc_temp.txt pause goto end #!ruby zahyo=[];zahyo2=[] while ARGF.gets xy=$_.split if xy[0]=~/^ch/ moji=$'.chomp if $_ =~ /\"/ zahyo<<[xy[1].to_f,xy[2].to_f,moji] if moji =~ /^\d+/ zahyo2<<[xy[1].to_f,xy[2].to_f,moji] if moji =~ /^[^\d]+\d+$/ end end zahyo.sort!{|a,b| num_a=$&.to_i if a[2]=~/^\d+/ num_b=$&.to_i if b[2]=~/^\d+/ num_a<=>num_b } zahyo2.sort!{|a,b| ch_a=$& if a[2]=~/^[^\d]+/ ch_b=$& if b[2]=~/^[^\d]+/ num_a=$&.to_i if a[2]=~/\d+/ num_b=$&.to_i if b[2]=~/\d+/ if ch_a == ch_b num_a<=>num_b else ch_a<=>ch_b end } zahyo.each{|a,b,c|puts("#{a} #{b}")} zahyo2.each{|a,b,c|puts("#{a} #{b}")} __END__ :end |
kojima様、大変ありがとうございます。 すごく感激しています。私は、外部変形を使って、図面を書くのが好きなので、大変うれしいです。 後半のプログラムのほうで、うまく処理できました。 この外部変形があれば、トータルステーションを使って平面測量をすれば、一括で結線ができるので、大幅な時間短縮ができます。恐縮な要望に対して、迅速に対応していただき大変有り難うございます。。 |