Acet-set-cmdecho

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(acet-set-cmdecho new-value )


機能
CADのシステム変数 CMDECHO の値を設定する。
(setvar "cmdecho" n) と似ているが、直前の cmdecho値を返す点が異なり、値の「取得」と「設定」が一行で完結するため、コードがよりシンプルで読みやすくなる。


引数
  • new-value : CMDECHO に設定したい新しい整数値。0(非表示)または 1(表示)です。


戻り値
この関数を呼び出す直前の CMDECHO の値(整数)を返す。


サンプル
(defun c:DemoCmdechoControl ()
  (let ((old-cmdecho)) ; 変更前のCMDECHOの値を保存するローカル変数を定義

    (princ "\nコマンドエコーを一時的にオフにして、円と線分を作成します。")

    (setq old-cmdecho (acet-set-cmdecho 0)) ; ★現在の値を変数に保存しつつ、CMDECHOを0に設定

    ;; --- ここから下のコマンドはコマンドラインに表示されない ---
    (command "._circle" "50,50,0" "10")
    (command "._line" "40,50,0" "60,50,0" "")
    (princ "\n処理が完了しました。")
    ;; ----------------------------------------------------

    (acet-set-cmdecho old-cmdecho) ; ★保存しておいた元の値に戻す

    (princ "\nCMDECHOの設定を元に戻しました。")
    (princ)
  )
)

;; acet-set-cmdecho を使わない場合
(let ((old-cmdecho))
  (setq old-cmdecho (getvar "CMDECHO")) ; 1. まず現在の値を取得
  (setvar "CMDECHO" 0)                  ; 2. 新しい値を設定

  (command "._circle" "50,50,0" "10")

  (setvar "CMDECHO" old-cmdecho)        ; 3. 保存した値に戻す
  (princ)
)


関連事項