您可以使用以下代码在 AutoCAD 中选择多段线并显示其图层名称:\n\nvb\nSub SelectPolylinesAndDisplayLayerName()\n Dim doc As Autodesk.AutoCAD.ApplicationServices.Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument\n Dim ed As Autodesk.AutoCAD.EditorInput.Editor = doc.Editor\n\n ' 提示用户选择多段线\n Dim pso As New Autodesk.AutoCAD.EditorInput.PromptSelectionOptions()\n pso.MessageForAdding = "选择多段线:"\n\n ' 设置过滤器以仅选择多段线\n Dim filters() As Autodesk.AutoCAD.EditorInput.SelectionFilter = {New Autodesk.AutoCAD.EditorInput.SelectionFilter(New Autodesk.AutoCAD.EditorInput.TypedValue() {New Autodesk.AutoCAD.EditorInput.TypedValue(CInt(Autodesk.AutoCAD.Runtime.DxfCode.Start), "LWPOLYLINE")})}\n Dim res As Autodesk.AutoCAD.EditorInput.PromptSelectionResult = ed.GetSelection(pso, New Autodesk.AutoCAD.EditorInput.SelectionFilter(filters))\n\n If res.Status = Autodesk.AutoCAD.EditorInput.PromptStatus.OK Then\n Dim selSet As Autodesk.AutoCAD.EditorInput.SelectionSet = res.Value\n\n ' 显示图层名称\n For Each id As Autodesk.AutoCAD.DatabaseServices.ObjectId In selSet.GetObjectIds()\n Dim obj As Autodesk.AutoCAD.DatabaseServices.DBObject = id.GetObject(Autodesk.AutoCAD.DatabaseServices.OpenMode.ForRead)\n Dim pline As Autodesk.AutoCAD.DatabaseServices.Polyline = TryCast(obj, Autodesk.AutoCAD.DatabaseServices.Polyline)\n\n If pline IsNot Nothing Then\n ed.WriteMessage("多段线图层名称:" & pline.Layer & vbLf)\n End If\n Next\n End If\nEnd Sub\n\n\n您可以将此代码添加到您的 VB.NET 项目中,并在需要时调用SelectPolylinesAndDisplayLayerName方法。该代码将提示用户选择多段线,并显示所选多段线的图层名称。

VB.NET: 在 AutoCAD 中选择多段线并显示图层名称

原文地址: https://www.cveoy.top/t/topic/m1Fr 著作权归作者所有。请勿转载和采集!

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