「Acet-sys-shift-down」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
 
20行目: 20行目:
<pre class="brush:autolisp;">
<pre class="brush:autolisp;">


; 移動(SHIFTでコピーに)
(defun C:mx (/ ss p1 p2)
(defun C:mx (/ ss p1 p2)
; 水平移動(X座標方向に)
   (setq ss (ssget))
   (setq ss (ssget))
   (setq p1 (getpoint "\n基点 : "))
   (setq p1 (getpoint "\n基点 : "))
   (setq p2 (getpoint "\n移動先水平位置を指示(SHIFTキー押しながら = 垂直位置) : "))
   (setq p2 (getpoint p1 "\n移動先(SHIFTキー押しながら = コピー) : "))


   (if (acet-sys-shift-down)
   (if (acet-sys-shift-down)
     (command "_.Move" ss "" p1 ".x" p1 p2) ; shift-down
     (command "_.COPY" ss "" p1 p2)
     (command "_.Move" ss "" p1 ".x" p2 p1) ; not shift-down
     (command "_.Move" ss "" p1 p2)
   )
   )
(princ)
(princ)

2025年6月7日 (土) 12:01時点における最新版

構文
(acet-sys-shift-down)


機能
Shiftキーが押されたかどうかを確認する。


引数
  • なし


戻り値
Shiftキーが押された直後であれば T、そうでなければ nil を返す。


サンプル
; 移動(SHIFTでコピーに)
(defun C:mx (/ ss p1 p2)
  (setq ss (ssget))
  (setq p1 (getpoint "\n基点 : "))
  (setq p2 (getpoint p1 "\n移動先(SHIFTキー押しながら = コピー) : "))

  (if (acet-sys-shift-down)
    (command "_.COPY" ss "" p1 p2)
    (command "_.Move" ss "" p1 p2)
  )
(princ)
)


関連事項