Load dll-files in Acad2013

Load dll-files in Acad2013

stefan.hofer
Advocate Advocate
4,957 Views
10 Replies
Message 1 of 11

Load dll-files in Acad2013

stefan.hofer
Advocate
Advocate

Someone already tried to load VB dll's in Acad2013? 

They dont work for me - no message and no error, nothing happens.

 

in 2012 they worked well.

0 Likes
Accepted solutions (1)
4,958 Views
10 Replies
Replies (10)
Message 2 of 11

Alfred.NESWADBA
Consultant
Consultant

Hi,

 

do you mean VB6 dll's oder VB.NET dll's

Have you set new references (according to AutoCAD 2013/19.0) before you compiled the DLL's?

 

A little bit little, your info 😉

 

- alfred -

------------------------------------------------------------------------------------
Alfred NESWADBA
ISH-Solutions GmbH / Ingenieur Studio HOLLAUS
www.ish-solutions.at ... blog.ish-solutions.at ... LinkedIn ... CDay 2026
------------------------------------------------------------------------------------

(not an Autodesk consultant)
0 Likes
Message 3 of 11

stefan.hofer
Advocate
Advocate

ahhhh

you'r right i have to rebuild my scripts with the r19 references...

i hope this works - i get errors in my code with the new references.

 

thanks

0 Likes
Message 4 of 11

Alfred.NESWADBA
Consultant
Consultant

Hi,

 

>> i get errors in my code with the new references

Yes, there are some modifications necessary to your code as there are some moves of functions/properties to different DLLs/different namespaces. But as long as we don't see what error you have we can't do anything for you 😉

 

- alfred -

------------------------------------------------------------------------------------
Alfred NESWADBA
ISH-Solutions GmbH / Ingenieur Studio HOLLAUS
www.ish-solutions.at ... blog.ish-solutions.at ... LinkedIn ... CDay 2026
------------------------------------------------------------------------------------

(not an Autodesk consultant)
0 Likes
Message 5 of 11

stefan.hofer
Advocate
Advocate

ok, one error left...

    Public ReadOnly Property ThisDrawing As AcadDocument
        Get
            Return   Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.AcadDocument
        End Get
    End Property

 msg:

AcadDocument is not a member of Autodesk.AutoCAD.ApplicationServices.Document

0 Likes
Message 6 of 11

Alfred.NESWADBA
Consultant
Consultant
Accepted solution

Hi,

 

one global change you have to do is to add a new DLL to the references:

AcCoreMgd.dll

 

To your statement getting asscess to the COM-based AcadDocument you have to use this way:

 

Dim tAcadDoc as ApplicationServices.Document
Dim tAcadDocCOM as Interop.AcadDocument

tAcadDoc = ApplicationServices.Application.DocumentManager.MdiActiveDocument

tAcadDocCOM = CType(ApplicationServices.DocumentExtension.GetAcadDocument(tAcadDoc), Interop.AcadDocument)

 

HTH, - alfred -

------------------------------------------------------------------------------------
Alfred NESWADBA
ISH-Solutions GmbH / Ingenieur Studio HOLLAUS
www.ish-solutions.at ... blog.ish-solutions.at ... LinkedIn ... CDay 2026
------------------------------------------------------------------------------------

(not an Autodesk consultant)
0 Likes
Message 7 of 11

stefan.hofer
Advocate
Advocate

Ty for your help, but i have a other problem now LOL Smiley Sad

 

EDIT:

OK, i updated my project to NETframework 4.0... seems to work now. Thank you very much!

0 Likes
Message 8 of 11

stefan.hofer
Advocate
Advocate

To get "ThisDrawing" i use

Return DocumentExtension.GetAcadDocument(Application.DocumentManager.MdiActiveDocument)

 now.

 

if someone have the same problem...

0 Likes
Message 9 of 11

Anonymous
Not applicable

Thanks Alfred,

 

DocumentExtension worked for me.

I have to make a code of my ex-colleague usable for AutoCAD 2015, so i don't have much experience with the code.

The problem is that  he declared tAcadDoc as editor.

If i use your code i wont get that error anymore (tAcadDoc --> doc1) (tAcadDocCOM --> ed) but it gives me extra errors after it.

 

Dim ed as ApplicationServices.Document

Dim doc1 as Interop.AcadDocument

 

ed = ApplicationServices.Application.DocumentManager.MdiActiveDocument

 

doc1 = CType(ApplicationServices.DocumentExtension.GetAcadDocument(ed), Interop.AcadDocument)

 

 

Old code:

  Dim doc1 As Autodesk.AutoCAD.Interop.AcadDocument = Application.DocumentManager.MdiActiveDocument.AcadDocument

            Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor

 

 

Because ed is now declared as ApplicationServices.Document, i can't use for example ed.WriteMessage because it's not declared as editor anymore:

 

ed.WriteMessage(vbCrLf & "Initializing - Loading User Preferences - ST-CadCommands." & vbCrLf)

 

 

I tried to declare ed as editor but then it says that it can't convert ApplicationServices.Application.DocumentManager.MdiActiveDocument to EditorIput.Editor

 

I have added accoremgd, acdbmgd, AcDx, Acmgd, AutoCAD, Interop, Interop.Common and AXDBLib to the references

 

Can you help me further?

 

Arjan

 

 

 

 

 

 

 

 

0 Likes
Message 10 of 11

stefan.hofer
Advocate
Advocate
Dim doc As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument
Dim db As Database = doc.Database
Dim ed As Editor = doc.Editor

 try this...

0 Likes
Message 11 of 11

Anonymous
Not applicable

Thank you very much:)

That totally worked for me!

 

0 Likes