![]() |
【转帖】如何进入指定点所在的浮动视口
如何进入指定点所在的浮动视口
如何进入指定点所在的浮动视口 我想在图纸空间进入指定点所在的浮动视口,代码如下: // ----- drv._equivalence command (do not rename) static void drv_equivalence(void) { // add your code for command drv._equivalence here ads_name en; ads_point pt; ads_matrix xform; struct resbuf * rb=null; int rtvalue=acednentselp("请选择模板对象:\n",en,pt,false,xform,&rb); if (rtvalue!=rtnorm) { acdbdatabase *dbase=acdbhostapplicationservices()->workingdatabase(); if (!dbase->tilemode()) { acdbviewport* pvp=null; acaplayoutmanager * playoutmanager=null; struct resbuf rbold,rbnew; rbnew.restype=rtshort; rbnew.resval.rint=0; acedgetvar("osmode",&rbold); acedsetvar("osmode",&rbnew); rtvalue=acedgetpoint(null,"请选择模型空间对象上的点:\n",pt); acedsetvar("osmode",&rbold); if (rtvalue==rtnorm) { acgepoint3d pt3d=aspnt3d(pt); playoutmanager=(acaplayoutmanager*)acdbhostapplicationservices()->layoutmanager(); acdbobjectidarray ids; playoutmanager->pointinviewports(pt3d,ids); int i=-1,len; if (len=ids.length()) { rtvalue=null; do { if (++i>=len) return; acdbopenobject(pvp,ids,acdb::kforwrite); acad::errorstatus es=pvp->seton(); if(es!=acad::eok) afxmessagebox(_t("seton():")+(cstring)acaderrorstatustext(es)); //运行至下面一句出现问题错误返回值:es=eoutofrange es=acedsetcurrentvport(pvp); if(es==acad::eok) rtvalue=acednentselp(null,en,pt,true,xform,&rb); else acedalert(_t("acedsetcurrentvport():")+(cstring)acaderrorstatustext(es)); pvp->close(); } while (rtvalue!=rtnorm); } } } } if(rb) { acutrelrb(rb); rb=null; } else return; } 复制代码 调试运行至“es=acedsetcurrentvport”出现错误返回值es=eoutofrange,请问为什么? [ 本帖最后由 hi_tek 于 8-9-18 03:04 pm 编辑 ] 请高手给个实例!!! 站长教材里的那个viewport例子在vc++2编译后在autocad4里运行也得到eoutofrange的错误返回值,不知用vc++6.0编译后在autocad2里运行怎么样? 请哪位用autocad2试试? 用vc++6.0编译张帆站长教材里“第四章 4.5小节第二个命令‘createvportinspace’(第174页)”,执行这个命令后是否将新生成的视口置为当前(新视口高亮显示)? 我用vc++2编译后运行于autocad4上,函数acedsetcurrentvport()返回值为eoutofrange,没有把新视口置为当前,没进入到新视口中去,未达到程序设计目的。 经艰苦试验,证实要想acedsetcurrentvport()返回eok,必须已进入浮动视口的模型空间,也就是说:acedsetcurrentvport()仅能实现浮动视口之间的切换! [ 本帖最后由 hi_tek 于 8-9-28 02:02 pm 编辑 ] 这个坛子有人解决问题么 很多问题都是类似楼主自问自答 或者干脆不了了之 我放上的帖子约有一半都是自答式的,真是无奈! 也是锻炼能力的方法 不过这个论坛的交流作用似乎已经衰退了 偶尔会冒出一点作品展示和自问自答的文章 可惜啊 其实objectarx的书和其他编程书籍相比,少得可怜。 基本上入门无非是 软件下载 安装设置 文档 函数使用 那几本 教材里面的问题 [ 本帖最后由 catface 于 8-10-29 09:47 pm 编辑 ] |
| 所有的时间均为北京时间。 现在的时间是 02:00 AM. |