« ソリッド図形の重複確認 | トップページ | レイヤ名設定 »

2022年11月23日 (水)

多角形ソリッド

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

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

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

Photo_20221123181901

2022.11.26 スプリクト変更

@if(0==1) //多角形ソリッド
@echo off
REM #jww
REM #cd
REM #1-
REM #99#
REM #hr
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")
//設定
sp=" " //スペース
i=1;j=0;k=0 //カウンタ
x=[];y=[]
//"jwc_temp.txt"読込み
while (!r.AtEndOfLine){
line=r.ReadLine()
if(/hq/.test(line)){
w.WriteLine("pl")} //曲線属性
//頂点座標取得
else if(/hp/.test(line)){
xy=line.split(/\s+/)
x[i]=xy[1];y[i]=xy[2]
x1=x[1];y1=y[1] //始点座標
vtex=[x[i],y[i]]
vtex=vtex.join(sp)
w.WriteLine(vtex)
k=i-2;i=i+1}
else{}}
org=[x1,y1]
org=org.join(sp)
w.WriteLine(org) //終点(始点)
w.WriteLine("#") //区切り
//ソリッド作図
for(j=1;j<=k;j=j+2){
sl=["sl",x1,y1,x[j+1],y[j+1],x[j+2],y[j+2],x[j+3],y[j+3]]
sl=sl.join(sp)
w.WriteLine(sl)}
w.Close();r.Close()

|

« ソリッド図形の重複確認 | トップページ | レイヤ名設定 »

コメント

コメントを書く



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




« ソリッド図形の重複確認 | トップページ | レイヤ名設定 »