Vla-postcommand

提供:GizmoLabs - だいたい CAD LISP なサイト
2023年7月19日 (水) 07:02時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(Vla-postcommand vla-object command) ; AutoCAD
(Vla-postcommand command [ echo ]) ; BricsCAD


機能
ドキュメントがアイドル状態になったときに、コマンド文字列をポストしてドキュメントで実行する。


引数
  • vla-object … document のVLAオブジェクト
  • command … ポストするコマンド文字列。
  • echo … エコーフラグ。nil 以外の場合は式がコマンドラインにエコーされる。デフォルト nil。


戻り値
nil


  • 注意
コマンドを終了させるために、コマンド文字列の最後に スペースまたは ASCII のキャリッジ リターン制御文字(vbCr)を使用すること。これは、キーボードの[Enter]を押すのと同じ。
このメソッドにより、AutoLISP 式を含む AutoCAD のコマンド ライン機能が処理される。

ドキュメントがアクティブでない場合はアクティブにされる。コマンド文字列は、ドキュメントがフォーカスされると実行される。
このメソッドは非同期で実行される。コマンド文字列を同期的に実行する必要がある場合は、SendCommand メソッドを使用する必要がある。


サンプル
(vl-load-com)
(defun c:Example_PostCommand()
  ;; 現在の図面の AutoCAD コマンド プロンプトに評価用のコマンドを送信する例。
  (setq acadObj (vlax-get-acad-object))
  (setq doc (vla-get-ActiveDocument acadObj))

  ;; Start creating a Circle in the active drawing
  (vla-PostCommand doc "._circle 2,2,0 ")
   
  (alert "CIRCLE command has been started, enter a radius to finish the command.")
)


(defun c:Example_PostCommand2()
  ;; 開いたファイルに対して実行する
  (setq doc (vla-open (vla-get-documents (vlax-get-acad-object)) (strcat "c:\\blocks\\" "my_block.dwg")))
  (vla-postcommand doc (strcat "_.-view " "_top "))
  (vla-activate my_doc)
)


; bricscadの場合
(vla-postCommand "._circle 2,2,0 \n") 
(vla-postCommand "._circle 2,2,0 \n" T)


関連事項