外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
コマンドプロンプトで2重線を引く(2sen)
/* コマンドプロンプトで2重線を引く(2sen)
@cls & echo off
set w=%1
for /f "tokens=1*" %%i in (jwc_temp.txt) do (
if %%i == hp1- set p1=%%j
if %%i == hp2 set p2=%%j
)
cscript //nologo //e:jscript %0 %w% %p1% %p2% > jwc_temp.txt
goto:eof
REM #jww
REM #1-%d 始点を指示して下さい
REM #2%d 終点を指示して下さい
REM #k 線の幅| 200(L) | 400(R) | 120 | 150 | 180 | 220 | 250 | 300 | 350 |
REM #e
*/
with (WScript) {
with (Math) {
F = arguments
w1 = F(0) * 1
x1 = F(1) * 1
y1 = F(2) * 1
x2 = F(3) * 1
y2 = F(4) * 1
w = "200 200 400 120 150 180 220 250 300 350".split(/\s+/)[w1] * 1
d = atan2(y2 - y1, x2 - x1)
yw = w / 2 * cos(d)
xw =-w / 2 * sin(d)
mode = 1 /* 1=丸のキャップを付ける 0=付けない */
p = d * 180 / PI + 90
r = w / 2
echo( [x1 + xw, y1 + yw, x2 + xw, y2 + yw].join(" ") )
if (w != 0) {
echo( [x1 - xw, y1 - yw, x2 - xw, y2 - yw].join(" ") )
if (mode == 1) {
echo( ["ci", x1, y1, r, p, p + 180, 1, 0].join(" ") )
echo( ["ci", x2, y2, r, p - 180, p, 1, 0].join(" ") )
}
}
}
}
コマンドプロンプトで実数や数学関数を利用するテクニックです。
外部変形のバッチファイルの構成は以下のとおりです。
/* タイトル
@cls & echo off
コマンドによるスクリプト
goto:eof
*/
jscriptによるスクリプト
=>コマンドによるスクリプトは jscript のコメント文に記述しています。