<CommandMethod("STPR-DrawCopyObject")>
Public Sub DrawCopyObject()
Dim strFileName As String = "p:\PROJECT_5-59-12Н\Сводный план.dwg"
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
'работа с текущим чертежем
Dim acDoc As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument
Dim CivilDoc As CivilDocument = Autodesk.Civil.ApplicationServices.CivilApplication.ActiveDocument()
Dim acCurDb As Database = acDoc.Database
Dim locker As Autodesk.AutoCAD.ApplicationServices.DocumentLock = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.LockDocument
Dim acObjIDs As ObjectIdCollection = New ObjectIdCollection()
Using acLckDocCur As DocumentLock = acDoc.LockDocument()
Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()
Dim acSourceBlockTable As BlockTable = acTrans.GetObject(acCurDb.BlockTableId, OpenMode.ForRead)
Dim acSourceModelSpace As BlockTableRecord = acTrans.GetObject(acSourceBlockTable(BlockTableRecord.ModelSpace), OpenMode.ForRead)
For Each acObjID As ObjectId In acSourceModelSpace
acObjIDs.Add(acObjID)
Next acObjID
End Using
End Using
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Using newDb As Database = New Database(False, True)
newDb.ReadDwgFile(strFileName, FileOpenMode.OpenForReadAndWriteNoShare, True, "")
newDb.CloseInput(True)
Dim newDbMsId As ObjectId = SymbolUtilityServices.GetBlockModelSpaceId(newDb)
Dim idMap As IdMapping = New IdMapping()
acCurDb.WblockCloneObjects(acObjIDs, newDbMsId, idMap, DuplicateRecordCloning.Replace, False)
newDb.SaveAs(strFileName, DwgVersion.Current)
End Using
End Sub