Imports System.Net.Mime.MediaTypeNames
Imports System.Net.NetworkInformation
Imports System.Security.Cryptography
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.EditorInput
Imports Autodesk.AutoCAD.Geometry
Imports Autodesk.AutoCAD.Runtime
Imports Application = Autodesk.AutoCAD.ApplicationServices.Application
Public Class Class1
<CommandMethod("ReadDwgFileTest")>
Public Shared Sub ReadDwgFileTest()
Dim doc As Document = Application.DocumentManager.MdiActiveDocument
Using db As Database = New Database(False, True)
Try
Dim dwgFileFullPath As String = "D:\WangYao\AutoCAD\workspace\AcadDotNet\TestFiles\test_001.dwg"
db.ReadDwgFile(dwgFileFullPath, FileOpenMode.OpenForReadAndAllShare, False, "")
db.CloseInput(True)
Catch ex As System.Exception
doc.Editor.WriteMessage(vbLf & "Unable to read drawing file.")
Return
End Try
Using tr As Transaction = db.TransactionManager.StartTransaction()
Dim blkTbl As BlockTable = TryCast(tr.GetObject(db.BlockTableId, OpenMode.ForRead), BlockTable)
Dim modelSpace As BlockTableRecord = TryCast(tr.GetObject(blkTbl(BlockTableRecord.ModelSpace), OpenMode.ForRead), BlockTableRecord)
For Each oid As ObjectId In modelSpace
Dim dbobj As DBObject = tr.GetObject(oid, OpenMode.ForRead)
If TypeOf dbobj Is Entity Then
Dim entity As Entity = TryCast(dbobj, Entity)
doc.Editor.WriteMessage(vbLf & "Entity: {0}, {1}, {2}, {3}", entity.Id, entity.[GetType]().ToString(), entity.Layer, entity.Color.ToString())
End If
Next
End Using
End Using
End Sub
End Class
c#版 AutoCAD .Net 使用 Database.ReadDwgFile 读取dwg文件而不显示文档窗口-CSDN博客