ARX给CAD发送命令的五种方法
ads_queueexpr( _T("(command/"_POINT/" /"1,1,0/")") );该函数CAD未公开,使用时提前声明下就可以了。可以参考帮助文件中:Tips and Techniques 。 acDocManager->sendStringToExecute(curDoc(), _T("_POINT 2,2,0 "));该函数在Arx帮助中有详细说明。 acedCommand(RTSTR, _T("_POINT"), RTSTR,_T("5,5,0"), RTNONE); Windows API 方法 void SendCmdToAcad(ACHAR *cmd) { COPYDATASTRUCT cmdMsg; cmdMsg.dwData = (DWORD)1; cmdMsg.cbData = (DWORD)(_tcslen(cmd) + 1) * sizeof(ACHAR); cmdMsg.lpData = cmd; SendMessage(adsw_acadMainWnd(), WM_COPYDATA, NULL, (LPARAM)&cmdMsg); } Com 方法 void SendCommandTest(void) { IAcadApplicationPtr pApp = acedGetIDispatch(TRUE); IAcadDocumentPtr pDoc; pApp->get_ActiveDocument(&pDoc); pDoc->SendCommand( _T("_POINT 4,4,0 ") ); } |