几何尺寸与公差论坛------致力于产品几何量公差标准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=7468)

yang686526 2009-04-17 10:02 PM

【转帖】如何获取块的坐标
 
如何获取块的坐标
如何获取块的坐标
我想,打印一个块,但是没有办法获取快的两个端点的坐标,使用一下代码的结果总是不正确?请问有没有好的办法。
acdbextents extents;
acad::errorstatus es =pblkref->getgeomextents(extents);
acgepoint3d min=extents.minpoint();
acgepoint3d max=extents.maxpoint();
请检查ucs与wcs是否一样,两者之间是否要转换。
getgeomextents返回的是wcs
谢谢!怎么转换?
谢谢!怎么转换?我是用下面的方法转化怎么还是不正确?
acad::errorstatus es =pblkref->getgeomextents(extents);
acgepoint3d min=extents.minpoint();
acgepoint3d max=extents.maxpoint();
acutprintf(_t("\nthe maxpoint=%0.4f,%0.4f"),extents.minpoint()[x],extents.minpoint()[y]);
acad::errorstatus es =pblkref->getgeomextents(extents);
acgepoint3d min=extents.minpoint();
acgepoint3d max=extents.maxpoint();
acutprintf(_t("\nthe maxpoint=%0.4f,%0.4f"),extents.minpoint()[x],extents.minpoint()[y]);
acgepoint3d newmin;
acgepoint3d newmax;
resbuf to,from;
from.restype=rtshort;//插入图块要进行用户坐标与世界坐标的转换
from.resval.rint=0;
to.restype=rtshort;
to.resval.rint=1;
acedtrans(&(min.x) ,&from,&to,adesk::ktrue,&(newmin.x) );
acedtrans(&(min.y) ,&from,&to,adesk::ktrue,&(newmin.y) );
acedtrans(&(max.x ),&from,&to,adesk::ktrue,&(newmax.x ));
acedtrans(&(max.y ),&from,&to,adesk::ktrue,&(newmax.y ));
minx=newmin.x;
miny=newmin.y;
maxx=newmax.x;
maxy=newmax.x;
请参考这个文章:


所有的时间均为北京时间。 现在的时间是 11:19 PM.