在 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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录