Hi,
I'm developing an application to run inside AutoCAD 2006, so I'm using Object ARX 2006 and VB.NET. I've done the follwing code:
Public Function AddLayer()
Dim curdb As Database = Application.DocumentManager.MdiActiveDocument.Database
Dim tm As Autodesk.AutoCAD.DatabaseServices.TransactionManager = curdb.TransactionManager
Dim myT As Transaction = tm.StartTransaction()
Try
Dim lt As LayerTable = CType(tm.GetObject(curdb.LayerTableId, OpenMode.ForWrite), LayerTable)
Dim layer As New LayerTableRecord
With layer
.Name = "Layer created programmaticaly"
.IsOff = False
.IsFrozen = False
.IsLocked = False
.Color = Autodesk.AutoCAD.Colors.Color.FromRgb(255, 255, 255)
.LineWeight = LineWeight.ByLineWeightDefault
.IsPlottable = True
End With
lt.Add(layer)
myT.AddNewlyCreatedDBObject(layer, True)
layer.Description = "Layer 1"
myT.Commit()
Catch ex As Exception
myT.Abort()
MessageBox.Show("An error ocurred while trying to add a new layer")
Finally
myT.Dispose()
tm.Dispose()
curdb.Dispose()
End Try
End Function
All this code runs well. No errors catched and the especified layer is actually added to the drawing but, after this piece of code runs, I can't save the drawing. The following message appears when I try to save the drawing:
Document "Drawing1.dwg" has a command in progress.
Am I doing somthing wrong in my code? Does anything in my code hangs? Please help me on this.
Thanks in advance for your attention,
Filipe Marcelino