Valued Contributor
Posts: 61
Registered: ‎10-25-2005
Message 1 of 1 (186 Views)

Create new layer

186 Views, 0 Replies
01-25-2006 06:21 AM

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()
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
myT.AddNewlyCreatedDBObject(layer, True)
layer.Description = "Layer 1"
Catch ex As Exception
MessageBox.Show("An error ocurred while trying to add a new layer")
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
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 or visit the Installation and Licensing Forum to get help installing your software.