jw_cad 外部変形 - (613) コマンドプロンプトでソリッド図形の円を描く -

外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。

 

コマンドプロンプトでソリッド図形の円を描く

/* コマンドプロンプトでソリッド図形の円を描く
@cls & echo off
call %~dp0set "w" "%1" %~dpn0.txt
set r=0
set g=128
set b=128
set /a rgb=r+256*g+256*256*b
for /f "tokens=1*" %%i in (jwc_temp.txt) do (
  if %%i == hk   set hk=%%j
  if %%i == hp1- set p1=%%j
  if %%i == hp2  set p2=%%j
)
( echo lc10 %rgb%
  wscript //nologo //e:jscript %0 %hk% %p1% %p2%
) > jwc_temp.txt
goto:eof

REM #jww
REM #1-%d 中心点を指示してください
REM #2%d 円周上の点を指示してください
REM #c 扁平率(0.1~10.0) w =
REM #e

      円のソリッド図形
sc %lg %lg %lg %lg %lg %lg %lg %lg   ( x y r 偏平率 傾角 始角 円弧角 円フラグ)
#     角度の単位はラジアン、円フラグは円が「100」、弓形が「5」、扇形が「0」、
#     円外側ソリッド図形が「-1」なる。円外側のソリッド図形の円弧角はπ/2(90度)
#     以下になる(読込みのとき円弧角がπ/2を超えている場合は扇形になる)。
      円周のソリッド図形
se %lg %lg %lg %lg %lg %lg %lg %lg   ( x y r 偏平率 傾角 始角 円弧角 円フラグ)
#     角度の単位はラジアン、円フラグは円が「100」、円弧が「0」になる。
#
*/

ENVIRON = new ActiveXObject("WScript.Shell").Environment("PROCESS")
w = ENVIRON("w") * 1.0
if (w <= 0) w = 1.0;
with (WScript) {
  with (Math) {
    hk = arguments(0) * PI / 180
    x1 = arguments(1) * 1.0
    y1 = arguments(2) * 1.0
    x2 = arguments(3) * 1.0
    y2 = arguments(4) * 1.0
    r = sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2))
    Stdout.WriteLine( ["sc", x1, y1, r, w, hk, 0, PI * 2, 100].join(" ") )
  }
}

 

○set.bat

set %~1=%~2
if defined %~1 (
  echo ^%~2> %3
) else (
  if exist %3 (
    for /f "tokens=*" %%a in (%3) do set %~1=%%a
  )
)

 

 

 

外部変形のバッチファイルの構成は以下のとおりです。
/* タイトル
@cls & echo off
コマンドによるスクリプト
goto:eof
*/
jscriptによるスクリプト
=>コマンドによるスクリプトjscript のコメント文に記述しています。