サイトアイコン CAD日記

ARXをBRXに移植する

まずはObjectARXを学んでみたわけだが、その続きとしてそのARXをBRXにしようじゃないかという話。

AutoCAD 2023のObject ARXで作ったARX「図面中にHello World!!」という文字を配置する」について、そいつをBricsCAD V23用のBRXに移植するというミッション。開発環境はVisualStudioは2019(C++)のままでよい。VCプロジェクトのどこを変えればいいかの情報が一切ない中、試行錯誤して実態がわかった。要点で言うと、拡張子propsファイルをちょいと変えれば済む話だった。以下でその詳細を明らかにする。

1.プロジェクトのコピー
ARXのプロジェクトフォルダがArxTestなので、同一フォルダ内にBrxTestとしてマルっとコピーする。

2.Autodesk.arx-2023.propsをテキストエディタで開く
propsは、vcxprojを補うためのxmlファイル。vcxprojをGUIで参照編集するならプロジェクトのプロパティとなる中、その記述内容で参照している定義元がpropsということになる。propsをGUIでグラフィカルに参照編集することはできないかと少し調べたが、存在しなかった。よって、テキストエディタで開いて編集することになる。

3.Autodesk.arx-2023.propsの変更
①PropertyGroup⇒AcadDir:AutoCADやBricsCADがインストールされているディレクトリ
変更前 C:\Program Files\Autodesk\AutoCAD 2023\
変更後 C:\Program Files\Bricsys\BricsCAD V23 ja_JP\
②PropertyGroup⇒AcadExe:AutoCADやBricsCADのexe名
変更前 acad.exe
変更後 bricscad.exe
③PropertyGroup⇒ArxSdkDir:SDKがあるフォルダ
変更前 C:\ObjectARX\
変更後 D:\MyProject\BricsCAD\BRXSDK_Bcad_V23_1_05\
④ArxSdkDirの下に行追加:別のpropsがこの名前で参照しているので
行追加 $(ArxSdkDir)
⑤ImportGroup⇒Importの属性Project
変更前 $(ArxSdkDir)\inc\arx.props
変更後 $(ArxSdkDir)\inc\brx23.props
※存在しないファイルなので以下4で追加
※この行の下2行でProjectに値を設定していて、rxsdk_Releasecfg.propsとrxsdk_Debugcfg.propsを参照しているがこの実体がBricsCAD SDKには存在しなかったので、まぁいらんだろうという判断でコメントアウトした。

4.brx23.propsを追加
コピー元 SDKフォルダ内のsamples\brxBimSample\propsにあるbrx23.props
コピー先 SDKフォルダ内のincフォルダ

5.プロジェクトBrxTestをビルドして実行
Debug版およびReleas版でビルドするとエラーなく完了する。デバッグ実行するとBricsCADが起動するので、APPLOADしてMyCommandLocalとコマンドを打ち込んで実行すると、Hello World!!と文字が配置された。文字の配置座標が画面外になるので、表示⇒Zoom⇒図形範囲とすると文字が出てくる。ブレークポイントを仕掛ければデバッグができることも確認できた。

ということで、BRXを作るということまでが終わったわけだがまだ続きがある。Teigha eXtension、略してTXを作るのがゴール。おいらはTeigha使いであり、Teighaで作ったアプリ「jwwをdwgに変換するツール」をTXに移植するのがゴールということ。BRXとTXは本質的に違うものなので飛ばしてもよかったんだけど、ARXやBRXを全く知らないのもいかんと思って取り組んだ。BRXの情報もなかったが、TXはさらに情報がなさそう。VCプロジェクトをどうやって作ればいいのかってことになることが予想される。新規で作るための情報はなく、SDKフォルダ内にはサンプルもない。サポートに問い合わせて、サンプルもらってからアプローチするのがよいか。。Teighaのプロジェクトを作るノリでやればうまくいきそうな気もする。ともあれ、じっくりと取り組もう。

モバイルバージョンを終了