« 3Dスケッチからパイプ | トップページ | 連番作図3 »

2022年1月28日 (金)

連番作図2

接頭文字と連番を区切り付で作図する外部変形です。
文字+連番の外部変形は、連番作図

◇作図は、接頭記号+番号(3桁)です。
◇接頭記号に制限はありません。数字も可です。
◇区切りには、ハイフン"-"を使用してください。
◇同一フォルダ内に、
 ファイル名 l_nbr.txt を保存してください。
2_20220128142801

注意) バッチファイルは、文字コードをANSIで保存してください。
@if(0==1) //連番作図2
@echo off
REM #jww
REM #cd
REM #0 文字の位置を指示してください (L)free (R)Read
REM #c 文字列を入力してください 例) XX-001 | 連番/スキップ|
REM #hr
REM #e
echo nbr %1 #>>jwc_temp.txt
cscript //nologo //e:jscript %0
copy temp.txt jwc_temp.txt
copy t_nbr.txt l_nbr.txt
del temp.txt
del t_nbr.txt
goto:eof
@end
//ファイルオープン
fso=new ActiveXObject("Scripting.FileSystemObject")
w=fso.CreateTextFile("temp.txt")
w1=fso.CreateTextFile("t_nbr.txt")
r=fso.OpenTextFile("jwc_temp.txt")
r1=fso.OpenTextFile("l_nbr.txt") //前回値
//初期設定
x0=0;y0=0 //指示点座標
ts=1;te=0 //傾き指定(水平)
sp=" " //スペース
dq="\"" //ダブルコーテーション
hp="-" //ハイフン
//データ読込み
while (!r.AtEndOfLine) {
line=r.ReadLine()
if(/hq/.test(line)){} //"hq"をスキップ
else if(/nbr/.test(line)){
nbr=line.split(/\s+/)
//前回値の取得
if(nbr[1]=="#"){
line1=r1.ReadLine()
nbr=line1.split(/\s+/)
nbr=nbr[1]
ltnbr=nbr.split(hp)
n=ltnbr[1]
//数値に変換
n=Number(n)
prf=ltnbr[0] //接頭文字
n=n+1 //連番
//文字列に変換
if(n<10){zz="00"}
if(n>=10){zz="0"}
if(n>=100){zz=""}
nbr=prf+hp+zz+n
}else{
nbr=nbr[1]
}
//作図文字列
dqnbr=dq+nbr
chr=["ch",x0,y0,ts,te,dqnbr]
chr=chr.join(sp)
w.WriteLine(chr)
//保存文字列書込み
lnbr=["nbr",nbr,"#"]
lnbr=lnbr.join(sp)
w1.WriteLine(lnbr)
}
else{
w.WriteLine(line)
}
}
//ファイルクローズ
r.Close();r1.Close()
w.Close();w1.Close()
//2022.1.28 by somem

|

« 3Dスケッチからパイプ | トップページ | 連番作図3 »

コメント

コメントを書く



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




« 3Dスケッチからパイプ | トップページ | 連番作図3 »