「Vla-endundomark」の版間の差分
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-startundomark ''vla-object'') ; 機能 : 操作ブロック終了を示すマークを付ける。 ; 引数 ;選択セットの場合 :*...」) |
細編集の要約なし |
||
| 1行目: | 1行目: | ||
{{AutoLISP}} | {{AutoLISP}} | ||
; 構文 | ; 構文 | ||
: (vla- | : (vla-endundomark ''vla-object'') | ||
2015年10月17日 (土) 21:37時点における最新版
- 構文
- (vla-endundomark vla-object)
- 機能
- 操作ブロック終了を示すマークを付ける。
- 引数
- 選択セットの場合
-
- vla-object … Document の VLA オブジェクト
- 戻り値
- なし
- MEMO: このメソッドは、CAD に操作環境を閉じさせる。StartUndoMark から EndUndoMark までの操作は、操作のグループとして処理される。
- サンプル
(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")
関連事項