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("打断失败"); } } |
浙公网安备 33010602011771号