public static Point3dCollection GetVertices(this Polyline3d pl)
{
Point3dCollection pts = new Point3dCollection();
using (Transaction tran=pl.Database.TransactionManager.StartTransaction())
{
foreach (ObjectId id in pl)
{
//不可直接用point3d类
PolylineVertex3d pt = (PolylineVertex3d)tran.GetObject(
id, OpenMode.ForRead);
pts.Add(pt.Position);
}
tran.Commit();
}
return pts;
}
AutoCAD.net在获取三维多段线顶点坐标时,不可用二维多段线中通过索引直接获取的方法获得!!!
转载: