外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
ci_hpsnap(ci, hp, pm) は円データの指示点の吸着点を返します。
ci は 円・円弧データ
hp は 指示点の位置
pm は モード
0 : 吸着点 => デフォルト値
pt = inters(ln(ci.c, hp), ci).near(hp)
1 : 吸着点とその位置の離心角( ゚ )
d = ciclope(ci, pt, 2).deg
2 : 吸着点の位置の離心角( ゚ )
3 : 法線の吸着点
○jw_cad 本体の仕様に準ずる
使用例(1)
:jw.rbで円データの指示点の吸着点を得る(ci_hpsnap)
@echo off
ruby -x %0
goto:eof
REM #jww
REM #1ci 円・円弧を指示して下さい
REM #2 位置を指示してください
REM #e
#!ruby -Ks -rjw
jww
plot ci pt = ci_hpsnap(1.ci, 2.hp), 20
plot ln 1.ci.c, 2.hp, pt
plot "h#[%.1f, %.1f]" % pt
__END__
○円データに法線を引いて吸着点を求める
使用例(2)
:jw.rbで円データの指示点の吸着点を得る(ci_hpsnap)
@echo off
ruby -x %0
goto:eof
REM #jww
REM #1ci 円・円弧を指示して下さい
REM #2 位置を指示してください
REM #e
#!ruby -Ks -rjw
jww
plot ci pt = ci_hpsnap(1.ci, 2.hp, pm = 3), 20
plot suisens(1.ci, 2.hp)
plot "h#[%.1f, %.1f]" % pt
__END__
使用例(1) の 吸着点は円の中心点と指示点の位置を結ぶ線上にあり、かつ指示点の位置の近傍となります。
使用例(2) の 吸着点は指示点から図形までの垂線あるいは法線の終点となります。このモードは楕円の内側に指示点があるときが難解です。