Has anyone else noticed that the view cube in 2011 seems to seriously affect the performance of .net customisations?
I've got a drawing with ~2000 blocks in and just doing a simple attribute get on each one takes around 4 seconds with the view cube off but with it on it's over 15!
I don't know why having it on would make the process so much slower.
I've tried switching it off by setting the NAVVCUBEDISPLAY system variable to 0 but it doesn't seem to make any difference. I also had a go at modifying the NAVVCUBE system variable but I get an eInvalidInput when I try to get its value
Dim NC As String = Application.GetSystemVariable("NAVVCUBE")
Does anyone know if there's any way to programmatically turn it off?
Thanks
Hi Paulio,
Note: Edits shown in red.
I haven't checked your performance issue, but the reason you're getting the eInvalidInput is because NAVVCUBE is a command and not actually a system variable.
Unfortunately it appears that the ObjectARX AcEdViewCube class has not been exposed to .NET.
You could try P/Invoking AcEdViewCube. It has a setVisible setEnable method which might work for you. Maybe this will help boost your performance. Below is a good post showing how to call ObjectARX functions from a .NET application.
http://through-the-interface.typepad.com/through_the_interface/2006/07/calling_objecta.html
P/Invoking for AcEdViewCube doesn't appear to be as easy as the example in the link above. As I read things, it is not a simple task to instantiate an unmanaged object from managed code. Probably means that you would need to write your own native C++ code to expose the class to managed code (i.e. to instantiates the class, calls the methods, returns the results, etc). Way out of my league I'm afraid to say.
Hope this helps.
Art