OS. OpenSTAADを初期化してノード座標を計算するには
-
次のコマンドを入力して、OpenSTAADを初期化します。
このコマンドにより、STAAD.Proとプログラム内で現在開いているモデルへの接続が開きます。Dim objOpenSTAAD As Object Set objOpenSTAAD = GetObject(,"StaadPro.OpenSTAAD")
-
次のコマンドを入力して、変数のgeometryクラスを参照します。
Dim geometry As OSGeometryUI Set geometry = objOpenSTAAD.Geometry
-
次の2つのForループを入力して、フレーム内の各ノードのノード座標を計算します。
'Nodes For j = 2 To (row + 2) For i = 1 To (clmn + 1) crdx = (i - 1) * wdth geometry.AddNode crdx, crdy, crdz Next crdy = (j - 1) * ht Next
-
次のコマンドを入力して、変数のsupportクラスを参照します。
Dim support As OSSupportUI Set support = objOpenSTAAD.Support
-
次のIf ElseIf文を入力して、目的のサポートタイプを取得します。
サポートが作成され、返されたサポート参照番号が変数s1に格納されます。
意図したサポートタイプがどちらも指定されていない可能性を考慮して"フォールバック"も追加されており、その場合はユーザーにエラーメッセージが表示されます。
'Supports If sprt = "0" Then s1 = support.CreateSupportFixed() ElseIf sprt = "1" Then s1 = support.CreateSupportPinned() Else MsgBox("Select Proper Support Type",vbOkOnly,"Error") Exit Sub End If
-
次の行を入力して、返されたサポート参照番号に対するデバッグ文を追加します。
Debug.Print "Support return value = ";s1
-
次のように入力して、フレーム内の下部ノードにサポートタイプを割り当てます。
For i1 = 1 To (clmn + 1) support.AssignSupportToNode i1,s1 Next