• Industries
  • Products
  • Buy
  • Services & Support
  • Communities
  • Discussion Groups

    .NET

    Reply
    Active Contributor
    Posts: 48
    Registered: ‎05-16-2006

    Release AutoCAD object after reading object data using VB.NET

    194 Views, 0 Replies
    02-24-2008 11:00 PM
    I am developing an application to customize an AutoCAD using VB.NET. Earlier I develop such type of application using AutoCAD VBA but this time I use VB.NET to make a separate windows based application. Where there is a need to read the object data attached on the entity. I am successfully read the object’s object data from the AutoCAD entity but after that when I try to modify that object it displays an error message that “Object is open for read”. I think it is not releasing the object after initialization for read object data.

    Here is my code that I used to read the object data:

    Public Function acdGetObjectDataObjId(ByRef acdObject As AcadObject) As Long

    Dim AcadMap As AcadMap
    Dim ODfdfs As ODFieldDefs
    Dim ODrcs As ODRecords
    Dim boolVal As Boolean
    Dim acdActiveDocument As AcadDocument

    Try

    'Open AutoCAD application if not opened
    If acdApplication Is Nothing Then
    acdApplication = acdOpenAutoCADApplication()
    End If

    'Get the active document
    acdActiveDocument = acdApplication.ActiveDocument
    AcadMap = CType(acdActiveDocument.Application.GetInterfaceObject("AutocadMAP.Application.3"), AcadMap)

    'Get object data table
    ODfdfs = AcadMap.Projects.Item(0).MapUtil.NewODFieldDefs

    ODrcs = AcadMap.Projects.Item(acdActiveDocument).ODTables.Item("GISINW").GetODRecords

    boolVal = ODrcs.Init(acdObject, False, False)

    'Return green ObjectID

    acdGetObjectDataObjId = ODrcs.Record.Item("ID_GISINW").Value

    Catch ex As Exception

    'Return 0 if any error occured
    acdGetObjectDataObjId = 0
    Finally
    ODrcs = Nothing
    ODfdfs = Nothing
    AcadMap = Nothing
    End Try

    End Function

    Please guide me where I am doing wrong. I look forward to hear from you.

    Buddhi Prasad Koirala
    Software Engineer
    DHV Global Engineering Center BV
    Please use plain text.