多角形ソリッド
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()
| 固定リンク
コメント