jw_cad 外部変形 - (883) pythonで指示点を確認する(hp) -

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

 

pythonで指示点を確認する(hp)

:pythonで指示点を確認する(hp)
@echo off
if not exist %~dpn0.py (
  for /f "delims=:" %%n in ('findstr /n "^#!" %0') do (
    more +%%n %0 > %~dpn0.py
  )
)
copy jwc_temp.txt myfiles > nul
python %~dpn0.py > jwc_temp.txt
goto:eof

REM #jww
REM #1-%d 点を指示してください
REM #99#
REM #zs
REM #e

#!この次の行からプログラムを書いてください
# coding: shift_jis
import sys,re

hs = {}
hp = [(0,0)]
lg = ""

try :
  f = open("myfiles", "r")
  for a in f:
    F = a.split()
    if re.compile("^hs").search(a):
      i = 0
      for x in F[1:-1]:
        hs[str(hex(i)[2:])] = float(x)
        i += 1
    if re.compile("^hzs").search(a):
      hzs = map(float, F[1:3])
    if re.compile("^hp").search(a):
      hp.append(tuple(map(float, F[1:3])))
    if re.compile("^lg").search(a):
      plg = a[2:3]
      if lg == "":
        lg = plg
  f.close()
except :
  sys.exit()

sc = hs[lg]
w, h = hzs
w *= sc
h *= sc

print("%s %s %s %s" % (-w / 2.0, 0, w / 2.0, 0))
print("%s %s %s %s" % (0, -h / 2.0, 0, h / 2.0))
print("ch 0 0 1 0 \"[0 ,0]")
hpn = len(hp)
for i in range(1, hpn):
  print("pt %s %s" % hp[i])
  print("ch %s %s 1 0 \"[%s]" % (hp[i][0], hp[i][1], ("%s, %s" % hp[i])))