« 2018年9月 | トップページ

2018年10月16日 (火)

2次元配列のソート2

今回は、テキストファイルからデータを読込んでソートするスプリクトです。
2次元配列に取込む方法で、かなり試行錯誤しましたが、
データが2列の場合は、簡単なスプリクトにまとまりました。
arry[i]=data.split(sp)
i=i+1

<arry.txt>
5.25 2.27
1.38 4.56
4.53 3.72
3.19 1.96
2.87 5.41

<追記>
2列以上の場合は、slice()メソッドを利用します。
arry[i]=data.split(sp).slice(1,3)
 ⇒2列目と3列目を返します。

続きを読む "2次元配列のソート2"

| | コメント (2) | トラックバック (0)

2018年10月13日 (土)

2次元配列(数値)のソート

JScriptで検索しても、参考例はないので、JavaScriptの例を参考にしてます。
外部変形では、XY座標の並び替えに使えると思います。

//2次元配列のソート
fs=new ActiveXObject( "Scripting.FileSystemObject" )
w=fs.CreateTextFile("sort.txt")
//配列
var array= [
[5.16,2.37],
[4.52,3.25],
[2.68,1.83],
[1.85,4.92],
[3.34,5.14]
]
//昇順ソート
var sort=array.sort(
function(x,y){
       return(parseFloat(x[0])-parseFloat(y[0]))
    })
//sort.txtに書出し
for(i=0;i<=4;i++){
w.WriteLine(sort[i])
 }

続きを読む "2次元配列(数値)のソート"

| | コメント (0) | トラックバック (0)

2018年10月12日 (金)

座標作図

情報交換室の投稿より
原点からの相対座標を作図する外部変形です。
求める座標位置には、実点が必要です。

・書込みレイヤグループのみ
・書込み文字種で作図、文字基点(左下)

◇Math.round():四捨五入メソッド

続きを読む "座標作図"

| | コメント (0) | トラックバック (0)

2018年10月 9日 (火)

中心線作図

円に中心線を作図する外部変形です。
円弧、楕円、楕円弧は、除外しています。

◇var str=r.ReadLine()
 変数、配列には、"var"を付けて宣言した方が良いらしい。
◇var n=ci.length *.length(*は、配列名)で、配列数を返します。
 円は、n=5、円弧・楕円・円弧は、n=8 なので、条件 n>5で除外。
◇var x0=parseFloat(ci[1])
 *.split()メソッドは、文字列として分解する為、 文字列⇒数値の変換が必要。 

続きを読む "中心線作図"

| | コメント (0) | トラックバック (0)

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)

続きを読む "連番作図"

| | コメント (2) | トラックバック (0)

2018年10月 3日 (水)

縮尺

書込みレイヤグループの尺度(1/S)を取得するスプリクト(抜粋)です。
10/8 一行(for文)追加修正

else if(/hs/.test(line)){ 
//各レイヤグループの尺度を配列に格納
hs=line.split(/\s+/)
for(i=0;i<=9;i++){hs[i]=hs[i+1]}
hs["a"]=hs[11];hs["b"]=hs[12];hs["c"]=hs[13]
hs["d"]=hs[14];hs["e"]=hs[15];hs["f"]=hs[16]
 }
else if(/lg/.test(line)){
lg=line.substr(2) //レイヤグループ名(0~9、a~f)
s=hs[lg] //尺度(1/S)
 }

jwc_temp..txt に書き出される尺度情報が、、
例)
hs 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 1
lge
の場合、書込みレイヤグループEの尺度は、1/10です。

| | コメント (0) | トラックバック (0)

2018年10月 2日 (火)

文字作図

今回は、文字を2行作図する外変です。

Jw_cadで入力した文字を、JScriptに受け渡す方法がわかっていません。
AWKの場合は、-vCH=%1 等で出来たのですが。

ということで、Jwc_temp.txt への追記で対応してみました。

echo chr  %1 >>jwc_temp.txt
echo chr  %2 >>jwc_temp.txt
入力した文字列は、%1、%2 で jwc_temp.txt に追記されます。
例)
chr abcdef
chr あいうえお
JScript は、ch=line.split(/\s+/)で、入力文字を取得します。
/\s+/:1文字以上のスペース。

続きを読む "文字作図"

| | コメント (0) | トラックバック (0)

2018年10月 1日 (月)

円弧作図

スクリプト確認用の円弧を作図する外部変形です。

JScriptでは、πを、Math.PI と記述します。

各関数は、Mathオブジェクトを使用します。
Math.atan2(y,x):(x,y)座標の角度
Math.sqrt():平方根
Math.pow(base,exponent):累乗

その他コメントは、スプリクト中に記載。

続きを読む "円弧作図"

| | コメント (0) | トラックバック (0)

« 2018年9月 | トップページ