外部変形 雲囲い
公式サイトの「Jw_cad 情報交換室」にてtonboさんが公開されていました外部変形スクリプトを使ってみました。なななんと、AIに手伝ってもらったみたいです。
スクリプト内容がこちら

———————kumo.bat———————————-
@REM 【 自在 雲囲い 】
@echo off
REM #jw
REM #cd
REM #hc 雲囲い
REM #1- スタートの点を指示
REM #2- 次の点を指示(⇒右回りで凸)
REM #99#
REM #hr
REM #e
copy jwc_temp.txt temp.txt > nul
jgawk -f kumo_pl.awk temp.txt > jwc_temp.txt
—————————cut—————————–
—————————-kumo_pl.awk———————
# 指示点を円弧でつなぐ「雲囲い」作図スクリプト(円弧分割版)
BEGIN {
sa = 0 # 始角
ea = 180 # 終角
ratio = 1 # 偏平率
arc_div = 3 # 各指示点間を何個の円弧でつなぐか
div = 18 # 各円弧の分割数
}
# hp座標を読み込み
/^hp[0-9]+/ {
n++
x[n] = $2
y[n] = $3
}
END {
pi = atan2(0,-1)
if (n < 2) exit
print “lc10 255”
print “pl”
for (i = 1; i <= n; i++) {
j = (i < n) ? i + 1 : 1 # 次の点(最後は1に戻る)
dx = x[j] – x[i]
dy = y[j] – y[i]
dist = sqrt(dx*dx + dy*dy)
ang = atan2(dy, dx) * 180 / pi
# 分割ごとのステップ
stepx = dx / arc_div
stepy = dy / arc_div
seg = dist / arc_div
for (k = 0; k < arc_div; k++) {
# 各小区間の中心座標
x1 = x[i] + stepx * k
y1 = y[i] + stepy * k
x2 = x[i] + stepx * (k + 1)
y2 = y[i] + stepy * (k + 1)
mx = (x1 + x2) / 2
my = (y1 + y2) / 2
r = seg / 2
da = ea – sa
if (da <= 0) da += 360 # 角度補正
ang_a = ang * pi/180
cos_a = cos(ang_a)
sin_a = sin(ang_a)
for (g = 0; g <= div; g++) {
angl = (sa +(ea-sa) * g / div) * pi/180
xr = r * cos(angl)
yr = r * sin(angl) * ratio
xx = mx + xr * cos_a – yr * sin_a
yy = my + xr * sin_a + yr * cos_a
if (g > 0){
printf(“sl %f %f %f %f\n”, px, py, xx, yy)
}
px = xx; py = yy
}
}
}
print “#”
}
————————————————–
このスクリプトの内容をメモ帳でファイル化します。
ファイル化できない方はこちら
この外部変形を使うには

これが必要です。たぶん、、、
使ってみた
「外変」⇒「kumo.bat」を選択して、外部変形を起動します。
適当に、右回りに7か所指示してみました。

最後に「点指示終了」をクリックします。

すると
2、3秒後

この編集画像の色は汚いですが、Jw_cadの画面上では ちゃんと鮮明な「赤色」で表示されます。 m(_ _)m
印刷してみた
これを

「カラー印刷」チェックなしで印刷

普通に印刷してみましたが、雲囲いだけ「赤色」で印刷されました。不思議・・・
この編集画像の色は汚いですが、ちゃんと鮮明な「赤色」で印刷されます。 m(_ _)m
まとめ
tonboさんが
「入力して、ほんの数秒でスクリプトが返ってきました。すごい時代になったものです。」
と、おっしゃっているように
チャットGPTのAIに手伝ってもらって、少し修正すれば外部変形が作れるようです。
もちろん専門知識は必要ですが。
外部変形を公開してくださいましたtonboさん、ありがとうございました。
しかし、チャットGPT 恐るべし!