Vla-startundomark
- 構文
- (vla-startundomark vla-object)
- 機能
- 操作ブロックの先頭を指定する。
- 引数
- 選択セットの場合
-
- vla-object … Document の VLA オブジェクト
- 戻り値
- なし
- MEMO: このメソッドを呼び出してから vla-endundomark を呼び出すまでに実行された操作を、1 つの操作グループとして処理できるように、必要な環境設定を行う。
- サンプル
(vl-load-com)
(defun c:Example_StartUndoMark()
;; 線分の作成を1操作として扱うようにするサンプル
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
(setq modelSpace (vla-get-ModelSpace doc))
(setq stPnt (vlax-3d-point 1 2 0)
endPnt (vlax-3d-point 2 1 0))
;; 線分作成
(setq j 0)
(while (>= 3 j)
(vla-StartUndoMark doc)
(setq line (vla-AddLine modelSpace stPnt endPnt))
(vlax-safearray-put-element (vlax-variant-value stPnt) 0 (+ (vlax-safearray-get-element (vlax-variant-value stPnt) 0) 3))
(vlax-safearray-put-element (vlax-variant-value endPnt) 0 (+ (vlax-safearray-get-element (vlax-variant-value endPnt) 0) 3))
(setq j (1+ j))
(vla-EndUndoMark doc)
)
(vla-ZoomAll acadObj)
)
; vla 使えない環境では、以下が同様な処理
(command "_undo" "be")
(なんかの処理)
(command "_undo" "e")
関連事項