.NET

Reply
Active Member
pkirill
Posts: 9
Registered: ‎10-07-2008
Message 1 of 3 (536 Views)

Read Layers in Active Document from external VB.Net App??

536 Views, 2 Replies
07-22-2012 11:04 AM

I have an external drawing processor and one of the functions is to read the layers in an AutoCAd drawing and if the name matches freeze/thaw it. With modifications over the years I have had it working with 2002 through 2008. Now I'm getting errors. When I tru to use the Interop, I get "Call Rejected by Callee" errors, when I use the

ApplicationServices method to get the application and active document, I getI" Method 'GetEnumerator' in type 'Autodesk.AutoCAD.DatabaseServices.LayerTable' from assembly 'Acdbmgd, Version=18.2.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation." errors.

 

Basically for the interop method I use this code:

Imports Autodesk.AutoCAD.Interop
    Public Function GetAcadApp() As AcadApplication

        Dim progID As String = My.Settings.strAcadProgID
        Dim acApp As AcadApplication = Nothing
        Try
            acApp = DirectCast(Marshal.GetActiveObject(progID), AcadApplication)
        Catch ex As Exception
            Try
                Dim acType As Type = Type.GetTypeFromProgID(progID)
                acApp = DirectCast(Activator.CreateInstance(acType, True), AcadApplication)
            Catch ex2 As Exception
                MessageBox.Show("Cannot create object of type """ & progID & """")

            End Try
        End Try

        If acApp IsNot Nothing Then

        End If

        Return acApp
    End Function

GetAcadApp
acApp.Documents.Open("drawing path here", False)

for each layer in acApp.ActiveDocument.Layers
     If layer.Name Like "XYZ" then '''''HERE is where I get stopped by Call Rejected by Callee
               layer.Freeze = False
     end if
     acApp.ActiveDocument.Regen(Common.AcRegenType.acAllViewports)
Next layer

 As for the other method, I use the sample code provided in the Autodesk wiki modified to be used outside of AutoCAD (I can post it if necessary)...

 

I just can't figure out why I'm being rejected. Any help would be greatly appreciated!

 

Thanks!

*Expert Elite*
chiefbraincloud
Posts: 752
Registered: ‎02-13-2008
Message 2 of 3 (503 Views)

Re: Read Layers in Active Document from external VB.Net App??

07-24-2012 04:35 PM in reply to: pkirill

See This TTIF Post

Dave O.                                                                  Sig-Logos32.png
Valued Mentor
DiningPhilosopher
Posts: 370
Registered: ‎05-06-2012
Message 3 of 3 (469 Views)

Re: Read Layers in Active Document from external VB.Net App??

07-27-2012 11:35 AM in reply to: pkirill

It may be worth noting that the sample code from Kean's blog doesn't bother to revoke the IMessageFilter, so caveat emptor.

You are not logged in.

Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register

Announcements
Are you familiar with the Autodesk Expert Elites? The Expert Elite program is made up of customers that help other customers by sharing knowledge and exemplifying an engaging style of collaboration. To learn more, please visit our Expert Elite website.

Need installation help?

Start with some of our most frequented solutions to get help installing your software.

Ask the Community