PromptEntityResult per = ed.GetEntity("\n请选择");if (per.Status ==PromptStatus.OK)
{using (DocumentLock dlk =doc.LockDocument())
{using (Transaction trans =db.TransactionManager.StartTransaction())
{
Entity ent=(Entity)trans.GetObject(per.ObjectId, OpenMode.ForWrite);if (!(ent isRegion))return;
Region reg=(Region)ent;
Brep brep= newBrep(reg);
BrepEdgeCollection bec=brep.Edges;if (bec != null)
{foreach (Edge edge inbec)
{
Curve3d cv3d=edge.Curve;
ExternalCurve3d ecv3d=(ExternalCurve3d)cv3d;if(ecv3d.IsCircularArc)
{
CircularArc3d ca3d= ecv3d.NativeCurve asCircularArc3d;
ed.WriteMessage("\n弧");
}else if(ecv3d.IsLine)
{
ed.WriteMessage("\n线");
}else if(ecv3d.IsLineSegment)
{
LineSegment3d ls3d= ecv3d.NativeCurve asLineSegment3d;
ed.WriteMessage("\n线段");
}else if(ecv3d.IsNativeCurve)
{
ed.WriteMessage("\n原始曲线");
}else if(ecv3d.IsNurbCurve)
{
ed.WriteMessage("\n样条曲线");
}else{
ed.WriteMessage("\n" +ecv3d.ExternalCurveKind);
}
ed.WriteMessage("\n起点:" + cv3d.StartPoint.ToString() + "-终点:" +cv3d.EndPoint.ToString());
}
}
}
}
}