続きです。

次に、リンク1の終点位置からリンク2を作図することを考えます。リンク1の終点=リンク2の始点 の位置の算出をして、傾き角度は、リンク1の角度からどれだけ傾けるのかを指定するようにして、作図させます。

// リンクその2
// まずはリンクの棒2本を作図することを考えます
#VAR
 dmy1 = "---リンク(1)---"  ;dmy1
 px1 = 0    ;*位置X
 py1 = 0    ;*位置Y
 pa1 = 0    ;*角度[°]
 ll1 =50    ;*リンク長さ
 lw1 =10    ;*リンク幅
 dmy2 = "---リンク(2)---"  ;dmy2
 px2      ;位置X
 py2      ;位置Y
 pa2 = 0    ;*角度[°]
 ll2 =80    ;*リンク長さ
 lw2 =15    ;*リンク幅
 // 作業用
 no
 px
 py
 ll
 lw
 pan
 w1
 w2
 w3
 w4
 w5
 w6
 w7
 w8

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

 CAL no = 1
 CAL pan = pa1/180.0*PI
 CAL px = px1
 CAL py = py1
 CAL ll = ll1
 CAL lw = lw1
 #GOTO *LINKDRAW
*RET1
 CAL no = 2
 CAL px2 = px1 + ll1*Cos(pan)
 CAL py2 = py1 + ll1*Sin(pan)
 CAL pan = (pa1+pa2)/180.0*PI
 CAL px = px2
 CAL py = py2
 CAL ll = ll2
 CAL lw = lw2
 #GOTO *LINKDRAW
*RET2
 #EXIT


// リンク1本を作図
//  no = 1、2
*LINKDRAW
 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

 #IF ( no == 1 )
  #GOTO *RET1
 #END
 #GOTO *RET2

20080928b