例題説明
この例題では、3つのキューブパートを作成し、モデル内に複数の”接続要素”を作成します。
(ここでの”接続要素”とはMPCやRBE2などを指します)
作成後、このモデルは保存し、別の例題で使用できるようにします。

サンプルコード
# 3つのキューブパートを作成します。
Geometry.Part.Cube()
Geometry.Part.Cube(dlOrigin=[0.015, 0.0, 0.0], strName="Cube_2", iPartColor=6409934)
Geometry.Part.Cube(dlOrigin=[0.03, 0.0, 0.0], strName="Cube_3", iPartColor=13259210)
# 作成したパートに合わせて、メインウィンドウの拡大サイズを調整します。
JPT.ViewFitToModel()
# Edge間に2つのMPCを作成します。
Connections.MPC.General.TwoEdges(crMasterEdge=Edge(72), crSlaveEdge=Edge(44), listMpcConnection=[MPC_CONNECTION(iDof=1), MPC_CONNECTION(iDof=2), MPC_CONNECTION(iDof=4), MPC_CONNECTION(), MPC_CONNECTION(), MPC_CONNECTION()], bUpdateDispCS=1)
Connections.MPC.General.TwoEdges(strName="MPC_2", crMasterEdge=Edge(46), crSlaveEdge=Edge(18), listMpcConnection=[MPC_CONNECTION(iDof=1), MPC_CONNECTION(iDof=2), MPC_CONNECTION(iDof=4), MPC_CONNECTION(), MPC_CONNECTION(), MPC_CONNECTION()], bUpdateDispCS=1)
# Edge間に2つのRBE2を作成します。
Connections.RigidElements.RBE2.OneToOne(crlMasterTargets=[Edge(64)], crlSlaveTargets=[Edge(36)])
Connections.RigidElements.RBE2.OneToOne(crlMasterTargets=[Edge(38)], crlSlaveTargets=[Edge(10)], strName="RBE2_2")
# 節点とFace間にRBE3を作成します。
Connections.RigidElements.RBE3.OneToMany(crlMasterTargets=[Face(78)], crlSlaveTargets=[Node(1429)], listRbe3TermConnection=[(0, 63, 1), (1, 7, 1)], strName="RBE3_1", dTolerance=0.003)
Connections.RigidElements.RBE3.OneToMany(crlMasterTargets=[Node(949)], crlSlaveTargets=[Face(52)], listRbe3TermConnection=[(0, 63, 1), (1, 7, 1)], strName="RBE3_2", dTolerance=0.003)
# モデルをjth5ファイルで保存します。
path = JPT.GetAppPathInfo(JPT.PathType.APPDATA_PATH)
FileMenu.SaveJTH5(strFileName=path + "Cube_Connections.jth5")
サンプルコードの説明
キューブパート作成
まず、3つのキューブパートを作成します。
1つ目のキューブパートは、設定値をすべてデフォルトで作成します。
Geometry.Part.Cube()

2つ目のキューブパートは、座標値にdlOrigin=[0.015, 0.0, 0.0]
、パート名にstrName="Cube_2"
、パートの色としてiPartColor=640993
を指定して作成します。
Geometry.Part.Cube(dlOrigin=[0.015, 0.0, 0.0], strName="Cube_2", iPartColor=6409934)

3つ目のキューブパートは、座標値にdlOrigin=[0.03, 0.0, 0.0]
、パート名にstrName="Cube_3"
、パートの色としてiPartColor=13259210
を指定して作成します。
Geometry.Part.Cube(dlOrigin=[0.03, 0.0, 0.0], strName="Cube_3", iPartColor=13259210)

作成後、表示画面サイズに合わせて、表示中のモデルの拡大表示率を、JPT.ViewFitToModel()
によって調整します。
JPT.ViewFitToModel()
接続要素作成
モデル内にMPC、RBE2、RBE3接続要素をそれぞれ2つずつ作成します。
MPCはCube_1とCube_2のEdge(ID:18, 46)間、Cube_2とCube_3のEdge(ID:36,64)間を指定して作成します。設定値はデフォルト値です。
Connections.MPC.General.TwoEdges(crMasterEdge=Edge(72), crSlaveEdge=Edge(44), listMpcConnection=[MPC_CONNECTION(iDof=1), MPC_CONNECTION(iDof=2), MPC_CONNECTION(iDof=4), MPC_CONNECTION(), MPC_CONNECTION(), MPC_CONNECTION()], bUpdateDispCS=1)
Connections.MPC.General.TwoEdges(strName="MPC_2", crMasterEdge=Edge(46), crSlaveEdge=Edge(18), listMpcConnection=[MPC_CONNECTION(iDof=1), MPC_CONNECTION(iDof=2), MPC_CONNECTION(iDof=4), MPC_CONNECTION(), MPC_CONNECTION(), MPC_CONNECTION()], bUpdateDispCS=1)

次に、RBE2をモデルに作成します。
MPCと同様に、Cube_1とCube_2のEdge(ID:10, 38)間、Cube_2とCube_3のEdge(ID:44,72)間を指定して作成します。設定値はデフォルト値です。
Connections.RigidElements.RBE2.OneToOne(crlMasterTargets=[Edge(64)], crlSlaveTargets=[Edge(36)])
Connections.RigidElements.RBE2.OneToOne(crlMasterTargets=[Edge(38)], crlSlaveTargets=[Edge(10)], strName="RBE2_2")

最後に、RBE3をモデルに作成します。
RBE3は、Cube_2の節点とFace間(節点ID:949, Face ID:52)間、Cube_3の節点とFace間(節点ID:949, Face ID:78)間を指定して作成します。設定値はデフォルト値です。
Connections.RigidElements.RBE3.OneToMany(crlMasterTargets=[Face(78)], crlSlaveTargets=[Node(1429)], listRbe3TermConnection=[(0, 63, 1), (1, 7, 1)], strName="RBE3_1", dTolerance=0.003)
Connections.RigidElements.RBE3.OneToMany(crlMasterTargets=[Node(949)], crlSlaveTargets=[Face(52)], listRbe3TermConnection=[(0, 63, 1), (1, 7, 1)], strName="RBE3_2", dTolerance=0.003)

モデル保存
作成したモデルを、指定したフォルダにjth5ファイル形式で保存します。
まず、モデルの保存先とするJupiterのApp Dataフォルダのパスを取得し、変数path
に代入します。
path = JPT.GetAppPathInfo(JPT.PathType.APPDATA_PATH)
JPT.GetAppPathInfo()
は、PathType
を指定することで、使用中のJupiterの作業フォルダのパスを取得するPSJ Utilityです。
Path Typeと、取得可能なフォルダパスについての詳細はリンク先をご参考ください。
・Path Type
path
の内容については、次のコードを用いることで、Jupiter上のPython APIウィンドウに出力して確認することが出来ます。
print(path)

FileMenu.SaveJTH5()
はモデルをjth5ファイル形式で保存するPSJ Utilityです。ファイルの保存先のパスと、保存時のファイル名の指定が必須になります。
今回は、先ほど取得したpath
を使用して、本モデルをCube_Connections.jth5
というファイル名でApp Dataフォルダに保存します。


利用しているAPI
Connections.RigidElements.RBE2.OneToOne() # 記事なし
Connections.RigidElements.RBE3.OneToOne() # 記事なし
Connections.MPC.General.TwoEdges()
FileMenu.SaveJTH5() # 記事なし