| 記事内容:[|]
んじゃAWKで 補助線の寸法図形とか一部補助線の曲線属性とか補助線色のソリッドとか補助線色 の文字とかは無視しました、 ここって、もしかして半角スペース2つが全角スペースに化けるんでしたっけ? 文字が化けてたのでやり直し
以下 『補助線消去.bat』 @REM 補助線消去 echo off REM #jww REM #cd REM #h1 REM #hc 検索範囲を選択 REM #g1 REM #ht10 REM ht20 REM #ht30 REM #ht40 REM #zz REM #zw REM #zc REM #e REM コマンドラインオプション REM /c:補助線色のみ消去 REM /t:補助線種のみ消去 REM /tc:補助線種で且つ補助線色 を消去(/tc でも同じ) REM オプション指定で t も c も無い場合 補助線色 と 補助線種 を消去 REM REM /p:補助実点も消去(特にctと分ける必要は無い、/tp とか) REM 補助実点のみ消去は出来ません
jgawk -f補助線消去.awk jwc_temp.txt /t > temp.txt
del input.txt rename jwc_temp.txt input.txt rename temp.txt jwc_temp.txt
:pause
以下 『補助線消去.awk』 BEGIN{fl="z";sc=0;st=0;sp=0; if(ARGC > 2){ for(i=2;i < ARGC;i++){ if(ARGV[i]~/^\/[ctp]/){ if(index(ARGV[i],"c")>0){sc = 1} if(index(ARGV[i],"t")>0){st = 1} if(index(ARGV[i],"p")>0){sp = 1} } ARGV[i]=""; } } ss=st*2+sc; } #初期値 /^ly/ {ly=substr($1,3);if(fl=="z")fl=$0}; /^lc/ {lc=substr($1,3);} /^lt/ {lt=substr($1,3);} /^lw/ {lw=substr($1,3);} /^pn/ {pn=substr($1,3);} /^pl/ {plf = 1} /^#/ {plf = ""} #処理 /^hq/ {print "hd"; next}
/^z[1-4]/ && zok == ""{zok = $0;next}
# 線データ /^ [.0-9-]/ && NF==4 { f=chk(ss) if(f == 1){ zok = "";next; }else{ if(plf != 1){if(zok != ""){print zok}} zok ="";print;next } } # 円データ /^ci/ {f=chk(ss); if(f == 1){ zok = "";next }else{ if(zok != ""){print zok} zok ="";print;next } } # 点データ /^pt/{ if(pn == 9 && sp == 1){zok ="";next} if(zok != ""){print zok} zok ="";print;next } /^c[hvsroptkz2]/ { if(zok != ""){print zok} zok ="";print;next } {print $0 }; END{print "ly" fl}
function chk(ss, a,f){ f=0; if(lc == 9 )a+=1 if(lt == 9 )a+=2 if(a == 1){if( ss == 0 || ss == 1){ f=1 }} if(a == 2){if( ss == 0 || ss == 2){ f=1 }} if(a == 3){ f=1 } return(f) }
|