メインコンテンツまでスキップ

プロジェクトファイルを部分ロードする

プロジェクトを開く際、分割済みのすべてのモデルユニットを読み込むと、モデルユニットの大きさによっては時間がかかる場合があります。 そのため、プロジェクトを開く際に、モデルユニットを読み込まないことをオプションで指定できます。 また、モデルユニットの設計情報が必要になった場合は、モデルユニットを指定してロードすることができます。

プロジェクトファイルのみをロードする

モデルユニットを読み込まずにプロジェクトファイルのみをロードするには、IWorkspaceオブジェクトのOpenProjectメソッドのexcludeModelFilesオプションにtrueを指定します。

public void OpenProject(ICommandContext c, ICommandParams p)
{
// プロジェクトファイルを選択します
var filePath = c.App.Window.UI.ShowOpenFileDialog("プロジェクトファイルを選択して下さい。", "プロジェクトファイル|*.iproj;*.nproj");
if ( filePath == null ) return "キャンセルしました。";

// モデルユニットを読み込まずにプロジェクトファイルを開きます
c.App.Workspace.OpenProject(filePath, excludeModelFiles: true);
}

モデルファイルを追加ロードする

プロジェクトを開く際に読み込まなかったモデルユニットを、後から追加読み込みすることができます。これを追加ロードといいます。 追加ロードはIWorkspaceオブジェクトのLoadModelUnitsメソッドを用います。

public void LoadModelUnits(ICommandContext c, ICommandParams p)
{
// 現在のプロジェクトで、まだ読み込んでいないモデルユニットを取得します
IProjectUnitManager unitManager = c.App.Workspace.CurrentProject.UnitManager;
var notLoadedUnits = unitManager.ModelUnits.Where(unit => !unit.Loaded).ToList();

// 読み込んでいないモデルユニットを現在のプロジェクトに追加読み込みします
IWorkspace workspace = c.App.Workspace;
workspace.LoadModelUnits(c.App.Workspace.CurrentProject, notLoadedUnits);
}