CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

BricsCAD AutoCAD

ARXをBRXに移植する

投稿日:2023年1月8日 更新日:

まずは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のプロジェクトを作るノリでやればうまくいきそうな気もする。ともあれ、じっくりと取り組もう。

-BricsCAD, AutoCAD

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

Teighaが何なのかを知りたければココを読め

Teighaとは?

no image

Longbow

Longbowとは、大弓または長弓のことだ。 pull the longbowで「大げさに話す・ 大ぼらを吹く」となる。 「プログレッシブ英和中辞典(第4版)より」 AutoCAD 2015がリリース …

no image

Keystone

2004 Red Deer 2005 Neo 2006 Rio 2007 Postrio 2008 Spago 2009 Raptor 2010 Gator 2011 Hammer 2012 Iron …

no image

マルチテキストの定義幅

マルチテキストで新発見。 定義幅って項目があり、これによりマルチテキストの幅が決まって、 それを越える文字があれば改行されてるというもの。 DXFコードでいうところの41:参照矩形の幅だ。 普通だった …

no image

円をポリラインで

見た目は円にしか見えないのに、 確認してみると、ポリラインとなっている。 こんな図形に出会ったのは10年ほど前か。 当時は意味不明だったが、最近それがわかってきた。 以下の手順で遭遇することができる。 …