zoukankan      html  css  js  c++  java
  • ObjectARX延时动画之定时器简单示意

    使用定时器可以延时操控cad,不影响视图操作。如果你在定时器运行期间使用命令,可能会导致定时器生成的实体无法刷新,变为当前不可见实体。

    示例代码

    //声明静态全局变量
    static int nPrintNumber=0;
    void CALLBACK MyCopyFunc(HWND hwnd,UINT uMsg,UINT idEvent,DWORD dwTime);//回调函数声明
    
    void CALLBACK MyCopyFunc(HWND hwnd,UINT uMsg,UINT idEvent,DWORD dwTime)//回调函数实现
    {
        if(nPrintNumber > 60)
        {
            //销毁定时器
            KillTimer(acedGetAcadFrame()->m_hWnd,1);
        }
        else
        {
            //acutPrintf(_T("
    %d"),nPrintNumber++);
            nPrintNumber++;
            AcDbObjectPointer<AcDbCircle> pCir;
            Acad::ErrorStatus es= pCir.create();
            if (Acad::eOk != es)
            {
                return;
            }
            pCir->setCenter(AcGePoint3d(nPrintNumber*100,0,0));
            pCir->setRadius(150.0);
            pCir->setColorIndex(1);
            AcApDocument *pDoc=curDoc();
            acDocManager->lockDocument(pDoc);
            AcDbBlockTableRecordPointer pBlkRcd(pDoc->database()->currentSpaceId(),AcDb::kForWrite);
            es = pBlkRcd.openStatus();
            if (Acad::eOk != es)
            {
                acutPrintf(_T("
    错误码= %s"),acadErrorStatusText(es));
                return;
            }
            es = pBlkRcd->appendAcDbEntity(pCir);
            if (Acad::eOk != es)
            {
                acutPrintf(_T("
    append错误码= %s"),acadErrorStatusText(es));
                return;
            }
            es = pCir->draw();
            if (Acad::eOk != es)
            {
                acutPrintf(_T("
    draw错误码= %s"),acadErrorStatusText(es));
                return;
            }
            acedUpdateDisplay();
            acDocManager->unlockDocument(pDoc);
        }
    }
    
    //启动定时器
    void StartTimer()
    {
        nPrintNumber=0;
        SetTimer(acedGetAcadFrame()->m_hWnd,1, 100, (TIMERPROC)MyCopyFunc);
    }

    调用 StartTimer 即可。

  • 相关阅读:
    Python的浅拷贝与深拷贝
    Python:正则表达式的一些例子
    Python的垃圾回收机制
    http和https的区别与联系
    python数据结构之动态数组
    Python:fromkeys()方法
    Python:zip()函数
    算法概念
    Python面向对象:获取对象信息
    Dubbo Configuration
  • 原文地址:https://www.cnblogs.com/edata/p/14155191.html
Copyright © 2011-2022 走看看