Hello!
I have standalone application. With this app I'm startin an AutoCAD 2007.
const string progID = "AutoCAD.Application.17"; AcadApplication acApp = null; try { acApp = (AcadApplication)Marshal.GetActiveObject(progID); } catch { try { Type acType = Type.GetTypeFromProgID(progID); acApp = (AcadApplication)Activator.CreateInstance(acType, true); } catch { MessageBox.Show("Cannot create object of type \"" + progID + "\""); } } if (acApp != null) { // By the time this is reached AutoCAD is fully // functional and can be interacted with through code acApp.Visible = true; acApp.ActiveDocument.SendCommand(....); .... }
I've added references to the AutoCAD 2007 Type Library and ObjectDBX (2007).
But I want to have my application compatibile with AutoCAD 2011. With detection which AutoCAD is installed I don't have any problems.
But how can I add the references depending on AutoCAD version? I tried to add both, but this is impossible.
I was thinking about dynamically loading assemblies, but how can I then call AutoCAD and SendCommand?
Thanks for the help.
Type in the command lIne ACADVER
you will be get a current version of your
AutoCAD installed
With version detection I don't have problems as I said, but thanks.
That's nice tricky command 😉
The question is about assemblies references and differents versions.
Or maybe other question:
How can I send command to the autocad without declaring its version? So the code will be compatibile for both AC 2007 and 2011.
Can't find what you're looking for? Ask the community or share your knowledge.