この掲示板は AutoCADマクロ屋本舗 の掲示板です。

【 注意 】最初に必ず ↓↓ 下記内容 ↓↓ を参照ください。
① マクロが分からない方は、まず 【 マクロ講座 】 を参照ください。
② 質問の前に 【 マクロ使用前の注意事項 】 をお読みください。
③ 質問する時は、新規投稿フォーム下の【 新規投稿時のお願い 】を必ずお読みください。

sdi 1について
sdiを1にするとデータ毎にautocadが開きますが、autocadを立ち上げてない状態でデータを開くとautocadが2つ立ち上がってしまいます。
既に立ち上がっている状態でデータを開くと、開くデータの数だけautocadが立ち上がっていくのですが、立ち上げてない時に2つ立ち上がってしまうのをなんとかしたいです。

立ち上がってない時にデータを開くと2つの内1番目に立ち上がったautocadは閉じる、既に立ち上がっている場合に開いた時は何もしないといったことをマクロまたはlispでできないでしょうか?

  • ken
  • 2024/09/20 (Fri) 23:27:22
Re: sdi 1について
何もファイルを開いていない時点ではマクロもlispも利用できません。
マクロもlispも、今開いて、編集中(アクティブ)な図面ファイルに何かするものであって、
編集中以外(裏で開いている)ファイルやCADウインドウに対して何か出来る訳ではありません。

(今、編集中のファイルを閉じることは出来るので、その影響で結果的にCADウインドウに影響を与える事は例外です)
(システム変数を変更することで、結果的にCADウインドウに影響を与える事は例外です)

  • 通りすがりの人
  • 2024/09/21 (Sat) 08:34:51
Re: Re: sdi 1について
ありがとうございます。
やはり難しそうですね。
最初開かれる時ファイル名がDrawing1になるので、開いた直後にファイル名を自動取得させてDrawing1だった場合、閉じるとか言う風にするしか無いですかね?
開かれた時ファイル名は決まってDrawing1なので、ファイル名を使用した方法は他にもありますでしょうか?
  • ken
  • 2024/09/21 (Sat) 09:01:39
Re: sdi 1について
Drawing1を閉じても、ファイルが何も開かれていない状態になるだけで、CADは起動したままでしょう。
CAD本体をShutdownする事は、LISPでは無理な気がします。

AutoCAD上でのカスタマイズではなく、外部アプリで制御する方法が簡単かもしれません。

※Windows内に展開されているハンドルを常時監視して、AutoCADのウインドハンドルが複数発生した場合、
後から発生したハンドルの方の、親プロセスをKILLする。
といった常駐アプリを作る。
  • 通りすがりの人
  • 2024/09/21 (Sat) 18:43:15
Re: Re: sdi 1について
sdiが1なので、多分CAD本体が閉じるようになると思いますが、外部ツールもありですね。
考えてみます。
  • ken
  • 2024/09/21 (Sat) 22:31:53

返信フォーム






プレビュー (投稿前に内容を確認)