文字角度変更
選択した文字を、作図済の文字角度に変更する外部変形です。
対象文字は、同一レイヤグループの横文字/縦文字/寸法値(寸法図形解除)です。
角度中心は、文字基準点になります。
2022.07.30 gawk3.1.5に対応
バッチファイルは、任意名で保存してくだい。
--------------------
@REM 文字角度変更
@echo off
REM #jww
REM #cd
REM #zc 文字基準点の書込を指定
REM #h3 範囲内の「文字」データのみを選択
REM #1ch 角度指定する文字を選択してください (L)クリック
REM #hr
REM #e
jgawk "BEGIN{k=10000000}/^c/{if(-1<$4*k && $4*k<1){dx=0}else{dx=$4}if(-1<$5*k && $5*k<1){dy=0}else{dy=$5}}END{th=atan2(dy,dx);printf \"%%s %%.15g\n\",\"tilt\",th}" jwc_temp.txt>tilt.txt
copy tilt.txt+jwc_temp.txt
jgawk "BEGIN{print \"hd\";k=10000000}/^tilt/{th=$2}/^hq/{next}/^hhp1ch/{next}/^c/{if($1==\"ch\" || $1==\"cv\" || $1==\"cs\"){wth=sqrt($4^2+$5^2);dx=wth*cos(th);if(-1<dx*k && dx*k<1){dx=0}else{dx=dx};dy=wth*sin(th);print \"dy=\",dy;if(-1<dy*k && dy*k<1){dy=0}else{dy=dy};printf \"%%s %%.15g %%.15g %%.15g %%.15g %%s\n\",$1,$2,$3,dx,dy,$6;next}else{print $0;next}}{print $0}" tilt.txt>temp.txt
copy temp.txt jwc_temp.txt
del tilt.txt
del temp.txt
goto end
##### 対象文字
##同一レイヤグループのみ
##横文字 ch/縦文字 cv
##寸法値(寸法図形解除) cs
##
##### 除外文字(角度の指定文字は可)
##半径 寸法値 cr/直径寸法値 co/角度寸法値 cp/累寸寸法値 ct
##日影 真北データ ck/日影 建物高さデータ cz/2.5D データ c2
## 2011.9.24 v1.0 by somem
<gawkm115>
jgawk 'BEGIN{k=10000000}/^^c/{if(-1^<$4*k ^&^& $4*k^<1){dx=0}else{dx=$4}if(-1^<$5*k ^&^& $5*k^<1){dy=0}else{dy=$5}}END{th=atan2(dy,dx);printf "%%s %%.15g\n","tilt",th}' jwc_temp.txt>tilt.txt
copy tilt.txt+jwc_temp.txt
jgawk 'BEGIN{print "hd";k=10000000}/^^tilt/{th=$2}/^^hq/{next}/^^hhp1ch/{next}/^^c/{if($1=="ch" ^|^| $1=="cv" ^|^| $1=="cs"){wth=sqrt($4^^2+$5^^2);dx=wth*cos(th);if(-1^<dx*k ^&^& dx*k^<1){dx=0}else{dx=dx};dy=wth*sin(th);print "dy=",dy;if(-1^<dy*k ^&^& dy*k^<1){dy=0}else{dy=dy};printf "%%s %%.15g %%.15g %%.15g %%.15g %%s\n",$1,$2,$3,dx,dy,$6;next}else{print $0;next}}{print $0}' tilt.txt>temp.txt
:end
| 固定リンク
コメント