VB.NET 获取 AutoCAD 多段线图层名称
在 AutoCAD 中,可以使用以下代码实现选定多段线并显示其图层名称:
Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Public Class MyCommands
<CommandMethod("ShowLayerName")>
Public Sub ShowLayerName()
Dim doc As Document = Application.DocumentManager.MdiActiveDocument
Dim db As Database = doc.Database
Dim ed As Editor = doc.Editor
' 提示用户选择多段线
Dim peo As New PromptEntityOptions('选择多段线:')
peo.SetRejectMessage('请选择多段线!')
peo.AddAllowedClass(GetType(Polyline), True)
Dim per As PromptEntityResult = ed.GetEntity(peo)
If per.Status <> PromptStatus.OK Then
Return
End If
Using tr As Transaction = db.TransactionManager.StartTransaction()
Dim obj As DBObject = tr.GetObject(per.ObjectId, OpenMode.ForRead)
Dim pline As Polyline = TryCast(obj, Polyline)
If pline IsNot Nothing Then
' 获取多段线的图层名称
Dim layerName As String = pline.Layer
ed.WriteMessage('多段线所在图层名称为:' & layerName)
End If
tr.Commit()
End Using
End Sub
End Class
在 AutoCAD 中,使用 NETLOAD 命令加载 VB.NET 编译后的 DLL 文件,然后输入 ShowLayerName 命令,按照提示选择多段线即可显示其所在图层名称。
原文地址: https://www.cveoy.top/t/topic/m1DO 著作权归作者所有。请勿转载和采集!