« JScriptで外変 | トップページ | 線属性変更(選択) »

2018年11月10日 (土)

線属性変更

作図済の線を指定して、指定線の線属性に変更する外部変形です。

指定線の線属性は、"jwc_temp.txt"に下記の様に書出されます。

※は、線色、線種の番号。
lc※
lt※
hhp1ln
指定線データ

ということで、指定線の線属性は、
"hhp1ln"を読込む直前の線属性を取得すれば、良いことになります。
次に、"jwc_temp.txt"を再度、読込み、
線色/線種データを書換えれば、線属性変更ができます。
同じ線属性の選択図形が含まれていても、問題ありません。

@if(0==1) //線属性変更
@echo off
REM #jww
REM #cd
REM #ht10 ブロック図形除外
REM #ht30 寸法図形除外
REM #ht40 ソリッド図形除外
REM #h2 範囲内データ・範囲内外に跨る線データを選択
REM #hc 図形を範囲選択してください
REM #1ln 属性を指定する線を(L)クリックしてください
REM #e
cscript //nologo //e:jscript %0
copy temp.txt jwc_temp.txt
del temp.txt
goto:eof
@end
/////
//対象図形:線、円、円弧、楕円、楕円弧、曲線
fs=new ActiveXObject("Scripting.FileSystemObject")
r=fs.OpenTextFile("jwc_temp.txt")
//変更する線色/線種を取得
while (!r.AtEndOfLine){
data=r.ReadLine()
if(/lc/.test(data)){
tlc=data} //線色
else if(/lt/.test(data)){
tlt=data} //線種
//指定した線の属性取得
else if(/hhp1ln/.test(data)){
lc=tlc;lt=tlt}
else{}
}
r.Close()
//"jwc_temp.txt" 再読み込み
w=fs.CreateTextFile("temp.txt")
r=fs.OpenTextFile("jwc_temp.txt")
//属性変更
while (!r.AtEndOfLine){
data=r.ReadLine()
if(/hq/.test(data)){ 
w.WriteLine("hd") //再作図
}
//線色書換え
else if(/lc/.test(data)){
w.WriteLine(lc)
}
//線種書換え
else if(/lt/.test(data)){
w.WriteLine(lt)
}
else if(/hhp1ln/.test(data)){} //スキップ
else{
w.WriteLine(data)
}}
//ファイルクローズ
r.Close();w.Close()
//2018.11.10 by somem

|

« JScriptで外変 | トップページ | 線属性変更(選択) »

コメント

コメントを書く



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




トラックバック


この記事へのトラックバック一覧です: 線属性変更:

« JScriptで外変 | トップページ | 線属性変更(選択) »