VB.NET 获取 AutoCAD 中 Polyline2d 顶点数量
在 VB.NET 中,可以使用以下代码来显示 Polyline2d 类型的数据元素个数:
Dim acDoc As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument
Dim acCurDb As Database = acDoc.Database
Dim acEd As Editor = acDoc.Editor
Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()
Dim acBlkTbl As BlockTable = acTrans.GetObject(acCurDb.BlockTableId, OpenMode.ForRead)
Dim acBlkTblRec As BlockTableRecord = acTrans.GetObject(acBlkTbl(BlockTableRecord.ModelSpace), OpenMode.ForRead)
For Each acObjId As ObjectId In acBlkTblRec
Dim acEnt As Entity = acTrans.GetObject(acObjId, OpenMode.ForRead)
If TypeOf acEnt Is Polyline2d Then
Dim acPoly2d As Polyline2d = DirectCast(acEnt, Polyline2d)
acEd.WriteMessage('Polyline2d contains ' & acPoly2d.NumberOfVertices & ' vertices.')
End If
Next
acTrans.Commit()
End Using
这段代码首先获取当前活动文档的数据库和编辑器对象。然后通过事务来访问模型空间的块表记录。接着遍历块表记录中的每个实体,如果实体是 Polyline2d 类型,则将其转换成 Polyline2d 对象,并使用 NumberOfVertices 属性来获取顶点的个数,并使用编辑器对象的 WriteMessage 方法来显示顶点的个数。最后提交事务以结束操作。
原文地址: https://www.cveoy.top/t/topic/l1QD 著作权归作者所有。请勿转载和采集!