« 縮尺 | トップページ | 中心線作図 »

2018年10月 6日 (土)

連番作図

文字+連番で作図する外部変形です。
入力をスキップすると、連番で作図します。

※コメントいただき、区切り文字が不要のスプリクトに修正しました。
例)
1 ⇒ 1
A1 ⇒ A1
A-1 ⇒ A-1
注) 入力文字に、スペースがあると、正しい作図ができません。

10/20  文字列の和を変更⇒join()メソッドを利用
    行数は増えますが、記述し易くなります。


chr="ch"+sp+x0+sp+y0+sp+ts+sp+te+sp+dq+nbr

dqnbr=dq+nbr
chr=["ch",x0,y0,ts,te,dqnbr]
chr=chr.join(sp)

lnbr="nbr"+sp+nbr+sp+"#"

lnbr=["nbr",nbr,"#"]
lnbr=lnbr.join(sp)

@if(0==1) //連番作図
@echo off
REM #jww
REM #cd
REM #0 文字の位置を指示してください (L)free (R)Read
REM #c 文字列を入力してください 例) A1 | 連番/スキップ|
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="\"" //ダブルコーテーション
//データ読込み
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]
n=nbr.match(/\d+/)
nbr=nbr.replace(n,String(Number(n)+1))
}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()
//2018.10.7 by somem

|

« 縮尺 | トップページ | 中心線作図 »

コメント

以下だと入力時に記号と数値を_で区切らないですみます。

str="A30"
no=str.match(/\d+/)//数値のみ抽出
str=str.replace(no,String(Number(no)+1))

strは"A31"

コマンドライン引数を受け取る方法ですが
VBScriptとJScriptの場合は、以下が参考になります。
https://msdn.microsoft.com/ja-jp/library/cc364473.aspx

投稿: 通りすがり | 2018年10月 7日 (日) 12時56分

通りすがりさん、こんにちは。

ご指摘ありがとうございます。
少し、時間かかると思いますが、スプリクト見直しします。
今後ともよろしくお願いします。

投稿: somem | 2018年10月 7日 (日) 14時01分

コメントを書く



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




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/94529/67244481

この記事へのトラックバック一覧です: 連番作図:

« 縮尺 | トップページ | 中心線作図 »