Do not know if you figured it out or already knew but,
to work in model space or set model space's
you use the DisplayRepresentationManager.DefaultDisplayConfigurationId property
Code updated and C# code added
<CommandMethod("ChangeDisplayConfigVB")> _
Public Sub ChangeDisplayConfigVB()
Dim doc As Document = Application.DocumentManager.MdiActiveDocument
Dim db As Database = doc.Database
Dim ed As Editor = doc.Editor
Using trx As Transaction = db.TransactionManager.StartTransaction()
Dim disRepMngr As New DisplayRepresentationManager(db)
Dim currentDisplayConfig As DisplayConfiguration = disRepMngr.DisplayConfigurationIdForCurrentViewport.GetObject(OpenMode.ForRead)
ed.WriteMessage(vbCrLf & "The current displayConfig is " & currentDisplayConfig.Name)
Dim dictDisplConfigs As New DictionaryDisplayConfiguration(db)
If dictDisplConfigs.Has("Electrical - Lighting", trx) Then
Dim newDisplyConfigId As ObjectId = dictDisplConfigs.GetAt("Electrical - Lighting")
Try
disRepMngr.SetDisplayConfigurationId(ed.ActiveViewportId, newDisplyConfigId)
Catch ex As System.Exception
disRepMngr.DefaultDisplayConfigurationId = newDisplyConfigId
End Try
End If
currentDisplayConfig = disRepMngr.DisplayConfigurationIdForCurrentViewport.GetObject(OpenMode.ForRead)
ed.WriteMessage(vbCrLf & "The current displayConfig is " & currentDisplayConfig.Name)
trx.Commit()
End Using
End Sub
[CommandMethod("ChangeDisplayConfigCS")]
public void ChangeDisplayConfigCS()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed = doc.Editor;
using (Transaction trx = db.TransactionManager.StartTransaction())
{
DisplayRepresentationManager disRepMngr = new DisplayRepresentationManager(db);
DisplayConfiguration currentDisplayConfig = disRepMngr.DisplayConfigurationIdForCurrentViewport.GetObject(OpenMode.ForRead) as DisplayConfiguration;
ed.WriteMessage("\nThe current displayConfig is " + currentDisplayConfig.Name);
DictionaryDisplayConfiguration dictDisplConfigs = new DictionaryDisplayConfiguration(db);
if (dictDisplConfigs.Has("Electrical - Lighting", trx))
{
ObjectId newDisplyConfigId = dictDisplConfigs.GetAt("Electrical - Lighting");
try
{
disRepMngr.SetDisplayConfigurationId(ed.ActiveViewportId, newDisplyConfigId);
}
catch (System.Exception)
{
disRepMngr.DefaultDisplayConfigurationId = newDisplyConfigId;
}
}
currentDisplayConfig = disRepMngr.DisplayConfigurationIdForCurrentViewport.GetObject(OpenMode.ForRead) as DisplayConfiguration;
ed.WriteMessage("\nThe current displayConfig is " + currentDisplayConfig.Name);
trx.Commit();
}
}