csuhkx 发表于 2006-7-30 12:39:00

关于裁剪

那位大哥知道, 把窗口中的图形按一个多边形边界去裁剪,保存多边形内的图形,这个怎么办,我想了好久都没有找到 ,我要用arx编程实现,能给个相关里的例子也好,谢谢。

shinjikun 发表于 2006-8-1 04:33:00

<P>你是打算用DBX吗?</P>
<P>这样的话在worldDraw或者viewportDraw的时候在mode-&gt;geometry()上加clip</P>
<P>&nbsp;AcGiClipBoundary cb;<BR>&nbsp;cb.m_vNormal=AcGeVector3d::kZAxis;//这个是多边形平面的法线<BR>&nbsp;cb.m_ptPoint=AcGePoint3d::kOrigin;//这个是多边形的原点<BR>&nbsp;cb.m_aptPoints.append(AcGePoint2d(0,0));//这个是多边形的顶点,如果只有两个点,那就认为是一个长方形<BR>&nbsp;cb.m_aptPoints.append(AcGePoint2d(4000,4000));</P>
<P><BR>&nbsp;cb.m_bDrawBoundary=true;//是否划出边界,似乎没效果<BR>&nbsp;cb.m_bClippingFront=0;//是否远裁<BR>&nbsp;cb.m_bClippingBack=0;//是否近裁<BR>&nbsp;mode-&gt;geometry().pushClipBoundary(&amp;cb);</P>
<P><BR>&nbsp; DO SOMETHING.....</P>
<P><BR>&nbsp;mode-&gt;geometry().popClipBoundary();//一定要POP,否则会崩溃</P>

xysyr 发表于 2006-8-4 09:25:00

在图纸空间里创建一个多边形视口就可以了.

shinjikun 发表于 2006-8-4 20:22:00

xysyr发表于2006-8-4 9:25:00static/image/common/back.gif在图纸空间里创建一个多边形视口就可以了.

<BR>同感,但是不如建一个块,然后XC,更简单了

wandouxian 发表于 2010-5-21 14:34:00

如果用vba怎么编
页: [1]
查看完整版本: 关于裁剪