ARXアプリケーションをソースの修正なしに、他のCADに移植する。
これを最初に取り組んだのは、BricsCAD ですが、今は他の AutoCAD互換CADと言われるCADでもできるようになっています。
同一のソースで複数のCADで動くプロジェクト
内容は HELLO コマンドを登録し、HELLO コマンドは、acutPrintf() でメッセージを1行表示するという他愛のないものですが、自分で作ってきた ARX アプリケーションを他の CAD に移植するときのひな形として使えるようになっています。
新しく ARX アプリケーションを作成するときに、このプロジェクトから始めてもいいでしょう。
ARXアプリケーションは、MFCベースのユーザーインターフェースを使うこともあって、MFC拡張DLLとして作成されます。
AutoCADでは標準Win32 DLLとして作成することも可能ですが、他のCADでは MFC 拡張 DLL として作成することを強く推奨しているので、このプロジェクトは MFC 拡張 DLL になっています。
acrxEntryPoint() と acrxGetVersion() の2つの関数が CAD に対してエクスポートされている必要があります。その辺はマクロでやっています。
ObjectARX SDK のサンプルには、acrxEntryPoint() で、kInitAppMsg などのシグナルをswitch文で直接切り分けるものが多いですが、この例のようにシグナルをメンバー関数で処理する AcRxArxApp クラスも提供されています。それをアプリケーションがオーバーライドして、アプリケーション固有のシグナルの処理や、カスタムコマンドの定義を行います。
対象となるCADのコンパイルやリンクの設定は Visual Studio のプロパティシートにまとめています。プロパティシートの中で、SDK のパスを示す環境変数を用意しているので、これと違う場所に、SDK がインストールされている場合は、プロパティシートを書き換えてください。
AutoCAD 2019 と、IJCAD 2019 と、ARES Commander 2019 の3つのCADで動くようにしています。AutoCAD 2019と ARES Commander 2019は Visual Studio 2015 でビルドするので1つのVCプロジェクトにまとめています。IJCAD 2019 は Visual Studio 2010 でビルドするので別のVCプロジェクトに分けられています。
対象になる CAD を増やすには、コンパイラが違う場合は VCプロジェクトを分け、同じならビルド構成でわけて、プロパティシートをそれぞれ用意するとよいです。
ソリューションを開く
Visual Studio 2015でこのソリューションを初めて開くときは、IJCAD のプロジェクトが Visual Studio 2010 用なので次の警告を表示します。
Visual Studio 2015 用にアップグレードしようとしますが「キャンセル」を押して無視してください。
すると、このように、Visual Studio 2010 用と、Visual Studio 2015 用のプロジェクトが共存した状態で開くことができます。
ビルド→バッチビルドを選択したところ。Visual Studio 2015 用の FCRX プロジェクトの中には、AutoCAD 2019 のリリースビルドの ac2019 構成と、ARES 2019 のリリースビルドの fc2019 構成が入っています。
ビルドをするには、その PC に Visual Studio 2010 (SP1, Win8 パッチの当たったもの)と、Visual Studio 2015 (UPD4, C/C++コンパイラ必要) の両方がインストールされている必要があります。BricsCAD v8 も追加するには、Visual Studio 2013 も必要です。AutoCAD 2020 に対応するには Visual Studio 2017 も必要になります(うぅっ)。
(BricsCAD Pro 定価で10万かぁ.ロハで提供してくれたら評価するのになぁ)
2019/7/24 公開停止
2019年4月24日水曜日
登録:
コメントの投稿 (Atom)
ARESのトリニティ(三位一体)
ARESのトリニティ戦略、どこがトリニティなんでしょう。 まずはデスクトップCADが、WindowsにもMacにもLinux版もあるというトリニティ。 デスクトップCADと、モバイルCAD(ARES Touch)と、ブラウザとサーバーCAD(ARES Kudo)のトリニティ。 ...
-
SXFファイル形式は現在4つの拡張子のものが出回っている。 P21 (STEP AP 202) STEP 規格に基づいた正式な SXF ファイル。1個の図形を定義するのに、何行も使うし、英数字それも大文字ばかりの内容を見ると、昔懐かしい FORTRAN や COBOL のソ...
-
PowerShell で INI ファイル編集 PsIni というパッケージを使うとPowerShellでのINIファイル編集が容易になる。 残念なのは、シフトJIS に対応していないこと。 インストールの方法はPowerShell 上で次のように入力する Instal...
-
スライドファイル(拡張子 .SLD) スライドライブラリファイル(拡張子 .SLB) AutoCAD関連コマンド・ツール MSLIDE コマンドで作成 VSLIDE コマンドで画面に表示 SLIDELIB ツールでSLDファイルをSLBファイルにまとめる ...
0 件のコメント:
コメントを投稿