请问如何裁剪对象比如多义线?
如何裁剪对象? 自定义对象的裁剪要难一些,一般对象的裁剪,用acedcommand调用trim命令就可以做到了,效果也不错 用acedcommand调用trim就可以了,不过要获取对象,添加条件 谢谢 现在有个新问题,我想用矩形选择一个范围,然后把里面的实体在框外面的部分都裁掉,调用trim时,在什么地方设置裁剪条件,请教各位/ 谢谢 <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> 谢谢 <p>Acad::ErrorStatus TrimPolyline(AcDbPolyline *&pPline, AAcGePoint3d ptBefore, AcGePoint3d ptAfter)<br/>{<br/> AcGeDoubleArray params;<br/> AcDbVoidPtrArray polylineSegments;<br/> double dStartParam, dEndParam, dParam1, dParam2;<br/> <br/> pPline->getStartParam(dStartParam);<br/> pPline->getEndParam(dEndParam);<br/> if (pPline->getParamAtPoint(ptBefore, dParam1) == Acad::eOk &&<br/> pPline->getParamAtPoint(ptAfter, dParam2) == Acad::eOk) {<br/> if (dParam1 < dParam2) {<br/> params.append(dParam1);<br/> params.append(dParam2);<br/> } else {<br/> params.append(dParam2);<br/> params.append(dParam1);<br/> }<br/> if (pPline->getSplitCurves(params, polylineSegments) == Acad::eOk) {<br/> switch (polylineSegments.length()) {<br/> case 3:<br/> pPline = (AcDbPolyline*)polylineSegments.at(1);<br/> break;<br/> case 2:<br/> if (params.at(0) == dStartParam) {<br/> pPline = (AcDbPolyline*)polylineSegments.at(0);<br/> } else {<br/> pPline = (AcDbPolyline*)polylineSegments.at(1);<br/> }<br/> break;<br/> case 1:<br/> break;<br/> }<br/> return Acad::eOk;<br/> }<br/> }<br/> return Acad::eInvalidInput;<br/>}</p> dipenghao 发表于 2004-4-13 21:30 static/image/common/back.gif
现在有个新问题,我想用矩形选择一个范围,然后把里面的实体在框外面的部分都裁掉,调用trim时,在什么地方 ...
我也遇到一样的问题! 用.net 来实现矩形选择一个范围后,可以选择性的裁剪 裁里 或 裁外请MJ高手指点!
页:
[1]