jw_cad 外部変形 - (1365) mshtaで指示円を確認する(ci) -

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

 

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 を使用しています。