荷重

荷重

次のセクションでは荷重の設定を特定し、荷重制限のガイドラインを説明します。

荷重設定

[設定]ダイアログ ボックスの[荷重ケース]タブと[荷重組み合わせ]タブのすべての機能に API からアクセスできます。

次のプロパティは、対応する LoadCase BuiltInParameter から利用できます。

表 60 荷重ケース プロパティとパラメータ

プロパティ

BuiltInParameter

ケース番号

LOAD_CASE _NUMBER

種類

LOAD_CASE_NATURE

カテゴリ

LOAD_CASE_CATEGORY

LOAD_CASE_CATEGORY パラメータは ElementId を返します。次の表は、カテゴリと ElementId 値間のマッピングを示します。

表 61: 荷重ケース カテゴリ

荷重ケース カテゴリ

BuiltInCategory

固定荷重

OST_LoadCasesDead

積載荷重

OST_LoadCasesLive

風荷重

OST_LoadCasesWind

積雪荷重

OST_LoadCasesSnow

屋根積載荷重

OST_LoadCasesRoofLive

偶発荷重

OST_LoadCasesAccidental

温度負荷

OST_LoadCasesTemperature

地震荷重

OST_LoadCasesSeismic

ドキュメント作成メソッドは対応するサブクラスを作成します。

  • NewLoadUsage() は LoadUsage を作成します
  • NewLoadNature() は LoadNature を作成します
  • NewLoadCase() は LoadCase を作成します
  • NewLoadCombination() は LoadCombination を作成します。
  • NewPointLoad() は PointLoad(荷重ホスト要素を Reference として指定できるオーバーロード)を作成します。必要に応じて、荷重タイプとスケッチ平面を指定できます。
  • NewLineLoad() は LineLoad(ホスト要素を Reference や Element として指定できるオーバーロード)を作成します。必要に応じて、荷重タイプとスケッチ平面を指定できます。
  • NewAreaLoad() は AreaLoad (ホスト要素を Reference や Element として指定できるオーバーロード)を作成します。必要に応じて、荷重タイプとスケッチ平面を指定できます。

これらはすべて Element サブクラスであるため、Document.Delete() を使用して削除できます。

コード領域 29-14: NewLoadCombination()

public LoadCombination NewLoadCombination(string name,
        int typeInd, int stateInd, double[] factors, LoadCaseArray cases, LoadCombinationArraycombinations, LoadUsageArray usages);

NewLoadCombination()メソッドでは、係数サイズはケースと組み合わせの合計サイズ以上にする必要があります。次に例を示します。

  • cases.Size が M の場合、combinations.Size は N となります
  • Factors.Size は M+N 未満とすることはできません。最初の M 係数は M のケースに順番にマッピングし、最後の N 係数は N の組み合わせにマッピングします。
  • LoadCombination 自体が含まれていないことを確認します。

LoadCase と LoadNature クラスには、Duplicate()メソッドはありません。この機能を実装するには、最初に NewLoadCase() (または NewLoadNature())メソッドを使用して新しい LoadCase (または LoadNature)オブジェクトを作成し、次に対応するプロパティとパラメータを既存の LoadCase (または LoadNature)からコピーする必要があります。

次は、VB.NET にホストされた点荷重の作成を表す最小のサンプル コードになります。

コード領域 29-15: NewPointLoad()


'' NewPointLoad with a host (in VB.NET)  

'' Select a beam, and get a curve of its analytical model.

Dim ref As Reference = rvtUIDoc.Selection.PickObject( _ 
    ObjectType.Element, "Select a beam")
Dim elem As Element = ref.Element
Dim aModel As AnalyticalModel = elem.GetAnalyticalModel
Dim aCurve As Curve = aModel.GetCurve

'' For simplicity, we assume we want to add a point load 
'' at the start point of the curve. 
 
Dim aSelector As New AnalyticalModelSelector(aCurve)
aSelector.CurveSelector = AnalyticalCurveSelector.StartPoint
Dim startPointRef As Reference = aModel.GetReference(aSelector)

'' Create a hosted point load
 
Dim force As XYZ = New XYZ(0.0, 0.0, -10000.0)
Dim moment As XYZ = New XYZ(-100.0, 100.0, 100.0)

Dim myPointLoad As PointLoad = _
    rvtDoc.Create.NewPointLoad( _ 
    startPointRef, force, moment, False, Nothing, Nothing)