外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
mshtaで指示円を確認する(ci)
:mshtaで指示円を確認する(ci)
@echo off
if exist jwc_temp.txt (
copy jwc_temp.txt myfiles > nul
mshta %~f0 < myfiles > jwc_temp.txt
)
goto:eof
REM #jww
REM #1%dci 円を指示してください
REM #99#
REM #bz
REM #e
<script>
hp =
ci =
with (new ActiveXObject("Scripting.FileSystemObject")) {
f = GetStandardStream(0) //stdin
g = GetStandardStream(1) //stdout
while (! f.AtEndOfStream) {
F = ($_ = f.ReadLine()).split(/\s+/)
if (/^hq/i .test($_)) {
g.WriteLine("bz"); continue
}
if (/^hp[1-9][0-9]?ci/i .test($_)) { //hp 指示点
hp[ F[0].match(/[0-9][0-9]?/) ] = [ F[1] * 1.0, F[2] * 1.0 ]
continue
}
if (/^hhp([1-9][0-9]?)ci/i .test($_)) { //指示線番号
i = RegExp.$1 * 1; continue
}
if (/^ci/i .test($_)) { //ci 指示円
ci[i] = F.slice(1); for (j = 0; j < ci[i].length; j++) ci[i][j] *= 1.0;
}
}
f.close()
cin = ci.length - 1
for (i = 1; i <= cin; i++) {
x = ci[i][0]
y = ci[i][1]
g.WriteLine(["pt", x, y].join(" "))
x = hp[i][0]
y = hp[i][1]
g.WriteLine(["ci", x, y, 1].join(" "))
}
}
close()
</script>
指示円の中心に点を打ち、指示点に半径1mmの円をプロットしています。スクリプト言語は jscript を使用しています。