AutoCAD

ブロック参照のダブルクリックカスタマイズ

AutoCAD2006でObjectARXでprotocol extensionsを使ってブロック参照をダブルクリックした時に、属性の値で追加したコマンドを呼び分けるという処理をしてました。この機能をAutoCAD2012に移植したのでメモ。 コード自体には特に変更の必要はなかったのですが…

IMessageFilterを使う

AutoCAD2012を外部からコントロールして自動処理するプログラムを作成してて遭遇したんですが、不定期なタイミングでRPC_E_CALL_REJECTEDが発生するんです。 調べて見るとAutoCAD2010のSP1かな?辺りから発生するようになっているようで、IMessageFilter(CO…

DelphiでAutoCAD 2012バージョン

いよいよAutoCAD 2012対応を開始しました。 コマンド登録用のARXもAutoCAD2012対応処理を行いましたのでその情報をメモ。基本的には、charで宣言していたものをACHARに変更、std::stringをstd::basic_stringに変更。 文字列リテラルを、_TEXTマクロで囲む。 …

DelphiでAutoCAD その2

前回の記事でObjectARX側の処理を書きました。今回はDelphi側の処理を書きます。まずは、前回のARX内のコマンド登録関数の定義。 function CommandRegister(Group, Cmd: PChar; const CmdFlags: Integer; Func: CMDFUNC): Boolean; stdcall; external ARX名;…

DelphiとAutoCAD

DelphiでAutoCADのコマンドを作成する方法。といっても、コマンドの登録にはVCを利用しますし、Delphiで操作するのはCOM経由でAutoCADを操作する事になるのでObjectARX程自由度は有りません。外部プロセスでAutoCADを操作するよりは実行速度が速くなるかと思…

Delphi & AutoCAD

仕事ではDelphi使ってAutoCADのカスタマイズやってます。Delphi7+AutoCAD2006ですがね。 VCかC#、VBAなんかでやるのが本筋なんですが、昔にDelphiARXってのがありましてそれでDelphi使ってカスタマイズ出来たもんだからヘタレな私はどっぷりその環境に浸か…