使用C#语言,可以通过以下步骤在AUTOCAD中切割多段线:
Polyline polyline = selectionSet[0] as Polyline;
Point2d pt1 = new Point2d(5, 5); Point2d pt2 = new Point2d(15, 15);
Extents3d ext = new Extents3d(pt1, pt2); Rectangle3d rect = new Rectangle3d(ext);
PolylineCurve2dCollection curves = polyline.GetSplitCurves(new ObjectIdCollection(), rect);
foreach (PolylineCurve2d curve in curves) { Line line = new Line(curve.StartPoint, curve.EndPoint); line.ColorIndex = 1; line.LinetypeObjectId = lnId; line.LineWeight = LineWeight.LineWeight030;
btr.AppendEntity(line);
tr.AddNewlyCreatedDBObject(line, true);
}
完整代码示例如下:
using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Geometry; using Autodesk.AutoCAD.Runtime; using System;
namespace AutoCAD_Slice_Polyline { public class Commands { [CommandMethod("SlicePolyline")] public static void SlicePoly