jw_cad 外部変形 - (1337) mshtaで円に+を記入する -

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

 

mshtaで円に+を記入する

:mshtaで円に+を記入する
@echo off
set bai=0.25
if exist jwc_temp.txt (
  copy jwc_temp.txt myfiles > nul
  mshta %~f0 < myfiles > jwc_temp.txt
)
goto:eof

REM #jww
REM #h1
REM #g1
REM #hc 円を選択してください
REM #bz
REM #e

<script>
ENV = new ActiveXObject("WScript.Shell").Environment("Process")
bai = ENV("bai") ? ENV("bai") * 1.0 : 0.25
with (new ActiveXObject("Scripting.FileSystemObject")) {
  f = GetStandardStream(0) //stdin
  g = GetStandardStream(1) //stdout
  while (! f.AtEndOfStream) {
    F = ($_ = f.ReadLine()).split(/\s+/)
    if (/^hq/ .test($_)) { g.WriteLine("bz"); continue }
    if (/^ci/ .test($_)) {
      x = F[1] * 1.0
      y = F[2] * 1.0
      r = F[3] * 1.0
      if (F.length > 4) {
        w = F[6] * 1.0
        d = F[7] * 1.0
      } else {
        w = 1
        d = 0
      }
      co = Math.cos(d * Math.PI / 180)
      si = Math.sin(d * Math.PI / 180)
      l = r * bai
      m1 = r + l
      m2 = r * w + l
      g.WriteLine( [x - m1 * co, y - m1 * si, x + m1 * co, y + m1 * si].join(" ") )
      g.WriteLine( [x + m2 * si, y - m2 * co, x - m2 * si, y + m2 * co].join(" ") )
    }
  }
}
close()
</script>

 

 

スクリプト言語jscript を使用しています。