lisp点转为vla_一种将Region转为Polyline的方法

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());

}

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值