Message 1 of 3
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi
when I check in drawing for classified entity and total and length I don't get error but somtime Autocad crash
This is what I see in Autocad dumpdata
Clr Data:
at Autodesk.AutoCAD.DatabaseServices.Transaction.DeleteUnmanagedObject()
at Autodesk.AutoCAD.Runtime.DisposableWrapper.!DisposableWrapper()
at Autodesk.AutoCAD.Runtime.DisposableWrapper.Dispose(Boolean A_0)
GDI_Objects:1857 User_Objects:929 Process_Handles:1878]]>
Regards
Public Sub DisplayFeatures(ByVal sl_tegind)
Dim errorCode As Classification.FeatureClassErrorCode = Classification.FeatureClassErrorCode.OK
Try
Dim colIds As ObjectIdCollection = Nothing
Dim total As String
Dim PipelineLength As Double
Dim dbObj As DBObject
Dim ent As Entity = Nothing
Dim trans As Transaction = Nothing
Dim Classtype As String
Try
Dim acDoc As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument
Dim AcApp As Autodesk.AutoCAD.Interop.AcadApplication = DirectCast(Autodesk.AutoCAD.ApplicationServices.Application.AcadApplication, Autodesk.AutoCAD.Interop.AcadApplication)
Dim ThisDrawing As Autodesk.AutoCAD.Interop.AcadDocument = AcApp.ActiveDocument
Dim doc As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument
Dim dd As Editor = doc.Editor
Dim ed As Autodesk.AutoCAD.EditorInput.Editor = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor
Classtype = sl_tegind
colIds = m_ClassificationManager.GetClassifiedEntities(Classtype.ToString(), True)
total = colIds.Count.ToString
Catch e As System.Exception
' Utility.ShowMsg(vbNewLine & "No classified entity." & vbNewLine)
' AddElementToStringArray(tegund & "," & "0" & "," & "0")
Return
End Try
Dim colId As ObjectId
For Each colId In colIds
trans = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.TransactionManager.StartTransaction()
ent = trans.GetObject(colId, Autodesk.AutoCAD.DatabaseServices.OpenMode.ForRead)
dbObj = trans.GetObject(colId, OpenMode.ForWrite)
Dim l As Polyline = DirectCast(dbObj, Polyline)
PipelineLength = PipelineLength + l.Length.ToString
Next colId
AddElementToStringArray(Classtype & "," & total & "," & PipelineLength)
Utility.ShowMsg(vbNewLine & Classtype)
Utility.ShowMsg(vbNewLine & total)
Utility.ShowMsg(vbNewLine & PipelineLength)
trans.Commit()
trans.Dispose()
Catch err As MapFeatureClassException
errorCode = err.ErrorCode
Finally
End Try
If errorCode <> Classification.FeatureClassErrorCode.OK Then
Utility.ShowMsg(vbNewLine & "Display ClassifiedEntities failed. Error code: ")
Utility.ShowMsg(String.Concat(GetPrintErrorMessage(errorCode), vbNewLine))
Else
End If
End Sub
Solved! Go to Solution.