文字種変更
選択した文字から、同一文字種を書込文字種に変更する外部変形です。 download
任意サイズ、SXF対応拡張線色に対応。
1.文字を範囲選択→左AM0時 確定 基点(free)
2.対象文字を Lクリック
選択した文字から、同一文字種を書込文字種に変更する外部変形です。 download
任意サイズ、SXF対応拡張線色に対応。
1.文字を範囲選択→左AM0時 確定 基点(free)
2.対象文字を Lクリック
水平、垂直に対して誤差範囲の微小な傾きのある直線を、
水平線または、垂直線に補正して再作図します。
@if(0==1) //微小傾き補正
@echo off
REM #jww
REM #cd
REM #h2
REM #hc 範囲選択してください
REM #ht10 ブロック図形除外
REM #ht20 曲線図形除外
REM #ht30 寸法図形除外
REM #ht40 ソリッド図形除外
REM #g1 全レイヤグループ選択
REM #e
cscript //nologo //e:jscript "%~f0" %*
copy temp.txt jwc_temp.txt
echo h#再作図終了 >>jwc_temp.txt
del temp.txt
goto:eof
@end
//ファイルオープン
fso=new ActiveXObject("Scripting.FileSystemObject")
r=fso.OpenTextFile("jwc_temp.txt")
w=fso.CreateTextFile("temp.txt")
//初期設定
lmt=0.00001 //誤差基準
sp=" " //スペース
//"jwc_temp.txt"読込み
while (!r.AtEndOfLine){
line=r.ReadLine()
if(/hq/.test(line)){w.WriteLine("hd")}
else if(/^ /.test(line)){
xy=line.split(/\s+/)
xs=xy[0];ys=xy[1] //始点座標
xe=xy[2];ye=xy[3] //終点座標
//水平線・垂直線
if(xs==xe || ys==ye){
w.WriteLine(line)}
//任意角度線
else{
dx=xs-xe
dy=ys-ye
if(-lmt<dx && dx<lmt){
line=[xs,ys,xs,ye]
line=line.join(sp)
w.WriteLine(line)}
else if(-lmt<dy && dy<lmt){
line=[xs,ys,xe,ys]
line=line.join(sp)
w.WriteLine(line)}
else{ w.WriteLine(line)}
}}
else{w.WriteLine(line)}}
//ファイルクローズ
w.Close();r.Close()
画像だけを選択して、削除することはできませんが、
選択した文字列から、画像だけを消去する外部変形を作ることはできます。
@if(0==1) //画像削除
@echo off
REM #jww
REM #cd
REM #h3 文字選択
REM #hc 範囲選択してください。
REM #e
cscript //nologo //e:jscript "%~f0" %*
copy temp.txt jwc_temp.txt
del temp.txt
goto:eof
@end
//ファイルオープン
fs=new ActiveXObject( "Scripting.FileSystemObject" )
r=fs.OpenTextFile("jwc_temp.txt")
w=fs.CreateTextFile("temp.txt")
//"jwc_temp.txt"読込み
while (!r.AtEndOfLine){
line=r.ReadLine()
if(/hq/.test(line)){
w.WriteLine("hd")} //選択図形削除
//文字データ取得
else if(/ch/.test(line)){
ch=line.split(/\s+/)
ch=ch[5] //文字列
jd=ch.substr(3,3)
if(jd=="BMC"){} //画像データ
else{ w.WriteLine(line)}}//文字(画像を除く)再作図
else{ w.WriteLine(line)}
}
//ファイルクローズ
w.Close();r.Close()
配列 xy[i]=[x,y]
x座標基準で昇順ソートする場合のユーザー定義関数です。
function xysort(xy){
xy=xy.sort(
function(a,b){
return(Number(a[0])-Number(b[0]))
})
return xy
}
降順ソートは、4行目を変更します。
return(Number(b[0])-Number(a[0]))
最近のコメント