「Vla-postcommand」の版間の差分
(ページの作成:「{{AutoLISP}} ; 構文 : (Vla-postcommand''vla-object'' ''commandlist'') ; 機能 : ドキュメントがアイドル状態になったときに、コマンド文字列…」) |
編集の要約なし |
||
(同じ利用者による、間の2版が非表示) | |||
1行目: | 1行目: | ||
{{AutoLISP}} | {{AutoLISP}} | ||
; 構文 | ; 構文 | ||
: (Vla-postcommand''vla-object'' '' | : (Vla-postcommand ''vla-object'' ''command'') ; AutoCAD | ||
: (Vla-postcommand ''command'' [ ''echo'' ]) ; BricsCAD | |||
9行目: | 10行目: | ||
; 引数 | ; 引数 | ||
:* vla-object … | :* vla-object … document のVLAオブジェクト | ||
:* command … ポストするコマンド文字列。 | |||
:* echo … エコーフラグ。nil 以外の場合は式がコマンドラインにエコーされる。デフォルト nil。 | |||
; 戻り値 | ; 戻り値 | ||
: | : nil | ||
* 注意 | |||
コマンドを終了させるために、コマンド文字列の最後に スペースまたは ASCII のキャリッジ リターン制御文字(vbCr)を使用すること。これは、キーボードの[Enter]を押すのと同じ。 | |||
このメソッドにより、AutoLISP 式を含む AutoCAD のコマンド ライン機能が処理される。 | |||
ドキュメントがアクティブでない場合はアクティブにされる。コマンド文字列は、ドキュメントがフォーカスされると実行される。 | |||
このメソッドは非同期で実行される。コマンド文字列を同期的に実行する必要がある場合は、SendCommand メソッドを使用する必要がある。 | |||
37行目: | 48行目: | ||
(vla-activate my_doc) | (vla-activate my_doc) | ||
) | ) | ||
; bricscadの場合 | |||
(vla-postCommand "._circle 2,2,0 \n") | |||
(vla-postCommand "._circle 2,2,0 \n" T) | |||
</pre> | </pre> |
2023年7月19日 (水) 07:02時点における最新版
- 構文
- (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)
関連事項