▼高槻さん:
>円図形に番号をふる外部変形を作ろうとしています
>単純にciの行をchに変え、番号を追加するだけのものですが
>番号をふる順番がうまくいきません
>2×3の円では
>1.2.3.
>4.5.6.
>と左上から右下へと番号が振りたいですが、
>たとえば円を1.→5.→3.→4.→2.→6.の順で作成して外部変形を実行すると
>1.5.3.
>4.2.6.
>と作成順で番号が振られてしまいます
>
>範囲選択して取得したデータのci行をみると、作成順で並んでるから、この結果になるのですが
>
>データ取得時に左上から取得する方法
>または、取得時にできなければ、取得後にデータをソートする方法
>などがありましたら、教えていただけませんでしょうか
使用言語が分かりませんが
Rubyなら以下のようになります。
(単純にciの行をchに変えたのでは、うまくいきません)
@REM 円内に通し番号を描く
@echo off
REM #jww
REM #cd
REM #h1
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt> jwc_temp.txt
pause
goto end
#!ruby -Ks
puts "cc4"
en_zahyo_a=[]#円のXY座標の配列
while ARGF.gets
xy=$_.split
if xy[0]=~/^ci/
en_zahyo_a<<[xy[1].to_f,xy[2].to_f]#円のXY座標を配列に格納
end
end
#円のXY座標の並べ替え
en_zahyo_a.sort!{|a,b|
if a[1]==b[1]
a[0]<=>b[0]
else
b[1]<=>a[1]
end
}
i=1
en_zahyo_a.each{|x,y|
printf("ch %.11f %.11f 1 0 \"%d\n",x,y,i)
i += 1
}
__END__
:end