![]() |
【转帖】谁能帮我看看这段代码是什么意思?
谁能帮我看看这段代码是什么意思?
谁能帮我看看这段代码是什么意思? 这段代码对应了cad里的什么操作?始终弄不明白,尤其是那些函数里的参数.求哪位看出个所以然的谈谈自己的想法,感激不尽! void setvars(int cmd,int bpmd,int fdia, int cmddia) { struct resbuf *cmdres,*bpmdres,*fdiares, *cmddias; cmdres = ads_newrb(rtshort); bpmdres = ads_newrb(rtshort); fdiares = ads_newrb(rtshort); cmddias = ads_newrb(rtshort); cmdres ->resval.rint = cmd; bpmdres->resval.rint = bpmd; fdiares->resval.rint = fdia; cmddias->resval.rint = cmddia; ads_setvar("cmdecho",cmdres); ads_setvar("blipmode",bpmdres); ads_setvar("filedia",fdiares); ads_setvar("cmddia",cmddias); ads_relrb(cmdres); ads_relrb(bpmdres); ads_relrb(fdiares); ads_relrb(cmddias); } void postacadcommand(cstring thecmdline) { cwnd * pacad = (cwnd::fromhandle(adsw_acadmainwnd()))->gettopwindow( ); lparam lparam = 0x00190001; int len = thecmdline.getlength(); for(int i=0; i<len;i++) { pacad->postmessage( wm_char, wparam(thecmdline[i]), lparam); } return; } void cframedlg::onok() { cspath = "d:\\1.dwg"; setvars(0,0,0,1); ads_command(rtstr, "._tilemode", rtstr,"0", rtnone); ads_command(rtstr,"._pspace",rtnone); ads_command(rtstr,"._insert",rtstr,(lpctstr)cspath, rtstr, "0,0,0", rtreal,1.0,rtstr,"",rtstr,"",rtnone); ads_command(rtstr, "._zoom", rtstr,"_extents", rtnone); ads_printf("continue mview to insert model space viewports for output.\n"); setvars(1,0,1,1); postacadcommand("._mview "); } 以上一些函数都属于ads函数,在objectarx中不再用了,采用了新的函数名(新旧函数对照表见adsmigr.h) #define ads_newrb acutnewrb #define ads_relrb acutrelrb #define ads_setvar acedsetvar #define ads_command acedcommand #define ads_printf acutprintf 这几个函数的具体用法参见doc中acutnewrb、acutrelrb、acedsetvar、acedcommand、acutprintf、acutnewrb全局函数的用法。 |
| 所有的时间均为北京时间。 现在的时间是 02:23 AM. |