Acet-set-cmdecho

提供:GizmoLabs - だいたい CAD LISP なサイト
2025年8月5日 (火) 06:02時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「 {{AutoLISP}} ; 構文 : (acet-set-cmdecho ''new-value'' ) ; 機能 : CADのシステム変数 CMDECHO の値を設定する。 : (setvar "cmdecho" n) と似ているが、直前の cmdecho値を返す点が異なり、値の「取得」と「設定」が一行で完結するため、コードがよりシンプルで読みやすくなる。 ; 引数 :* new-value : CMDECHO に設定したい新しい整数値。0(非表示)または 1(表示)です。 ;…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(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)
)


関連事項