Message 1 of 4
Bind drawings
Not applicable
04-23-2009
07:44 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Im having some trouble binding some drawings. Im pretty sure I have the transaction working correctly but I keep getting an eLockViolation error when I try and bind the drawings - any help super appreciated.
my code:
{code}
Dim ThisDrawing As Document = Application.DocumentManager.MdiActiveDocument
Dim DocDB As Database = ThisDrawing.Database
Dim Trans As Transaction = DocDB.TransactionManager.StartTransaction
'get bt as transaction
Dim DocBT As BlockTable = Trans.GetObject(DocDB.BlockTableId, OpenMode.ForRead)
'enumerat the BTRs
Dim DocBTR As SymbolTableEnumerator
DocBTR = DocBT.GetEnumerator
Dim ObjIDColl As New ObjectIdCollection
While DocBTR.MoveNext = True
Dim record = DocBTR.Current.GetObject(OpenMode.ForRead)
Dim FinRecord As BlockTableRecord = CType(record, BlockTableRecord)
If FinRecord.IsFromExternalReference And FinRecord.IsResolved Then
ObjIDColl.Add(FinRecord.Id)
End If
End While
Trans.Commit()
Trans.Dispose()
DocDB.BindXrefs(ObjIDColl, True)
{code}
my code:
{code}
Dim ThisDrawing As Document = Application.DocumentManager.MdiActiveDocument
Dim DocDB As Database = ThisDrawing.Database
Dim Trans As Transaction = DocDB.TransactionManager.StartTransaction
'get bt as transaction
Dim DocBT As BlockTable = Trans.GetObject(DocDB.BlockTableId, OpenMode.ForRead)
'enumerat the BTRs
Dim DocBTR As SymbolTableEnumerator
DocBTR = DocBT.GetEnumerator
Dim ObjIDColl As New ObjectIdCollection
While DocBTR.MoveNext = True
Dim record = DocBTR.Current.GetObject(OpenMode.ForRead)
Dim FinRecord As BlockTableRecord = CType(record, BlockTableRecord)
If FinRecord.IsFromExternalReference And FinRecord.IsResolved Then
ObjIDColl.Add(FinRecord.Id)
End If
End While
Trans.Commit()
Trans.Dispose()
DocDB.BindXrefs(ObjIDColl, True)
{code}