Revit 2022 の新機能 その6

Revit 2022 の新機能と改良された機能をシリーズでご紹介しております。

今回は、API の新機能と機能向上の内容となりますが、この記事内で全ての API をご紹介すると膨大になってしまうため、ここではその一部をご紹介させて頂きます。

なお、3月に実施された DevDays Online 2021 の Revit API のパートにて、網羅的に把握いただける動画が配信されております。 ADN に加入されている方は、専用サイトにて限定動画(英語)と日本語プレゼンテーション資料(PDF)をダウンロードしていただくことが出来ます。詳しくは、配信済の Autodesk Developer News – 2021年3月 をご確認ください。


天井と床の API

これまで長年にわたり、Revit API では天井(Ceiling オブジェクト)を作成する方法はサポートされておりませんでした。
そのため、Revit 2021 までは、スラブを作成する方法が回避策として提示されておりましたが、その要素は、Floor オブジェクトとなるため、UI 操作で作成できる天井とは大きなギャップがありました。

そして Revit 2022 では、ついに天井を作成する API がサポートされました。

Revit2022-06-01

この変更により、スラブに関連する API は廃止予定となり、Floor.Create() メソッドに統一されますのでご注意ください。

Revit2022-06-02


壁のプロファイルスケッチ

次のメソッドで、プロファイル スケッチを追加および削除できるようになりました。

  • Wall.CreateProfileSketch()
  • Wall.RemoveProfileSketch()

Wall.CanHaveProfileSketch() は、壁がプロファイル スケッチをサポートしている場合に True を返します。円弧壁および楕円形の壁は、編集済みのプロファイルの設定をサポートしていない壁ジオメトリです。スケッチを追加すると、SketchEditScope を使用してプロファイル スケッチを編集できます。


スケッチ編集 API

さらに、Revit 2022 では、天井、床、壁、開口部のスケッチを編集できる API が追加されました。

Revit2022-06-03

次のプロパティを使用して、要素のスケッチの要素 ID を取得することができます。

  • Ceiling.SketchId
  • Floor.SketchId
  • Opening.SketchId
  • Wall.SketchId

指定したスケッチについて、そのスケッチを所有する要素(床、壁など)を Sketch.OwnerId プロパティで取得できます。

スケッチを編集するには、SketchEditScope クラスを使用します。

スケッチ編集セッションがアクティブな間は、スケッチ要素(曲線、寸法、参照面)を追加、削除、修正できます。
セッションが終了すると、スケッチベースの要素が更新されます。

主なメソッドは次のとおりです。

  • SketchEditScope コンストラクタ
    • 新しい SketchEditScope を作成します。
  • Start() メソッド
    • 特定のスケッチの編集を開始します。関連付けられたトランザクションも開始します。
  • Commit() メソッド
    • 変更をコミットします。
  • IsSketchEditingSupported() メソッド
    • スケッチが SketchEditScope で編集できるかどうかを確認します。

サンプルコードは、こちらのページをご参照ください。


カラー凡例の作成 API

新しい Autodesk.Revit.DB.ColorFillLegend では、特定のビューのカラー凡例要素のプロパティの読み取り、作成、および修正ができるようになりました。

ColorFillLegend.Create() メソッド を使用すると、ビューに新しいカラー凡例を作成できます。

  • ColorFillLegend.Create(document, viewId, categoryId, origin)
  • ColorFillLegend.GetColumnWidths()
  • ColorFillLegend.SetColumnWidths(IList<double> widths)
  • ColorFillLegend.ColorFillCategoryId
  • ColorFillLegend.Height
  • ColorFillLegend.Origin

カラースキーム API

新しい Revit.DB.ColorFillScheme を通じて、平面図ビューと断面図ビューにカラー スキームを適用できるようになりました。Revit.DB.ColorFillSchemeEntry は、カラースキームのエントリを表します。

Revit2022-06-04

ビューの特定のカテゴリに紐づくカラースキーム ID を取得・設定するために下記のメソッドが追加されています。

  • View.Get/SetColorFillSchemeId()

サンプルコードは、こちらのページ、及び、 Revit 2022 SDK に追加された「ColorFill サンプル」をご参照ください。


クラウドモデル API

ワークシェアされているクラウドモデルの初期化をサポート

現在のモデルを BIM 360 にクラウド モデルとして保存し、ワークシェアされているローカル ファイルを Revit Cloud Worksharing の中央モデルとして BIM 360 Design にアップロードする操作をサポートしました。

  • Document.SaveAsCloudModel() 

クラウドモデルへの Revit リンク

既存のリンクメソッドがクラウドモデルをサポートするようになりました。

  • RevitLinkType.Create(Document, ModelPath, RevitLinkOptions)
  • RevitLinkType.LoadFrom(ModelPath, WorksetConfiguration)
  • ModelPathUtils.ConvertCloudGUIDsToCloudPath() 

Revit2022-06-05

モデルの Forge ID を取得する

次のメソッドを使用して、クラウド モデルの Forge ID を取得できるようになりました。

  • Document.GetHubId()
    • モデルが配置されている場所の ForgeDM ハブ ID
  • Document.GetProjectId()
    • モデルが配置されている場所の ForgeDM プロジェクト ID
  • Document.GetCloudFolderId(bool forceRefresh)
    • モデルが配置されている場所の ForgeDM フォルダ ID
  • Document.GetCloudModelUrn()
    • モデルを特定する ForgeDM Urn。クラウド モデルではないドキュメントの場合は空の文字列を返します。

クラウドモデル API の詳細は、こちらのページ、及び、Revit 2022 SDK に追加された「CloudAPISample」というサンプルをご参照ください。


By Ryuji Ogasawara


Comments

Leave a Reply

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading