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

LEADERという罠

AutoCADのLEADER(引き出し線)の話。 悪名高いのよ、こいつが。 今日はこいつに、はめられたね。 寸法スタイルを持ってるくせに匿名ブロックを持ってない。 中途半端な寸法線という位置付けになっ …

no image

ハッチング

ハッチングには苦労させられます。 AutoCADのハッチングの話です。 境界図形群があって、中の模様(塗りつぶしの場合もあり)があって。 この境界図形群がくせものなんです。 ポリライン、線、円、円弧、 …

ポリラインのふくらみ(改)

2007年に書いた記事「ポリラインのふくらみ」は、おいらにとって今でも大変興味深いテーマであり、もう少し掘り下げて書いてみたくなった。 ふくらみをB、円弧の中心角をAとすると、以下の計算式が成り立つと …

no image

PURGEで消えないもの

AutoCADの名前削除(PURGE)で新発見。 使われていない定義を消してくれる便利なコマンドなわけだが、 まれに消えてくれないものがある。 それは、寸法スタイルだ。 寸法スタイルの設定情報のなかに …

no image

無効または不完全なDXF

AutoCADで、日本語の画層名やブロック名が使えない場合が あるという話は、昔から言われてきた。 「無効または不完全な DXF の入力です。図面は破棄されました。」 という無情なメッセージが表示され …