« 線属性変更 | トップページ | ユーザー定義関数 »

2018年11月11日 (日)

線属性変更(選択)

作図済の線を指定して、線色/線種を個別に変更する外部変形です。

#hm で分岐したコマンドは、左から1~9が割り当てられます。
線色⇒1、線種⇒2 が、echoコマンドで、"jwc_temp.txt"の行頭に
接頭文字"sel"を付加して追記されます。

11/17 コメント行削除

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

|

« 線属性変更 | トップページ | ユーザー定義関数 »

コメント

コメントを書く



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




トラックバック


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

« 線属性変更 | トップページ | ユーザー定義関数 »