このところ、サンフランシスコ、ニューヨークと出張続きで、私のブログポストに間があいてしまいましたが、以前、前半としてご紹介したRevit 2014 APIの新機能の続きをようやくここでご紹介したいと思います。
強化点としての新機能は、今リリースでは、大きく次の4つの分野に焦点がおかれていることを以前のポストでお話しました:
- 統合(インテグレーション)
- ドキュメンテーション
- モデリング
- コーディネーション
- その他
今回は、4番目の項目、コーディネーションとその他の分野のAPI の強化点の概要を見ていきたいと思います。
コーディネーション
- ドキュメント オープン オプション
- ドキュメント保存
- ワークシェアリング API
- リンクの操作とプロパティ API
- リンクAPIに影響を与える操作
- インポート・エクスポートAPI
- カスタム エクスポート
- コピー&ペースト API
ドキュメント オープン オプション
Revitのファイルを開く際に、いくつかのオプションがありますが、それらを指定できるようになりました。 具体的には、
- OpenOption.Audit -ファイルの破損の有無を確認するために、すべての要素を展開するかどうかを指定します。デフォルトはfalse。
- OpenOptions.AllowOpeningLocalByWrongUser -ローカルファイルが、その所有者以外のユーザーによってReadOnlyで開くことを許可するかどうかを指定します。
- OpenOptions.GetOpenWorksetsConfiguration()/ OpenOptions.SetOpenWorksetsConfiguration() -ドキュメントを開いたときに、どのユーザーが作成したワークセットをオープン/クローズされるべきかを指定するためにWorksetConfigurationにアクセスします。
また、ドキュメント保存のオプションとしては、
- Document.Save()
- SaveOptions.Compact - OS がディスク上のファイルから、全ての不要なデータを排除するべきかどうかを指定します。
- Document.SaveAs()
- SaveAsOptions.MaximumBackups - ディスク上に保存するバックアップの最大数を指定します。
- SaveAsOptions.Compact - OS がディスク上のファイルから、全ての不要なデータを排除するべきかどうかを指定します。
- 新しいプロパティ SaveAsOptions.WorksharingOptions はワークシェアファイルに固有のオプションを提供します:
- WorksharingSaveAsOptions.SaveAsCentral
- WorksharingSaveAsOptions.OpenWorksetsDefault
- WorksharingSaveAsOptions.ClearTransmitted
- 新しいメソッド: SaveAs(ModelPath, SaveAsOptions) が用意されました。
ワークシェアリング API は、今リリースで強化された大きな点です。以下が追加されました:
- 最新ファイルのの再ロード
- Document.ReloadLatest()
- Document.HasAllChangesFromCentral()
- セントラルファイルとの同期
- Document.SynchronizeWithCentral()
- 要素のオーナシップ
- WorksharingUtils.CheckoutElements()
- WorksharingUtils.CheckoutWorksets()
- WorksharingUtils.RelinquishOwnership()
- 新規のローカルファイルの作成
- WorksharingUtil.CreateNewLocal()
- ワークシェアリングの有効化
- Document.EnableWorksharing()
リンクの操作とプロパティ API
- リンクのロードおよびアンロード
- RevitLinkType.Load()
- RevitLinkType.LoadFrom()
- RevitLinkType.Unload()
- リンクと共有座標の変更
- リンクパスのタイプの設定
- 新しいリンクを作成する際に、ワークセットが開くように指定
リンクAPIに影響を与える操作
- リンクされたドキュメントを識別
- Document.IsLinked
- リンクされたドキュメントを取得
- RevitLinkInstance.GetLinkedDocument()
- リンクされた部屋から部屋タグを作成
- リンクで要素選択(Pick)
-
リンクとホストの間の幾何学的な参照の変換
-
幾何学的な解析(部屋の境界)のような操作を容易にします。
- 面ベースのファミリーインスタンスの配置
-
インポート・エクスポートAPI
- SATファイルのインポート/リンク
- SketchUpファイルインポート/リンク
- DWF マークアップインポート
- Navisworksファイルエクスポート
- テーブルコンテンツのエクスポート
- ExportLayerTable
- ExportLinetypeTable
- ExportFontTable
- ExportPatternTable
- ExportLineweightTable
- DWG、IFCとDGN などの様々なフォーマットにマッピングするために使用されるテーブルへのアクセス。
カスタム エクスポート
- CustomExporter
- Revitのレンダリング出力パイプラインへのアクセス。
- カスタムエクスポートコンテキストを介して3Dビューをエクスポート可能
-
IExportContext
- 出力は、Revit上で表示されているのと全く同様にモデルを表現。
- すべてのジオメトリとマテリアルプロパティが含まれる。
コピー&ペースト API
- ElementTransformUtils.CopyElements(Document, ICollection<ElementId>, Document, Transform)
- 文書内、または文書から文書へのコピーをサポート。
-
ElementTransformUtils.CopyElements(View, ICollection<ElementId>, View, Transform)
- ビュー固有の要素のコピーをサポート
-
ElementTransformUtils.GetTransformFromViewToView(View, View)
- 二つのビュー間の座標変換を取得
その他
これだけでは、ありません。その他の強化点としは、以下があります。
- マテリアル API
- MEP API 機能強化
- MEPの外部化された計算
- MEP API の機能強化
- 拡張ストレージ
- Add-ins
- マクロ環境
マテリアル API
- マテリアルに AppearanceAsset を割り当てることができます。
- Material.AppearanceAssetId
-
AppearanceAssetElements
- 要素フィルタリングを介して見つけることが可能です。
- AppearanceAssetElement.Create() - 指定したレンダリング·アセットと名前から新しいアセット要素を作成できます。
- AppearanceAssetElement.GetAppearanceAssetElementByNameは() - 与えられた名前から、アセット要素のハンドルを取得できます。
- AppearanceAssetElement.SetRenderingAssetは() - 要素にレンダリング・アセットを設定します。
MEP API 機能強化
- ElectricalLoadClassificationData
- ElectricalLoadClassificationData は電気のパネルスケジュールの負荷分類部に対応するいくつかの新しい文字列型のプロパティを持ちます。
-
CSVフィッティングパラメータの削除
- CSVファイルは、もはやMEPフィッティングパラメータを駆動するために使用されていないため、Revitは、フィッティングパラメータを管理するための新しいAPIのセットをサポートします。
-
フィッティング角度使用設定のAPI
- ダクト設定、パイプの設定、電気的設定用
-
新しいダクト設定
- サイズの接頭辞と接尾辞、注釈、空気密度と粘度。
MEPの外部計算
- 外部サービスに基づいた新しいインタフェースとクラスが、パイプやダクトの計算のためにサポートされます:
- IPipePlumbingFixtureFlowServer
- IPipePressureDropServer
- IDuctPressureDropServer
- IDuctFittingAndAccessoryPressureDropServer
- IPipeFittingAndAccessoryPressureDropServer
- IDuctFittingAndAccessoryPressureDropUIServer
- IPipeFittingAndAccessoryPressureDropUIServer
MEP API の機能強化
- 要素作成
- ダクト、パイプ、FlexDuct、そしてFlexPipeにはそれぞれのクラスでスタティックメソッドとして利用可能。
-
ConnectorElement
- 与えられた面の内部ループの中心にファミリのコネクタ要素を作成。
- コネクタシステムタイプを取得(Get)
- コネクタの方向を取得/設定(Get/Set)
- その他の機能強化
拡張ストレージ
- ExtensibleStorage API の変更点
- Element.GetEntitySchemaGuids()
- 要素上に存在するすべてのエンティティのスキーマのGUID
- Schema.GetField() / Schema.ListFields()
- Schemaで定義された読み取り許可に基づいて制限。
- Element.GetEntitySchemaGuids()
- ExtensibleStorageFilter
- 与えられたスキーマGUIDを持つエンティティを含む要素を見つけるためのElementQuickFilter。
Add-ins
- アクティブなセッションからアドインを自動ロード
- Revitを再起動せずに新しく追加されたアドインマニフェストファイルを読み込み自動的にアドインをロードすることが可能です。
- セッションロードを行いたくない場合は.addin ファイルで <AllowLoadIntoExistingSession> タグを使用。
- UIApplication.LoadAddIn()
- プログラムでマニフェストファイルからアドインを読み込むことが可能。
マクロ環境
- Ruby/Python 環境
- マクロはC#やVB.NETと同様にRubyやPythonでコーディングすることが可能
-
マクロおよびマクロモジュールのAPI
- RevitAPIMacros.dllとRevitAPIUIMacros.dll
- マクロモジュールをリスト/追加/削除
- マクロをリスト/削除/作成/編集
- マクロのセキュリティ設定にアクセス
今リリースも盛りだくさんなRevitAPIの新機能を列挙してみました。ぜひ試してみてください。
原田
コメント
コメントフィードを購読すればディスカッションを追いかけることができます。