0
点赞
收藏
分享

微信扫一扫

CAD选择曲线,把曲线从中间1/4 到 3/ 4处断开(com接口c#语言)

霍华德 2022-07-27 阅读 61


​MxDrawUtility mxUtility = ​​​​new​​​ ​​MxDrawUtility();​

​object getPt;​

​MxDrawEntity ent = mxUtility.GetEntity(out getPt, ​​​​"选择打断的曲线:"​​​​);         ​

​if​​​ ​​(ent == ​​​​null​​​​)             ​

​return​​​​;​

​MxDrawCurve curve;         ​

​if​​​ ​​(ent is MxDrawCurve)​

​{​

​curve = (MxDrawCurve)ent;​

​}         ​

​else​

​{​

​MessageBox.Show(​​​​"实体类型不对"​​​​);             ​

​return​​​​;​

​}         ​

​double dLen = 0.0;​

​curve.GetDistAtParam(curve.GetEndParam(),out dLen);​

​object pt1;         ​

​if​​​ ​​(!curve.GetPointAtDist(dLen / 4.0, out pt1))             ​

​return​​​​;​

​object pt2;         ​

​if​​​ ​​(!curve.GetPointAtDist(dLen * 3.0 / 4.0, out pt2))             ​

​return​​​​;​

​MxDrawPoint breakPt1 = (MxDrawPoint)pt1;​

​MxDrawPoint breakPt2 = (MxDrawPoint)pt2;         ​

​if​​​ ​​(breakPt1 == ​​​​null​​​ ​​|| breakPt2 == ​​​​null​​​​)             ​

​return​​​​;​

​MxDrawResbuf param = ​​​​new​​​ ​​MxDrawResbuf();​

​param.AddPoint(breakPt1, -10);​

​param.AddPoint(breakPt2, -10);​

​object objIds;         ​

​if​​​ ​​(curve.SplitCurves(param, out objIds))​

​{​

​MxDrawResbuf rbId = (MxDrawResbuf)objIds;             ​

​if​​​​(rbId.Count == 3)​

​{​

​axMxDrawX1.Erase(rbId.AtLong(1));​

​}             ​

​// 把以前的删除掉。​

​ent.Erase();​

​}​

举报

相关推荐

0 条评论