・ OSNAPによる影響を避ける

ユーザー関数の中で、(command)による作図や、(getpoint) によって、ポイントを指示させた場合、OSNAP(オブジェクトスナップ)による影響を受けてしまい、意図しない結果が返ってくる場合があります。

これを避けるためには、座標を (command) に渡す際に none を挿入して、OSNAPを無効にする必要があります。
ちなみに none の代わりに、 non でも OK だそうです。

例: (command "LINE" "none" (list 0 0 0) "none" (list 10 10 0) "")

ところで、座標を渡す場合にいちいち、none をつけるのは面倒だし、忘れてしまう可能性も大きい場合には、システム変数を書き換えて、OSNAP をすべて解除してしまい、プログラム終了時に、元に戻すのが良いでしょう。

(defun sample ()
  (setq osm_def (getvar "OSMODE")) ; 現在のOSMODEを退避
  (setvar "OSMODE" 0) ; OSNAP をすべて解除
  (setq pt1 (getpoint "\n1点目指示:"))
  (setq pt2 (getpoint pt1 "\n1点目指示:"))
  (command "LINE" pt1 pt2 "")
  (setvar "OSMODE" osm_def) ; OSMODE を元に戻す
  )