先日の、菱形の作図の話ですが、
Jw_cad 作者さんのホームページの掲示板を見ると、私のこのブログの記事を見られたようですね。結構マイナーなブログだと思いますが、よく見つけたなぁ〜等と思ったりして。Script!用スクリプトプログラムをそのまま引用されていましたが、多分、なんなんだこれは?って思われた方は結構多いと思います。線記号変形や外部変形ではありませんしね。

そのあと、その繋がりだと思いますが、somemさんのブログでも話題にされましたので、例によって、Script!でのリンク機構作図を考えて見ます。

まずは、リンク1本の作図を考えます。
単純に、長円を作図するとします。
但し、位置、角度の考慮をしておきます。
// リンクその1
// まずはリンクの棒1本を作図することを考えます
// 長円を描く事を考えます
#VAR
 px = 0    ;*位置X
 py = 0    ;*位置Y
 pa = 0    ;*角度[°]
 ll =50    ;*リンク長さ
 lw =10    ;*リンク幅
 pan
 w1
 w2
 w3
 w4
 w5
 w6
 w7
 w8

#DRAW
 LAYER SetLineLay1  // 外形線
 PEN SetLineCol1,SetLineLtp1,SetLineWid1

 CAL pan = pa/180.0*PI

 CAL w1 = px
 CAL w2 = py
 CAL w3 = lw/2.0
 CAL w4 = pan + 0.5*PI
 CAL w5 = pan + 1.5*PI
 ARC w1,w2,w3,w4,w5

 CAL w1 = px
 CAL w2 = py + lw/2.0
 CAL w3 = px + ll
 CAL w4 = w2
 GETREV w5,w6, w1,w2,px,py,pan
 GETREV w7,w8, w3,w4,px,py,pan
 LINE w5,w6,w7,w8

 CAL w1 = px
 CAL w2 = py - lw/2.0
 CAL w3 = px + ll
 CAL w4 = w2
 GETREV w5,w6, w1,w2,px,py,pan
 GETREV w7,w8, w3,w4,px,py,pan
 LINE w5,w6,w7,w8

 CAL w3 = px + ll
 CAL w4 = py
 GETREV w1,w2, w3,w4,px,py,pan
 CAL w3 = lw/2.0
 CAL w4 = pan + 1.5*PI
 CAL w5 = pan + 0.5*PI
 ARC w1,w2,w3,w4,w5

図は、水平で作図することを考えて、座標値は写像計算(GETREV)で回転させて算出する、角度は回転角度を足す、としておけば、それほど迷わないと思います。
20080928a