2023年3月21日 (火)

文字種変更

選択した文字から、同一文字種を書込文字種に変更する外部変形です。  download
任意サイズ、SXF対応拡張線色に対応。

1.文字を範囲選択→左AM0時 確定 基点(free)
2.対象文字を Lクリック
Photo_20230321230401

| | コメント (0)

2023年1月24日 (火)

微小傾き補正

水平、垂直に対して誤差範囲の微小な傾きのある直線を、
水平線または、垂直線に補正して再作図します。

@if(0==1) //微小傾き補正
@echo off
REM #jww
REM #cd
REM #h2
REM #hc 範囲選択してください
REM #ht10 ブロック図形除外
REM #ht20 曲線図形除外
REM #ht30 寸法図形除外
REM #ht40 ソリッド図形除外
REM #g1 全レイヤグループ選択
REM #e
cscript //nologo //e:jscript "%~f0" %*
copy temp.txt jwc_temp.txt
echo h#再作図終了 >>jwc_temp.txt
del temp.txt
goto:eof
@end
//ファイルオープン
fso=new ActiveXObject("Scripting.FileSystemObject")
r=fso.OpenTextFile("jwc_temp.txt")
w=fso.CreateTextFile("temp.txt")
//初期設定
lmt=0.00001 //誤差基準
sp=" " //スペース
//"jwc_temp.txt"読込み
while (!r.AtEndOfLine){
line=r.ReadLine()
if(/hq/.test(line)){w.WriteLine("hd")}
else if(/^ /.test(line)){
xy=line.split(/\s+/)
xs=xy[0];ys=xy[1] //始点座標
xe=xy[2];ye=xy[3] //終点座標
//水平線・垂直線
if(xs==xe || ys==ye){
w.WriteLine(line)}
//任意角度線
else{
dx=xs-xe
dy=ys-ye
if(-lmt<dx && dx<lmt){
line=[xs,ys,xs,ye]
line=line.join(sp)
w.WriteLine(line)}
else if(-lmt<dy && dy<lmt){
line=[xs,ys,xe,ys]
line=line.join(sp)
w.WriteLine(line)}
else{ w.WriteLine(line)}
}}
else{w.WriteLine(line)}}
//ファイルクローズ
w.Close();r.Close()

| | コメント (0)

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)

より以前の記事一覧