zoukankan      html  css  js  c++  java
  • 发送命令

    p11, RT3DPOINT, p21 ,0); 

    if (cmdlist == NULL) { 

     

     

     

     

     

    acdbFail("Couldn't create list "); 

     

    return BAD; 

     

     

    acedCmd(cmdlist); 

     

    acutRelRb(cmdlist); 

     

    执行效果是一样的。

     

     

     

     

     

    其实还有其它方式来执行

    AutoCAD

    命令,下面介绍另外一种方

    法:

     

     

     3

     // 

    发送命令给

    AutoCAD 

    void YgxAcadUtil::SendCommandToCAD(CString cmd) 

     

     

     

     

    cmd.Format("%s", cmd); 

     

     

     

     

    COPYDATASTRUCT cmdMsg; 

     

     

     

     

    cmdMsg.dwData = (DWORD)1; 

     

     

     

     

    cmdMsg.cbData = (DWORD)_tcslen(cmd) + 1; 

     

     

     

     

    cmdMsg.lpData = cmd.GetBuffer(cmd.GetLength()+1)  

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    SendMessage(adsw_acadMainWnd(),WM_COPYDATA, 

    (WPARAM)adsw_acadMainWnd(), (LPARAM)&cmdMsg); 

     

    这是我写的一个函数,

    通过给

    AutoCAD

    发送消息,

    来执行一些命令。

    cmd

    这个字符串包含的内容和

    acedCommand

    中的内容差不多,比如

    像发送一个

    redraw

    命令,可以这样调用:

     

    SendCommandToCAD(_T("redraw ")); 

    注意后面要带一空格。

     

    zoom e

    命令可以这样:

     

    SendCommandToCAD(_T("zoom e "));

    zoom

    后面要有空格,

    后面

    也要有空格。

     

     

     

     

    这里还介绍一种发送命令的方法:

     

     

    acedPostCommand

    ,由于这个函数

    Autodesk

    没有公布,在使用

    之前,我们需要先申明一下:

     

    extern Adesk::Boolean acedPostCommand(const char* ); 

     

    然后,我们发送

    Cancel

    命令为例:

     

    acedPostCommand("CANCELCMD"); 

    ads_queueexpr( _T("(command"_POINT" "1,1,0")") );

    函数

    CAD

    未公开,

    使用时提前声明下就可以了。

    可以参考帮助文件中:

    Tips and Techniques 

     

    acDocManager->sendStringToExecute(curDoc(), 

    _T("_POINT 

    2,2,0 "));

    该函数在

    Arx

    帮助中有详细说明

  • 相关阅读:
    拖拽模块move2
    拖拽模块move1
    String类和StringBuilder
    你真的会二分查找吗
    C++中关于new及动态内存分配的思考
    【转】Github 上传代码
    HDU4801·二阶魔方
    POJ2676,HDU4069解决数独的两种实现:DFS、DLX
    读书笔记
    SpringBoot-------实现多数据源Demo
  • 原文地址:https://www.cnblogs.com/xzh1993/p/8017429.html
Copyright © 2011-2022 走看看