osnap 関数は、AutoCAD のオブジェクト スナップ モードの 1 つを使用して、点を検出します。
この関数には、3D 点を表す 3 つの要素リストを渡します。2D 点を指定する場合は、Z 軸を値 0 (ゼロ)に設定します。スナップ モードは、文字列値を使用して指定します。カンマ区切り記号を使用して、複数のスナップ モードを指定できます。
次のコード例は、pt1 の近くのオブジェクトの中点を検出します。
(setq pt2 (osnap pt1 "_midp"))
次のコード例は、pt1 に最も近いオブジェクトの中点、端点、または中心点を検出します。
(setq pt2 (osnap pt1 "_midp,_endp,_center"))
どちらの例でも、osnap の条件に合うものが見つかった場合、pt2 にそのスナップ点が代入されます。複数のスナップ点が条件を満たす場合、点は AutoCAD のシステム変数 SORTENTS の設定に従って選択されます。条件に合う点が見つからなかった場合、pt2 は nil に設定されます。