プロジェクトからモデルを取得する
IProject
オブジェクトのメソッドを用いることで、プロジェクト内のモデルを様々な方法で取得できます。
プロジェクト直下のモデルを取得する
プロジェクトの直下のモデルを取得する場合は、IProject
オブジェクトに対してGetRootChildren
メソッドを呼び出します。以下のサンプルでは、モデルナビゲータに表示されるプロジェクト直下のモデルをすべて取得することができます。
public void GetRootModels(ICommandContext c, ICommandParams p)
{
IProject project = c.App.Workspace.CurrentProject;
// 設計モデルルート (モデルナビゲータのルートモデル) を取得します
IModel designModel = project.DesignModel;
// プロジェクト直下のモデルを取得します
IModelCollection rootModels = project.GetRootChildren();
//...
}
INFO
IModel
オブジェクトのIsDesignModel
メソッドを用いれば、モデルが設計モデルルート (モデルナビゲータのルートモデル) かどうか判定できます。
補足