dipenghao 发表于 2004-4-3 20:50:00

请问如何裁剪对象比如多义线?

如何裁剪对象?

realcolor 发表于 2004-4-4 21:49:00

自定义对象的裁剪要难一些,一般对象的裁剪,用acedcommand调用trim命令就可以做到了,效果也不错

realcolor 发表于 2004-4-4 21:50:00

用acedcommand调用trim就可以了,不过要获取对象,添加条件

dipenghao 发表于 2004-4-10 21:14:00

谢谢

dipenghao 发表于 2004-4-13 21:30:00

现在有个新问题,我想用矩形选择一个范围,然后把里面的实体在框外面的部分都裁掉,调用trim时,在什么地方设置裁剪条件,请教各位/ 谢谢

ndian 发表于 2004-4-17 12:47:00

<TABLE width="95%" align=center border=0>
<TBODY>
<TR>
<TD height=56>
<DIV align=center><B><FONT color=#006666 size=4>怎样一次剪除多条线段?</FONT></B></DIV></TD></TR>
<TR>
<TD class=p2  >
<P style="LINE-HEIGHT: 17pt">  AutoCAD通常的选择方式是“window”和“crossing”。但是在用“trim”选择要剪切的图形时,这两种选择方式都是不起作用的。这样的话,当要剪切多条线段时,要选取多次才能完成,非常麻烦。这时可以使用“fence”选取方式。当“trim”命令提示选择要剪除的图形时,输入“f”,然后在屏幕上画出一条虚线,回车,这时被该虚线接触到的图形全部被剪切掉。下面就是要完成这一任务命令行提示的内容。

</TD></TR></TBODY></TABLE>

dipenghao 发表于 2004-5-6 19:51:00

谢谢

userofit 发表于 2010-5-26 05:03:00

<p>Acad::ErrorStatus TrimPolyline(AcDbPolyline *&amp;pPline, AAcGePoint3d ptBefore, AcGePoint3d ptAfter)<br/>{<br/>&nbsp;AcGeDoubleArray params;<br/>&nbsp;AcDbVoidPtrArray polylineSegments;<br/>&nbsp;double dStartParam, dEndParam, dParam1, dParam2;<br/>&nbsp;<br/>&nbsp;pPline-&gt;getStartParam(dStartParam);<br/>&nbsp;pPline-&gt;getEndParam(dEndParam);<br/>&nbsp;if (pPline-&gt;getParamAtPoint(ptBefore, dParam1) == Acad::eOk &amp;&amp;<br/>&nbsp;&nbsp;pPline-&gt;getParamAtPoint(ptAfter, dParam2) == Acad::eOk) {<br/>&nbsp;&nbsp;if (dParam1 &lt; dParam2) {<br/>&nbsp;&nbsp;&nbsp;params.append(dParam1);<br/>&nbsp;&nbsp;&nbsp;params.append(dParam2);<br/>&nbsp;&nbsp;} else {<br/>&nbsp;&nbsp;&nbsp;params.append(dParam2);<br/>&nbsp;&nbsp;&nbsp;params.append(dParam1);<br/>&nbsp;&nbsp;}<br/>&nbsp;&nbsp;if (pPline-&gt;getSplitCurves(params, polylineSegments) == Acad::eOk) {<br/>&nbsp;&nbsp;&nbsp;switch (polylineSegments.length()) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;case 3:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pPline = (AcDbPolyline*)polylineSegments.at(1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br/>&nbsp;&nbsp;&nbsp;&nbsp;case 2:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (params.at(0) == dStartParam) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pPline = (AcDbPolyline*)polylineSegments.at(0);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pPline = (AcDbPolyline*)polylineSegments.at(1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br/>&nbsp;&nbsp;&nbsp;&nbsp;case 1:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br/>&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;return Acad::eOk;<br/>&nbsp;&nbsp;}<br/>&nbsp;}<br/>&nbsp;return Acad::eInvalidInput;<br/>}</p>

銭奴 发表于 2011-10-12 11:25:38

dipenghao 发表于 2004-4-13 21:30 static/image/common/back.gif
现在有个新问题,我想用矩形选择一个范围,然后把里面的实体在框外面的部分都裁掉,调用trim时,在什么地方 ...

我也遇到一样的问题! 用.net 来实现矩形选择一个范围后,可以选择性的裁剪   裁里 或 裁外请MJ高手指点!
页: [1]
查看完整版本: 请问如何裁剪对象比如多义线?