非設計可能モデルの設計可能モデルへの変換

非設計可能パラメトリックモデルを設計可能モデルに変換することは非常に簡単です。次の例でその方法を示します。ハイライト表示されたセクションは、非設計可能モデル(左)を設計可能モデル(右)に変換するために加える必要のある変更内容です。基本的には、必要な作業は目的のモデルパラメータを設計変数として定義し直すことだけです。
非設計可能なパラメトリックモデル
ax = 0
ay = 0
bx = 40
by = 200

# Define the points A, B
pa = Point (ax,ay,0)
pb = Point (bx,by,0)

# Revolute joint at A
zploc = pa + [0,0,1]
p1.A = Marker (body=p1, qp=pa, zp=zploc)
p2.A = Marker (body=p2, qp=pa, zp=zploc)
ja = Joint (type="REVOLUTE", i=p2.A, j=p1.A)

# spherical joint at B
p2.B = Marker (body=p2, qp=pb)
p3.B = Marker (body=p3, qp=pb)
jb = Joint (type="SPHERICAL", i=p3.B, j=p2.B)
設計可能モデル
ax = Dv (b=0, label="ax")
ay = Dv (b=0, label="ay")
bx = Dv (b=40, label="bx")
by = Dv (b=200, label="by")

# Define the points A, B
pa = Point (ax,ay,0)
pb = Point (bx,by,0)

# Revolute joint at A
zploc = pa + [0,0,1]
p1.A = Marker (body=p1, qp=pa, zp=zploc)
p2.A = Marker (body=p2, qp=pa, zp=zploc)
ja = Joint (type="REVOLUTE", i=p2.A, j=p1.A)

# spherical joint at B
p2.B = Marker (body=p2, qp=pb)
p3.B = Marker (body=p3, qp=pb)
jb = Joint (type="SPHERICAL", i=p3.B, j=p2.B)