「IntelliCADのARX対応は?」というご質問に対して…
これまで、「いずれは…」いう曖昧な回答を繰り返しておりました (実際、いずれ対応することになるだろうと思っておりました) が… 最近になって、いろいろな判断材料が整ってきました。
ここ最近の OpenDesign Alliance (ODA) と、IntelliCAD Technology Consortium (ITC) の動きを見る限り…
IntelliCADのARX対応は「ない」 と思っておいたほうが、よさそうです…
現在、書き直しが行なわれている「次世代IntelliCAD」は、その大部分がDWGdirectに依存しており、ITCとしては、DWGdirectによって提供されるAPI(DRX-API)をもって「ObjectARX対応」とする構想でした。
ですが、最近のODAは、DWGdirectライブラリを 「ObjectARX互換」 と表現することを明確に避けるようになりました。(Autodesk社との要らぬ法廷抗争を避けたいということが大きな理由の1つだと考えられます)
DWGdirect (DRX API) は、ObjectARX に非常に良く似たクラスライブラリですが、関数名はもちろんのこと、関数の使い方などがObjectARXとは異なっておりますので、ソースの互換性はありません。(AutoCAD上で動作しているARXアプリケーションの移植は、リコンパイルレベルではなく、ソースの書き直し作業が必要となります)
BricsCADなど、InteliCADより派生した製品の中には「ARX対応」 を宣伝しているものがありますが… ObjectARXが膨大なクラスライブラリでかつ、基本的には、対応するAutoCADバージョンに依存するライブラリとなっていますので、どこまで互換性があるのか?という点では、かなり疑問… 多大な期待はしないほうが賢明という気がします。
実は、BricsysのCTO(開発責任者)とは面識がありまして… 先日、オランダのODAカンファレンズで再会しました。 「実際、どうなの?」 と、尋ねたところ、「優先順位が高いと思われる関数から順次実装しています。単純に今のペースで作業を進めていけば、数年後には作業を完了できます」 ということだったのですが、その間もAutoCAD(ObjectARX)は、進化しているわけで…
その「優先順位」がどうやって決まるのか?というのは、Bricsysが1企業であることを考えれば、容易に想像できますよね… (お金を積めば、優先的に対応してくれるかもれません (汗;)
彼は、「AutoCADアドオンソフトメーカーの皆様から送られてくるソースコードは、酷いものが多くて…. そもそも、何でこれがAutoCADで動作しているのかが不思議!というものが少なくない」 とも言っておりました。判る気がする… 大いに納得。
IntelliCADのLISP関数群も同じで… マニュアル(関数リファレンス)の記述通りに100%互換性のある関数ライブラリを作ったとしても、それが、どのようにプログラム側から呼び出されるのか?について想定できないケースが多いので、「実際に動作するかどうか?」は別問題。
安価なAutoCAD互換CADを使いたい… ARXを使いたい… というのは、残念ながら、両立しそうにありません。Bricsysのアプローチは、AutoCADアプリケーションを取り込むという点で、素晴らしいアイディアだとは思いますが… 実際には、それほど簡単ではないでしょう。
ObjectARXのソースコードに固執する限り、現実的には、AutoCAD以外の選択肢は 「ない」 と考えたほうが賢明かもしれません。
なぜなら、仮に、Bricsysが 「ARX互換」 で成功したら?今度は、LT-Extenderと同じ運命を辿るのではないか?という心配が出てきます…
ARX に固執しなければ、様々な選択肢があるのですが、 「AutoCAD互換CADを使う」 と決意するには、 「ARXを諦める」というのが条件になるのかもしれません。
「ARXで開発を続けたい」という開発者の皆様には、 「AutoCAD を使い続けてください」 と提案したほうが親切なんだろうな… と思うようになりました。
タグ: ARX, BricsCAD, IntelliCAD