I am currently recompiling code to be compatible with AutoCAD 2013.
The original code was created using the "Magic Macro" to convert VBA code over to VB.NET code using COM Interface.
I have ran into an issue when trying to create a ThisDrawing property for the rest of the code to use.
In AutoCAD 2012 this way worked just fine:
Code:
Public ReadOnly Property ThisDrawing() As AcadDocument
Get
Return Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.AcadDocument
End Get
End Property
But in AutoCAD 2013 that way no longer works.
I get an 'Unable to cast COM object of type 'System.__ComObject' to interface type 'Autodesk.AutoCAD.Interop.AcadDocument' exception.
I have tried several different ways to accomplish this. Many with examples from the internet, but to no avail.
Some failed attempts:
Code:
Public ReadOnly Property ThisDrawing() As AcadDocument
Get
Return DocumentExtension.GetAcadDocument(Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument)
End Get
End Property
Code:
Public ReadOnly Property ThisDrawing() As AcadDocument
Get
Return CType(DocumentExtension.GetAcadDocument(Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument), AcadDocument)
End Get
End Property
Code:
Public ReadOnly Property ThisDrawing() As Object
Get
Dim DotNetDoc As Autodesk.AutoCAD.ApplicationServices.Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument
Dim oDoc As Object = DocumentExtension.GetAcadDocument(DotNetDoc)
Return oDoc
End Get
End Property
Code:
Public ReadOnly Property ThisDrawing() As AcadDocument
Get
Dim tAcadDoc As Autodesk.AutoCAD.ApplicationServices.Document
Dim tAcadDocCOM As Autodesk.AutoCAD.Interop.AcadDocument
tAcadDoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument
tAcadDocCOM = CType(Autodesk.AutoCAD.ApplicationServices.DocumentExtension.GetAcadDocument(tAcadDoc), Autodesk.AutoCAD.Interop.AcadDocument)
Return tAcadDocCOM
End Get
End Property
Has anyone else encountered this problem or already figured out how to accomplish this with AutoCAD 2013?
Thank you,
Kraut1976
Bookmarks