(defun c:lk ()
(setq osm (getvar “osmode”));OSMODE (システム変数)定常オブジェクト スナップの設定
(setvar “osmode” 0);オブジェクトスナップ解除
(setq sel (ssget))
(command-s “._lengthen” “DE” “100” sel “”)
)
このコードは、選択したオブジェクトの長さを 100 単位に延長するAutoCADのLISP関数です。
コードの各行の説明は以下の通りです。
- (defun c:lk ():
- この行は関数の宣言です。
- 関数の名前は「lk」で、コマンド名も「lk」になります。
- (setq osm (getvar “osmode”));OSMODE (システム変数)定常オブジェクト スナップの設定 (setvar “osmode” 0);オブジェクトスナップ解除
- この行は、オブジェクトスナップを解除します。
(setq osm (getvar "osmode"))
関数は、現在の OSMODE の値を変数「osm」に格納します。(setvar "osmode" 0)
関数は、OSMODE の値を 0 に設定します。- OSMODE の値が 0 の場合、オブジェクトスナップは無効になります。
- (setq sel (ssget))
- この行は、選択したオブジェクトのリストを変数「sel」に格納します。
(ssget)
関数は、選択したオブジェクトのリストを取得する関数です。
- (command-s “._lengthen” “DE” “100” sel “”)
- この行は、選択したオブジェクトの長さを 100 単位に延長します。
(command-s "._lengthen" ...)
関数は、オブジェクトの長さを変更するコマンド._lengthen
を実行します。"DE"
は、オブジェクトの端を延長するためのオプションです。"100"
は、延長する長さです。sel
は、変更するオブジェクトのリストです。
関数の実行方法:
- AutoCADのコマンドプロンプトで「lk」と入力して Enter キーを押します。
この関数を実行すると、選択したオブジェクトの長さが 100 単位に延長されます。
なお、この関数は、選択したオブジェクトの長さを 100 単位に延長するだけです。
他の長さに延長したい場合は、(command-s "._lengthen" "DE" "長さ" sel "")
のように、長さ
の部分を変更してください。
例えば、長さを 50 単位に延長したい場合は、以下のようになります。
(defun c:lk ()
(setq osm (getvar “osmode”));OSMODE (システム変数)定常オブジェクト スナップの設定 (setvar “osmode” 0);オブジェクトスナップ解除
(setq sel (ssget)) (command-s “._lengthen” “DE” “50” sel “”)
)
コメント