(defun c:R1 ()
(setq sel (ssget))
(setq Pt1 (getpoint “\n始点:”))
(setq Pt2 (getpoint “\n終点:”))
(command “._ROTATE” sel “” Pt1 “R” Pt1 Pt2 pause “” )
)
このコードは、選択したオブジェクトを、指定した始点と終点を通る軸を中心に、任意の角度で回転させるAutoCADのLISP関数です。
コードの各行の説明は以下の通りです。
- (defun c:R1 ():
- この行は関数の宣言です。
- 関数の名前は「R1」で、コマンド名も「R1」になります。
- (setq sel (ssget)):
- この行は、選択したオブジェクトのリストを変数「sel」に格納します。
(ssget)
関数は、選択したオブジェクトのリストを取得する関数です。
- (setq Pt1 (getpoint “\n始点:”)):
- この行は、始点座標を取得し、変数「Pt1」に格納します。
(getpoint "\n始点:")
関数は、ユーザーに始点座標を入力させます。
- (setq Pt2 (getpoint “\n終点:”)):
- この行は、終点座標を取得し、変数「Pt2」に格納します。
(getpoint "\n終点:")
関数は、ユーザーに終点座標を入力させます。
- (command “._ROTATE” sel “” Pt1 “R” Pt1 Pt2 pause “” ):
- この行は、選択したオブジェクトを、指定した始点と終点を通る軸を中心に、任意の角度で回転させます。
(command "._ROTATE" ...)
関数は、オブジェクトの回転を行うコマンド._ROTATE
を実行します。sel
は、回転するオブジェクトのリストです。""
は、回転するオブジェクトの基点の座標です。"R"
は、オブジェクトを回転させるためのオプションです。Pt1
は、始点座標です。Pt2
は、終点座標です。pause
は、コマンドプロンプトを一時停止させます。""
は、コマンドプロンプトの表示です。
関数の実行方法:
- AutoCADのコマンドプロンプトで「R1」と入力して Enter キーを押します。
- 回転するオブジェクトを選択します。
- 始点座標を入力します。
- 終点座標を入力します。
- 角度を入力します。
- Enter キーを押します。
具体的な説明は、以下のとおりです。
- (defun c:R1 ():
- この行は、関数の宣言です。
- 関数名は「R1」で、コマンド名も「R1」になります。
- 関数名は、AutoCADのコマンドプロンプトで入力する名前です。
- コマンド名は、関数名と同じ名前にする必要があります。
- (setq sel (ssget)):
- この行は、選択したオブジェクトのリストを変数「sel」に格納します。
(ssget)
関数は、選択したオブジェクトのリストを取得する関数です。- 選択したオブジェクトのリストは、オブジェクトのタイプや、オブジェクトの属性などによって異なります。
- (setq Pt1 (getpoint “\n始点:”)):
- この行は、始点座標を取得し、変数「Pt1」に格納します。
(getpoint "\n始点:")
関数は、ユーザーに始点座標を入力させます。- ユーザーは、X,Y座標を入力するか、または、オブジェクトをクリックして座標を指定することができます。
- (setq Pt2 (getpoint “\n終点:”)):
- この行は、終点座標を取得し、変数「Pt2」に格納します。
(getpoint "\n終点:")
関数は、ユーザーに終点座標を入力させます
コメント