TOP PAGE > 記事閲覧
LISPを使ったARESでのコマンド開発
投稿日 : 2020/09/09(Wed) 13:44
投稿者 小川
参照先
長年、井澤計装さんの書籍やホームページを見ながら、AutoCADLTでの開発をやってきたのですが、
会社が全面的にARES Standard採用になった事から、ARESのLISPで開発を行えるのかどうか、AutoCAD LISPでの解説を探してきては、LISPそのものをいろいろ調べ始めたところです。
そこで、コマンド先頭に(acet- が付くものに関して、Standardで使えるようにする方法は無いものでしょうか?

別件で、メーカーに問い合わせましたが、APIに関することは、お答えできないと回答が来ました。

リファレンスがそもそも XtraToolsLispAPI.chm と別になっていると昨日気づいたようなARES LISP初心者(DOSLibの存在すら知らなかった)です。
記事編集 編集
Re: LISPを使ったARESでのコマンド開発
投稿日 : 2020/09/11(Fri) 14:01
投稿者 小川
参照先
自己レスです。
やりたいことは、現在見ている図面データを保存して、
そのデータを処理するプログラムを起動し、
処理プログラムで複数の図面データを作り、
その図面データをARESに読み込み、
ARESで簡単な加工をして、終わり

というものを作りたいのですが、

子プロセスを起動すると、acet-sys-spawn を使わないと
戻ってきてしまい、タイミングが合わせられないという事で躓きました。

結果、Wscript.Shell を使う事で解決できそうです。

(setq Shell (vlax-get-or-create-object "Wscript.Shell"))
(vl-catch-all-apply 'vlax-invoke-method (list Shell "Run" "notepad.exe" 1 :vlax-true))


次に複数の図面呼び出しですが、
(command "OPEN" "c:\\out\\030-A3_2000_R-01000001.dwg"
では、無効なパラメータです。

え?−−−−−−− でした。

AutoCADでもだめなようで、SDI を使うと〇

でも、ARESにはあるの? ありましたが、

そもそも FILEOPENはあるの?  結果的に

: (command "FILEOPEN" "c:\\out\\025-A3_2000_R-01000001.dwg")

では、認識できないコマンドで

: (command "OPEN" "c:\\out\\025-A3_2000_R-01000001.dwg")

では、オプション または NONAME_0.dwgに保存しますかと聞いてきます。 NONAME_0.dwg って?

以上、次、なにをやれるのか
記事編集 編集
Re: LISPを使ったARESでのコマンド開発
投稿日 : 2020/09/18(Fri) 11:34
投稿者 小川
参照先
自己レスです。

複数図面を開くところは、vla-open で何とかなりそうです。
選択セットは、vla-Select で、図形の移動は、vlax-for と vla-Move で、できるかもです。

ネットで、事例がなかなか拾えず、似たような関数が多くて難しかったです。

ただし、LISPは、現在の図面が切り替わると終わるということなので、

複数図面を開くと移動は、プログラムでスクリプト作って、最後にスクリプトを実行となりそうです。
まだ、スクリプト実行の関数を見つけてはいませんが、

追伸;ARES Standard 2020 で、Dim pr0 As PromptPointResult = ed.GetPoint(vbCr + " 直径の始点を指定")

   が、やっぱり動かないのだけど、相談や報告する場所が見つからない。困ったものです。 
記事編集 編集
Re: LISPを使ったARESでのコマンド開発
投稿日 : 2020/09/18(Fri) 17:44
投稿者 小川
参照先
アルサポさんの投稿を見て、さっそく、3407 をインストール

Standard版でも ARES Standard 2020 で、Dim pr0 As PromptPointResult = ed.GetPoint(vbCr + " 直径の始点を指定")

何ら問題なく動きました。不具合だったようです。

LISPとは違うけど、う。れ。し。い

逆に、LISPからスクリプトを実行させる方法いまだ見つけられていません。

(command 関数の事例がもう少しあるとよいのだけれど、(command scriptではエラーになります。
記事編集 編集
Re: LISPを使ったARESでのコマンド開発
投稿日 : 2020/09/23(Wed) 14:11
投稿者 小川
参照先
自己レスです。分離テストは終わりました。

いろいろやったのですが、結果的には、LISP最後に以下でOKでした。

(command "loadscript" "C:\\HOP\\OUT.SCR")

なにが、悪かったのかは追求できていません。
記事編集 編集
ページの上に移動
件名 スレッドをトップへソート
名前
メールアドレス
URL
暗証キー
画像認証 (右画像の数字を入力) 投稿キー
コメント


- WEB PATIO -