指定したサイズのシートモデルを作成する方法


指定したサイズのシートモデルを作成する方法を紹介します。

void CreateSheetModelTest()
{
	DgnFileP pDgn = ISessionMgr::GetActiveDgnFile();
	DgnModelStatus status;
	DgnModelP pSht = pDgn->CreateNewModel(&status, L"MySheetModel", DgnModelType::Sheet, false);
	if (DgnModelStatus::DGNMODEL_STATUS_Success == status)
	{
		ModelInfoR modelInfo = const_cast<ModelInfoR>(pSht->GetModelInfo());
		SheetDefP pShtDef = modelInfo.GetSheetDefP();
		pShtDef->SetFormName(L"ISO A2");
		double uor = modelInfo.GetUorPerMeter();
		pShtDef->SetSize(594*uor, 420*uor);
		pSht->SetModelInfo(modelInfo);
	}
}

STEP1:GetActiveDgnFile()メソッドを使い、DGNファイルのポインターpDgnを取得します。

STEP2:CreateNewModel()メソッドを呼び出し、DgnModelType::SheetタイプのポインターpShtを作成します。

STEP3:モデル情報のmodelInfoを取得します。

STEP4:modelInfoからシート定義のポインターを取得します。

STEP5:SetFormName()、SetSize()を呼び出し、フォーム名前とサイズを設定します。

STEP6:SetModelInfo()を使い、modelInfoをセットします。