« 文字コード | トップページ | 曲線属性解除 »

2021年5月 8日 (土)

SXF線色・線種変更

SXF対応線色・線種を、一括で標準線色・線種に変換する外部変形です。
※三点鎖線、二短鎖線は、変換しません。

SXF線色・線種の書出しデータは、
線色が lc101~lc116、線種が lt31~lt45です。

線色・線種の設定は、必要に応じて修正してください。
例) lc101,lc2
 指定線色が、SXF対応線色のblack
 変更線色は、標準色2になります。

2021.05.10  5~7行追記

@if(0==1) //SXF線色・線種変更
@echo off
REM #jww
REM #cd
REM #zz ハッチ・図形・寸法・建具属性
REM #zw 線幅の設定・変更の書込・読込
REM #zc 文字基準点の書込
REM #h4 読取可能データ
REM #ht10 ブロック図形除外
REM #ht20 曲線図形除外
REM #ht30 寸法図形除外
REM #ht40 ソリッド図形除外
REM #g1 全レイヤグループ選択
REM #e
cscript //nologo //e:jscript "%~f0" %*
copy temp.txt 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")
/////線色指定
//SXF線色,標準色
id=["lc101","lc2","lc102","lc8","lc103","lc3","lc104","lc6","lc105","lc4",
"lc106","lc5","lc107","lc1","lc108","lc2","lc109","lc8","lc110","lc5"
,"lc111","lc8","lc112","lc7","lc113","lc6","lc114","lc5"
,"lc115","lc2","lc116","lc2"]
/////線種指定
//SXF線種・標準線種
ltid=["lt31","lt1","lt32","lt4","lt33","lt3","lt34","lt6","lt35","lt8"
,"lt36","-","lt37","lt3","lt38","lt6","lt39","lt8","lt40","lt5"
,"lt41","-","lt42","lt7","lt43","-","lt44","-","lt45","-"]
//初期設定
m=0
/////jwc_temp.txt読込み
while (!r.AtEndOfLine){
line=r.ReadLine()
//
if(/hq/.test(line)){
w.WriteLine("hd")} //選択図形消去
else if(/lc/.test(line)){
n=30
lcn=comp(line,id) //ユーザー定義関数
if(lcn==null){
w.WriteLine(line)} //再作図
else{ m=m+1
w.WriteLine(lcn)} //線色変更
}
else if(/lt/.test(line)){
n=28
ltn=comp(line,ltid) //ユーザー定義関数
if(ltn==null || ltn=="-"){
w.WriteLine(line)} //再作図
else{ m=m+1
w.WriteLine(ltn)} //線種変更
}
else{ w.WriteLine(line) //再作図
}
} //while
if(m==0){
end="h#SXF線色・線種がありません"}
else{
end="h#SXF線色・線種を変更しました"}
w.WriteLine(end) //終了メッセージ
//ファイルクローズ
r.Close();w.Close()
//ユーザー定義関数
function comp(line,id){
for(i=0;i<=n;i=i+2){
if(line==id[i]){return id[i+1]}
} //for
} //function
//////////
//2021.5.10 属性等の書出し設定を追記
//2021.5.8 by somem

|

« 文字コード | トップページ | 曲線属性解除 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« 文字コード | トップページ | 曲線属性解除 »