When I make the model doc visible via IModelDoc2.Visible = true and call IModelDoc2.Extension.GetModelViews again, I now get an array with one entry of IModelView.
How do I delete that IModelView?
Reason:
I am trying to do some data modifications on model docs, and in order to be fast and hide it from the user, I open them invisibly. But some data is not available/changeable in invisible documents, so I need to make some model docs visible temporarily. But then they become visible to the user (i.e. they get their own window) and even stay that way after I call IModelDoc2.Visible = false.
My goal is to get a model doc back to being REALLY invisible to the user after I made it visible.
---
Here is some C# code where you can see what I tried:
Code: Select all
if (!modelDoc.Visible)
{
var views = (object[])modelDoc.Extension.GetModelViews(); // is null here
modelDoc.Visible = true; // makes it visible to the user and creates a view
modelDoc.Visible = false; // does NOT revert it to invisible!
views = (object[])modelDoc.Extension.GetModelViews(); // is not null; contains one element (= the view generated when making it visible)
modelDoc.NameView("foo"); // name the current view...
modelDoc.DeleteNamedView("foo"); // ...then delete it
views = (object[])modelDoc.Extension.GetModelViews(); // still contains one element; deleting did not work!
}