ブロックからオブジェクトを除去するLISP

  • URLをコピーしました!

(defun c:IR ()

 (command-s “._REFEDIT” “” “”)

(setq sel (ssget)) 

(command-s “._REFSET” “R” sel “”)

(command-s “._REFCLOSE” “”)

)

このコードは、参照オブジェクトの表示/非表示を切り替えるAutoCADのLISP関数です。

コードの各行の説明は以下の通りです。

  • (defun c:IR ( ):
    • この行は関数の宣言です。
    • 関数の名前は「IR」で、コマンド名も「IR」になります。
  • (command-s “._REFEDIT” “” “”):
    • この行は、参照オブジェクトの編集モードを開始します。
    • (command-s "._REFEDIT" ...) 関数は、参照オブジェクトの編集モードを開始するコマンド ._REFEDIT を実行します。
  • (setq sel (ssget)):
    • この行は、選択したオブジェクトのリストを変数「sel」に格納します。
    • (ssget) 関数は、選択したオブジェクトのリストを取得する関数です。
  • (command-s “._REFSET” “R” sel “”):
    • この行は、選択したオブジェクトを参照オブジェクトに設定します。
    • (command-s "._REFSET" ...) 関数は、参照オブジェクトを設定するためのコマンド ._REFSET を実行します。
    • "R" は、オブジェクトを参照オブジェクトに設定するためのオプションです。
  • (command-s “._REFCLOSE” “”):
    • この行は、参照オブジェクトの編集モードを終了します。
    • (command-s "._REFCLOSE" "") 関数は、参照オブジェクトの編集モードを終了するコマンド ._REFCLOSE を実行します。

関数の実行方法:

  1. AutoCADのコマンドプロンプトで「IR」と入力して Enter キーを押します。
  2. 参照オブジェクトを変更したいオブジェクトを選択します。
  3. Enter キーを押すと、選択したオブジェクトが参照オブジェクトに設定されます。

具体的な説明は、以下のとおりです。

  • (defun c:IR ( ):
    • この行は、関数の宣言です。
    • 関数名は「IR」で、コマンド名も「IR」になります。
    • 関数名は、AutoCADのコマンドプロンプトで入力する名前です。
    • コマンド名は、関数名と同じ名前にする必要があります。
  • (command-s “._REFEDIT” “” “”):
    • この行は、参照オブジェクトの編集モードを開始します。
    • (command-s "._REFEDIT" ...) 関数は、参照オブジェクトの編集モードを開始するコマンド ._REFEDIT を実行します。
    • この行を実行しないと、参照オブジェクトを設定しても、その表示/非表示は変更されません。
  • (setq sel (ssget)):
    • この行は、選択したオブジェクトのリストを変数「sel」に格納します。
    • (ssget) 関数は、選択したオブジェクトのリストを取得する関数です。
    • 選択したオブジェクトのリストは、オブジェクトのタイプや、オブジェクトの属性などによって異なります。
  • (command-s “._REFSET” “R” sel “”):
    • この行は、選択したオブジェクトを参照オブジェクトに設定します。
    • (command-s "._REFSET" ...) 関数は、参照オブジェクトを設定するためのコマンド ._REFSET を実行します。
    • "R" は、オブジェクトを参照オブジェクトに設定するためのオプションです。
  • (command-s “._REFCLOSE” “”):
    • この行は、参照オブジェクトの編集モードを終了します。
    • (command-s "._REFCLOSE" "") 関数は、参照オブジェクトの編集モードを終了するコマンド ._REFCLOSE を実行します。

この関数を実行すると、選択したオブジェクトが参照オブジェクトに設定されます。

参照オブジェクトに設定されたオブジェクトは、通常のオブジェクトとは異なり、表示/非表示を切り替えることができます。

参照オブジェクトを表示するには、コマンドプロンプトで「REFSHOW」と入力して Enter キーを押します。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

Contents