0
点赞
收藏
分享

微信扫一扫

CAD打断曲线(com接口c#语言)


主要用到函数说明:

IMxDrawCurve::SplitCurves

打断曲线,详细说明如下:

参数

说明

[in] IMxDrawResbuf* aryParam

打断位置参数数组,或打断的点数组,是个MxDrawResbuf对象

[out] IMxDrawResbuf** aryNewId

返回打断后生成的新曲线id,是个MxDrawResbuf对象

c#代码实现如下:

​private void DoSplitCurves()​

​{​

​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​​​​;​

​}​

​MxDrawPoint getPt1 = (MxDrawPoint)(mxUtility.GetPoint(​​​​null​​​​, ​​​​"点取打断位置:"​​​​));        ​

​if​​​ ​​(getPt1 == ​​​​null​​​​)​

​{​

​MessageBox.Show(​​​​"用户取消.."​​​​);            ​

​return​​​​;​

​}​

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

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

​object objId;        ​

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

​{​

​MxDrawResbuf rbId = (MxDrawResbuf)objId;​

​MessageBox.Show(​​​​"打断成功,生成的曲线个数:"​​​ ​​+ rbId.Count);            ​

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

​ent.Erase();​

​}        ​

​else​

​{​

​MessageBox.Show(​​​​"打断失败"​​​​);​

​}​

​}​

举报

相关推荐

0 条评论