「Vla-startundomark」の版間の差分
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-startundomark ''vla-object'') ; 機能 : 操作ブロックの先頭を指定する。 ; 引数 ;選択セットの場合 :* vla-object...」) |
(相違点なし)
|
2015年10月17日 (土) 21:35時点における最新版
- 構文
- (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")
関連事項