几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(C++) (http://www.dimcax.com/hust/forumdisplay.php?f=34)
-   -   【转帖】关于裁剪 (http://www.dimcax.com/hust/showthread.php?t=7168)

yang686526 2009-04-16 08:43 PM

【转帖】关于裁剪
 
关于裁剪
关于裁剪
那位大哥知道, 把窗口中的图形按一个多边形边界去裁剪,保存多边形内的图形 ,这个怎么办,我想了好久都没有找到 ,我要用arx编程实现,能给个相关里的例子也好,谢谢。
你是打算用dbx吗?
这样的话在worlddraw或者viewportdraw的时候在mode->geometry()上加clip
acgiclipboundary cb;
cb.m_vnormal=acgevector3d::kzaxis;//这个是多边形平面的法线
cb.m_ptpoint=acgepoint3d::korigin;//这个是多边形的原点
cb.m_aptpoints.append(acgepoint2d(0,0));//这个是多边形的顶点,如果只有两个点,那就认为是一个长方形
cb.m_aptpoints.append(acgepoint2d(4000,4000));
cb.m_bdrawboundary=true;//是否划出边界,似乎没效果
cb.m_bclippingfront=0;//是否远裁
cb.m_bclippingback=0;//是否近裁
mode->geometry().pushclipboundary(&cb);
do something.....
mode->geometry().popclipboundary();//一定要pop,否则会崩溃
我的qq 172522850
在图纸空间里创建一个多边形视口就可以了.
以下是引用xysyr在


所有的时间均为北京时间。 现在的时间是 03:13 AM.