単純なアニメーションを作成するCAD

機能の主な用途:


IMxDrawEntity ::回し


オブジェクトを回転させます。詳細は以下のとおりです。


パラメータ 説明

IMxDrawPoint *基点[中]

ベーシス・ポイントを回転させます

DOUBLE dRotationAngle [IN]

回転の角度


IMxDrawAnimation :: GetAnimationEntity2


オブジェクトは初期状態をアニメ化されていない場合は、アニメーションの一時的なオブジェクトを、その結果、NULLを返します。詳細は以下のとおりです。


パラメータ 説明

BSTR pszHandle [IN]

アニメーションオブジェクトハンドル


jsが定義を実装しました:


     InitDraw関数(){ 
        描画=のdocument.getElementById( "MxDrawXCtrl"); 
  draw.ImplementCommandEventFun DoCommandEventFunc =関数(ICMD){ 
        IF(ICMD == 1){ 
             オープンファイル//スタート
             draw.OpenDwgFile(draw.GetOcxAppPath()+ "\\ \\ animation.dwg BLK"); 
             VAR = draw.NewComObjectアニメーション( "IMxDrawAnimation"); 
                 //アニメーションオブジェクトの初期状態
                 animation.InitAnimationEntity2( "211"); 
      animation.InitAnimationEntity2( "212")。
      animation.InitAnimationEntity2(「213」); 
                 //アニメーションを実現するための制御クロックイベントを開始します。
      draw.CallLongParam1( "Mx_StartUserTimer"、30); 
             }
         =関数CustomEvent draw.ImplementCustomEvent(sEventName){ 
IF(sEventNameが== "Mx_UserTimer")
    { 
       VAR = draw.NewComObjectアニメーション( "IMxDrawAnimation"); 
       //アニメーション描画処理開始
                 animation.StartDrawを(); 
                 // 211 212 213ハンドルエンティティを回転させる必要がある。
                 RotateEnt( "211"、アニメーション); 
                 RotateEnt( "212"、アニメーション); 
                 RotateEnt( "213"、アニメーション); 
                 //終了アニメータープロセス
                 animation.EndDraw(); 
                 //は注意が必要世代は放出送達デバイスを示す、またはエラーが発生します。
       アニメーション= NULL; 
       CollectGarbage(); 
   } 
         ;}    
     }


RotateEnt機能(handls、アニメーション)
      { 
          //オブジェクトが初期状態をアニメ化されていない場合は、アニメーションの一時的なオブジェクトを取得するには、NULLを返します。
          VARのanimation.GetAnimationEntity2 = ENT(handls); 
          !IF(ENT = NULL &&(== ent.ObjectName "McDbBlockReference"))
          { 
              VAR blkRef = ENT、
              オブジェクトの//回転、回転、ジメチル回転角の点のパラメータ
              blkRef.Rotate(blkRef.Position、-30 * 3.14159265 / 180.0); 
              //アニメーションこの関数は唯一StartDraw前に呼び出すことができるオブジェクト、EndDraw 
              animation.Draw2(handls); 
          } 
      }

おすすめ

転載: www.cnblogs.com/yzy0224/p/10955359.html