外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
外部変形の寸法図形(5 角度)データを考えます。
◎寸法図形(5 角度)データ
msg :ang (%lg %lg %lg %lg %lg %lg %lg %lg %lg %lg … ) %lg
( "msg" :ang, (P0, P1, P2, P3, P4. … ), keta )
P0 : 原点の座標
P1 : 引出し線の始点の座標
P2 : 寸法線の位置の座標
P3 : 寸法線の始点の座標
P4 : 寸法線の終点の座標
keta : 寸法値の小数点以下の桁数
・寸法図形データは指示番号や指標の利用ができます
①選択番号の文字データを取り出す
msg 1
②指標(文字列)で点データを代表する
1.msg
③指標(シンボル)で点データを代表する
:msg1
・寸法図形(5 角度)データは配列、文字列が利用できます
④配列
( "msg" :ang, (P0, P1, P2, P3, P4. … ), keta )
["msg", :ang, [[x0, y0], [x1, y1], [x2, y2], [x3, y3], [x4, y4], … ], keta]
⑤文字列
( "msg" :ang, (P0, P1, P2, P3, P4. … ), keta )
"msg :ang ((#{x0} #{y0})(#{x1} #{y1})(#{x2} #{y2})(#{x3} #{y3})(#{x4} #{y4}) … ) #{keta}"
・配列、文字列の要素にキーワードが利用できます
⑥ハッシュ
( :ang, (P0, P1, P2, P3, P4. … ), keta )
msg :ang, {P:[[x0, y0], [x1, y1], [x2, y2], [x3, y3], [x4, y4], … ], keta:1}
msg :ang, {:P=>[[x0, y0], [x1, y1], [x2, y2], [x3, y3], [x4, y4], … ], :keta=>1}
⑦キーワード引数
( :ang, (P0, P1, P2, P3, P4. … ), keta )
msg :ang, P:[[x0, y0], [x1, y1], [x2, y2], [x3, y3], [x4, y4], … ], keta:1
msg :ang, :P=>[[x0, y0], [x1, y1], [x2, y2], [x3, y3], [x4, y4], … ], :keta=>1
⑧キーワード配列
( :ang, (P0, P1, P2, P3, P4. … ), keta )
msg :ang, [P:[[x0, y0], [x1, y1], [x2, y2], [x3, y3], [x4, y4], … ], keta:1]
msg :ang, [:P=>[[x0, y0], [x1, y1], [x2, y2], [x3, y3], [x4, y4], … ], :keta=>1]
⑨キーワード文字列
( :ang, (P0, P1, P2, P3, P4. … ), keta, d )
msg :ang, "P:[[#{x0},#{y0}], [#{x1},#{y1}], [#{x2},#{y2}], [#{x3},#{y3}], [#{x4},#{y4}], … ], keta:1"
msg :ang, "P=[[#{x0},#{y0}], [#{x1},#{y1}], [#{x2},#{y2}], [#{x3},#{y3}], [#{x4},#{y4}], … ], keta=1"
使用例
:jw.rbの寸法図形(5 角度)
@echo off
ruby -x %0
goto:eof
REM #jww
REM #1- 原点を指示してください
REM #2- 引出し線の始点を指示してください
REM #3 寸法線の位置を指示して下さい
REM #4- 寸法線の始点を指示して下さい
REM #99# 寸法線の終点を指示して下さい
REM #e
#!ruby -Ks -rjw
jww
plot ["msg", :ang, hp(1..-1), keta:3]
__END__