BricsCAD 開発のご提案
BricsCAD は、DWGファイルが読み書きできるだけでなく、ユーザー様でカスタマイズもできます。BricsCAD で自社コマンドを作成して、より使いやすいCADに発展させることが可能です。
アルファテック社の長年の開発ノウハウを生かして、御社の課題を最低限の投資で実現いたします。
BricsCADはカスタマイズするためにいくつかのAPI(アプリケーション プログラミング インタフェーズ)を公開しています。
これらのAPIはAutoCADが公開しているAPIに準じていますので、AutoCADでの開発経験がある方はなじみやすいでしょう。
デベロッパーリファレンスではいくつか上がっていますが、主なのもは以下の5つです。
Lisp | SDS | VBA | BRX | .NET API |
どのAPIを使うかは、それぞれの長所・短所で吟味してください。
リスト処理プログラミング言語[LISP]によるAPI (AutoCADのAutoLISP、VisualLISPに相当)です。図形データをリストに適用したもので、インタプリタ言語として動作します。APIとしては一番古くからあり、拡張性は低いが高度なプログラム経験や知識を必要としません。そのため、ユーザー側でも簡単に、自作の Lispプログラムを作成される方が多いです。Lispコマンドの目的は、主にCAD内の図形操作など、作図機能を向上させるために利用されます。
(※BricsCAD Classic/Pro/Platinum)
長 所 |
AutoCAD との互換性は今後も向上していく。UNICODEを意識する必要がない。BricsCAD のバージョンアップに伴うリビルド等も不要 |
短 所 |
生コマンドや図形選択をうまく組み合わせて使いやすくすることが基本なので高度な処理をさせようとすると機能が限られている。 |
C/C++言語によるAPI (AutoCADの ADS に相当するもの)です。LISPで記述されている関数と同様の表現を使ってプログラムが記述できます。VisualC++8.0(SP1) を使って実行モジュールを作成し、リンクすべきライブラリはインストール時にインストールフォルダに提供されています。
通常のC/C++言語としての機能が使えるので、プログラムとしての拡張性は高いが、CADとの接点部分については、Lispで提供されている関数をすべてサポートしていないため、Lispより機能が少ない。
LispまたはBRXベースのコマンドが一般的なため、互換のために残しているだけで推奨はしていません。 Lispプログラムからロードしたり、呼び出したりすることができる外部関数群として位置づけられています。
(* Supported in BricsCAD Classic/Pro/Platinum)
長 所 |
C言語ユーザー向き |
短 所 |
古い ADS のソースを移植する際、UNICODE を意識する必要がある。 |
BricsCAD がバージョンアップする際、リビルドしなければロードできなくなる場合がある。
VBA(VisualBasicforApplications)によるAPI(AutoCADのVBAに相当)です。VBAはアプリケーション内部の開発環境、実行環境を持ちます。プログラムは容易であり、他のアプリケーションとの連携にも強い。
(※BricsCADPro,Platinum サポート)
長 所 |
VB 系の開発言語は敷居が低い。UNICODE も意識する必要が無い |
短 所 |
Microsoft、AutoCADがVBAを非推奨とし、.Netへの移行を推奨しているので将来性に難がある |
C++言語によるAPI (AutoCADの ObjectARX に相当)です。CAD自身を構成するクラスライブラリの一部を提供されており、CAD内部からカスタマイズが可能です。
デベロッパー登録をしてライブラリを入手します。
(※BricsCADPro, Platinumサポート)
長 所 |
AutoCAD 同様、リアクタ等を駆使した、かなり高度なコマンドを実装可能。 |
短 所 |
C++ の知識が必要で、UNICODE を意識する必要がある。 BricsCADがバージョンアップする際、リビルドしなければロードできなくなる場合がある |
Microsoft .Net Frameworkの開発環境で、BRX(AutoCADのObjectARX相当)の機能をVB.Net、C#.Netなどの .Net対応言語で実現可能です。
(※BricsCADPro, Platinum サポート)
長 所 |
VB.Net、C#.Netなど、開発言語を選択できる。BRXと同様の高度な機能を実現可能。AutoCADの.Net APIと互換性があり、ソースの一本化が容易。バージョンアップ時、リビルドの必要がない。 |
短 所 |
新しい技術なので、ドキュメント・経験者が少ない。 |