查看单个帖子
旧 2009-04-17, 10:02 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】如何获取块的坐标

如何获取块的坐标
如何获取块的坐标
我想,打印一个块,但是没有办法获取快的两个端点的坐标,使用一下代码的结果总是不正确?请问有没有好的办法。
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;
请参考这个文章:
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)