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