Abaqus での Python 言語の適用---2.2.3 オブジェクト指向プログラミングと Abaqus スクリプト インターフェイス

オブジェクト指向プログラミングの基本概念には、
1) オブジェクト
2) クラス
3) プロパティ
4) 継承
5) ポリモーフィズム
6) メソッド
7) メンバー (メンバー)

このセクションでは、Abaqus スクリプト インターフェイスのメソッドとメンバーを紹介します。
1. Abaqus スクリプト インターフェイスのメソッド
Abaqus スクリプト インターフェイス コマンドのほとんどはメソッドです。のように:

session.viewports["Viewport-1"].setValue(width = 50)

このコード行の setValue メソッドは、Viewport オブジェクトのメソッドです。

myViewport = session.Viewport(name = "newViewport", width = 100, height = 100)

このコード行は、コンストラクタ Viewport を使用して Viewport オブジェクトを作成し、それを変数 myViewport に割り当てます。
一部のオブジェクトにはコンストラクタが含まれていないため、この時点で作成された最初のオブジェクトは別のオブジェクトのメンバーになります。たとえば、パーツ (Part) の幾何学的形状を作成する場合、Abaqus は最初に頂点を作成し、頂点の座標は Vertex オブジェクトとして保存されます。Vertex オブジェクトは Part オブジェクトのメンバーです。のように:

print(mdb.models["Model-1"].parts["Part-1"].vertices[0].pointOn)

このコード行は、パーツ Part-1 の最初の頂点の座標を出力します。

2. Abaqus スクリプト インターフェイスのメンバー
各オブジェクトにはメソッド (メソッド)メンバー (メンバー) が含まれており、
メンバーはオブジェクトの特定のプロパティと考えることができ、区切り文字を使用してオブジェクトのメンバーにアクセスできます。のように:

myWidth = session.viewports["myViewport"].width

width は Viewport オブジェクトのメンバーです。
オブジェクトのすべてのメンバーをリストするには、Python 言語で object.__members__ メソッドを呼び出します。

sessoin.viewports["myViewport"].__members__

このコード行は、ビューポート オブジェクトのすべてのメンバーをリストします。各インスタンス オブジェクトのメンバー値は、通常
、異なるビューポートの幅
メンバーなど異なります。メンバー値への直接割り当ては許可されますが、メンバーの値はsetValues() メソッドで変更できます

import section
shellSection = mdb.models["Model-1"].HomogeneousShellSection(
name = "Steel Shell", thickness = 1.0, material = "Steel")
print("Original shell section thickness =", shellSection.thickness)
shellSection.setValues(thickness = 2.0)
print("Final shell section thickness =", shellSection.thickness)

コードの 4 行目では、setValues() メソッドを呼び出して
セクションの厚さを変更します。

#创建Section对象
mySection = mdb.models["Model-1"].HomogeneousSolidSection(name = "solidSteel", material = "Steel", thickness = 1.0)
#使用type()函数显示对象的类型
print("Section type =", type(mySection))
#列出对象的所有成员
print("Section members are ", mySection.__members__)
#列出对象的所有方法
print("Section methods are ", mySection.__methods__)
#输出每个成员的值
for member in mySection.__members__:
	print("mySection.{0} = {1}".format(member, getattr(mySection, member)))

オブジェクトの作成後、オブジェクトの一部のメソッドを呼び出してデータを入力または変更することもできます。
たとえば、addNodes メソッドと addElements メソッドを呼び出してコンポーネントのノードと要素を追加し、
FieldOutput オブジェクトの addData メソッドを呼び出してフィールドを追加します。可変出力データ

おすすめ

転載: blog.csdn.net/qq_35412059/article/details/105599412