Hi Alexander,
If you feel this discussion has run it's course, that's OK, but I still think it needs addressing by someone from AutoDesk. Never in my development career, now approaching 20 years, have I found myself thinking "I can't believe it actually works like that" on a practically weekly basis. I mean that quite literally - ObjectArx is such a large API and I'm still getting familiar with it, so often I can't believe I have found the correct solution, I'm sure there must be a better, easier way to do things.
Unfortunately, I'm yet to be pleasantly surprised by AutoCAD.
In other situations, I'm prepared (eventually) to just say, "OK, It's dumb, but let's just do it the AutoCAD way", but in this case I think this really needs to be fixed.
This is how it appears to me (naive as I may be):
- Several basic CAD functions depend on AutoCAD being able to identify the type of objects in a DWG.
- There exist functions that can unambiguously identify the type of all objects.
- There also exists a complicated COM implementation that may or may not identify the type of an object based on what it was derived from and whether or not it implements a supposedly optional interface.
- For reasons best known to themselves, AutoCAD have apparently made basic functionality depend on the inconsistent COM way of identifying things.
That's not just an obtuse way of doing things - it's wrong, a bug. I mean, what happens on a non-COM platform like Mac? Do they just have to put up with this stuff not working? (and yes I checked - as far as I can tell, you can't change the class name using the non-COM properties interface)