MicroStation CONNECT Edition Native Code Snippets
// NOTE: Provide either a HitPath or Model and Element ID // EditElementHandle eeh(hitPath->GetHeadElem(), nullptr); OR,... DgnModelP activeModel = ACTIVEMODEL->GetDgnModelP(); ElementId eleId = 1103; EditElementHandle eeh(eleId, activeModel); ElementRefP elemref = eeh.GetElementRef(); // Process Dimension Elements Only if (DIMENSION_ELM != eeh.GetElementType()) return; MSElementP dim = eeh.GetElementP(); DimStrings oldStrings; DimStringConfig oldStrConfig; // Set Pointer - To Dimension Part and Text required mdlDim_getStrings(&oldStrings, &oldStrConfig, dim, 0); WStringP dimtext = oldStrings.GetString(DimensionTextPartType::DIMTEXTPART_Primary, DimensionTextPartSubType::DIMTEXTSUBPART_Main); // Override/Assign - Replacement Text dimtext->assign(L"New Text"); mdlDim_setStrings(dim, 0, &oldStrings); // Validate - Set range mdlDim_validate(dim); // Replace - Using Modified Element // eeh.ReplaceInModel(hitPath->GetHeadElem());, OR,... eeh.ReplaceInModel(elemref); // Persist - Save changes to File ISessionMgr::GetActiveDgnFile()->ProcessChanges(DgnSaveReason::UserInitiated, 0);