![]() |
【转帖】如何获取块的坐标
如何获取块的坐标
如何获取块的坐标 我想,打印一个块,但是没有办法获取快的两个端点的坐标,使用一下代码的结果总是不正确?请问有没有好的办法。 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. |