3つのキューブパートと、複数の”接続要素”を作成する

未分類

例題説明

この例題では、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

Geometry.Part.Cube()

JPT.ViewFitToModel()

Connections.RigidElements.RBE2.OneToOne() # 記事なし

Connections.RigidElements.RBE3.OneToOne() # 記事なし

Connections.MPC.General.TwoEdges()

JPT.GetAppPathInfo()

FileMenu.SaveJTH5() # 記事なし

関連記事

本例題で作成したモデルを実際に使用する例題です。