2022年11月23日 (水)

多角形ソリッド

頂点を指示して、書込線色で枠線とソリッドを作図する外部変形です。
頂点指示の終了は、左AM0時「点指示終了」です。

2022.11.26 仮線表示にスプリクトを変更

注)ソリッドが四角形と三角形の構成なので、
 図形の一部が凹になる時は、点指示の順序に注意が必要です。
 凹部の頂点を始点にしてください。

Photo_20221123181901

続きを読む "多角形ソリッド"

| | コメント (0)

2022年11月19日 (土)

ソリッド図形の重複確認

ソリッド図形に番号を付加する外部変形です。
ソリッド図形が重複している時は、番号が重なるので、
重複を確認することができます。

2022/11/20 スプリクト改定
※座標ソートを追加し、番号付加を左下の頂点に変更
但し、 五角形以上は、
別の頂点にも番号が付加されます。

Photo_20221119182101

続きを読む "ソリッド図形の重複確認"

| | コメント (0)

2022年11月15日 (火)

円中心線(改)

円・楕円に中心線を作図する外部変形です。
以前公開した、円中心線 を、jscriptで再作成しました。
比率、線色/線種は、バッチファイルのユーザー設定で指定してください。

Photo_20221116074501

続きを読む "円中心線(改)"

| | コメント (0)

2022年11月11日 (金)

画像削除

画像だけを選択して、削除することはできませんが、
選択した文字列から、画像だけを消去する外部変形を作ることはできます。

@if(0==1) //画像削除
@echo off
REM #jww
REM #cd
REM #h3 文字選択
REM #hc 範囲選択してください。
REM #e
cscript //nologo //e:jscript "%~f0" %*
copy temp.txt jwc_temp.txt
del temp.txt
goto:eof
@end
//ファイルオープン
fs=new ActiveXObject( "Scripting.FileSystemObject" )
r=fs.OpenTextFile("jwc_temp.txt")
w=fs.CreateTextFile("temp.txt")
//"jwc_temp.txt"読込み
while (!r.AtEndOfLine){
line=r.ReadLine()
if(/hq/.test(line)){
w.WriteLine("hd")} //選択図形削除
//文字データ取得
else if(/ch/.test(line)){
ch=line.split(/\s+/)
ch=ch[5] //文字列
jd=ch.substr(3,3)
if(jd=="BMC"){} //画像データ
else{ w.WriteLine(line)}}//文字(画像を除く)再作図
else{ w.WriteLine(line)}
}
//ファイルクローズ
w.Close();r.Close()

| | コメント (0)

2022年11月 8日 (火)

小数点位置揃え

数字を小数点位置を揃えて整列させる外部変形です。
対象は、半角数字の水平横文字です。

Photo_20221108002301

続きを読む "小数点位置揃え"

| | コメント (0)

2022年11月 5日 (土)

文字整列

文字列を整列させる外部変形です。
対象文字は、水平/垂直横文字、水平/垂直縦文字
操作は、範囲選択→作図位置指定です。
注)文字間は、バッチファイルで指定してください。
    初期設定値は、1mm (図寸)

Photo_20221105201801

続きを読む "文字整列"

| | コメント (0)

2022年11月 3日 (木)

微小誤差

外変実行中に現れる微小誤差。
0 として扱うには、四捨五入に使う Math.round が利用できます。

//微小誤差
num=6.66133814775094e-16
//四捨五入(小数点第1位)
num=Math.round(num)
msg="num="+num
//メッセージボックスに表示
WScript.echo(msg)
Photo_20221103210301

| | コメント (0)

2022年11月 2日 (水)

座標ソート

配列 xy[i]=[x,y]

x座標基準で昇順ソートする場合のユーザー定義関数です。

function xysort(xy){
xy=xy.sort(
function(a,b){
return(Number(a[0])-Number(b[0]))
})
return xy
}

降順ソートは、4行目を変更します。
return(Number(b[0])-Number(a[0]))

| | コメント (0)

2022年10月30日 (日)

文字列のソート

以前、紹介した 2次元配列のソート ですが
文字列の行全体でソートすることができます。
y座標で降順ソートしてみました。

<arry.txt>
ch -50.7 34.7 10.25 0 "123.45
ch -73.3 25.4 10.25 0 "373.28
ch -35.4 47.6 10.25 0 "265.73
ch -46.9 18.3 10.25 0 "758.29
ch -80.9 39.2 10.25 0 "463.18

//2次元配列のソート(テキストファイル)
fs=new ActiveXObject( "Scripting.FileSystemObject" )
w=fs.CreateTextFile("sort.txt")
r=fs.OpenTextFile("arry.txt")
//
arry=[]
i=0
sp=" "
//テキストデータ読込み
while (!r.AtEndOfLine) {
data=r.ReadLine()
//2次元配列に変換
arry[i]=data.split(sp)
i=i+1}
//降順ソート
sort=arry.sort(
function(a,b){
return(Number(b[2])-Number(a[2]))}
)
//sort.txtに書出し(結果確認)
for(i=0;i<=4;i++){
w.WriteLine(sort[i])}
w.Close();r.Close()

<sort.txt>
ch,-35.4,47.6,10.25,0,"265.73
ch,-80.9,39.2,10.25,0,"463.18
ch,-50.7,34.7,10.25,0,"123.45
ch,-73.3,25.4,10.25,0,"373.28
ch,-46.9,18.3,10.25,0,"758.29

| | コメント (0)

2022年10月28日 (金)

平方根

今回も、外部変形ではありません。
テキストデータを読込んで、平方根を書出すスプリクトです。

読込むテキストデータは、
2 3 5 6 7 8 を、1行毎に記述。

スプリクトは、
fso=new ActiveXObject("Scripting.FileSystemObject")
//読込ファイル指定
r=fso.OpenTextFile("sample.txt")
//書出しファイル指定
w=fso.CreateTextFile("calc.txt")
//1行ずつテキスト読込み
while (!r.AtEndOfLine){
line=r.ReadLine()
//平方根の計算
sq=Math.sqrt(line)
//計算結果書出し
w.WriteLine(sq)
}

計算結果は、↓ となります。
1.4142135623731
1.73205080756888
2.23606797749979
2.44948974278318
2.64575131106459
2.82842712474619

| | コメント (0)

より以前の記事一覧