「Vla-endundomark」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-startundomark ''vla-object'') ; 機能 : 操作ブロック終了を示すマークを付ける。 ; 引数 ;選択セットの場合 :*...」)
 
編集の要約なし
 
1行目: 1行目:
{{AutoLISP}}
{{AutoLISP}}
; 構文
; 構文
: (vla-startundomark ''vla-object'')
: (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") 


関連事項