対象製品 : IJCAD 2015 以降
AutoCAD や IJCAD の旧バージョンから新しい IJCAD へプログラムを移植する際の要点を記載します。
AutoCAD 用カスタマイズプログラムの移植
- AutoLISP
AutoLISP プログラムの移植は、基本的には AutoCAD の次バージョンへの移植+α 程度の移植作業で可能です。内容によっては、変更なく動作するものもあるでしょう。 AutoLISP 関数の他に、DCL によるダイアログ表示や、ActiveX などの拡張関数も利用可能となっています。
尚、仕様になっていないバージョンに依存した動作に関わる部分については、改修が必要です。
【関連記事】
・AutoLISP で開発したアプリの移植は可能ですか? - ObjectARX / ADS
IJCAD の ARX/ADS API はソースコード レベルで互換性を持つ、GRX SDK として提供されており、ARX プログラムの移植は、IJCAD 用に再コンパイルが必要です。AutoCAD 2007 以前の非ユニコードを前提としたプログラムに付いては、ユニコード対応も必要になります。
【関連記事】
・AutoCAD の ObjectARX で開発したアプリの移植は可能ですか? - .NET
IJCAD の .NET APIは、AutoCAD の .NET API とよく似ておりますが、同じではないため、IJCAD 用に改修が必要です。
【関連記事】
・AutoCAD の .NET で開発したアプリの移植は可能ですか? - VBA / ActiveX
AutoCAD の VBA やActiveX APIを使用したプログラムについては、IJCAD 向けに改修が必要です。AutoCAD の VBA プログラムのソースファイルは(.dvb) 開けませんので、必要なモジュールなどは書き出しておく必要があります。
【関連記事】
・VBA - AutoCADのVBAプロジェクトをIJCADへ移行する方法について - Javascript
IJCAD は、Javascript API に未対応のため別言語での開発が必要です。
【関連記事】
・IJCAD で利用可能な API の概要
古い IJCAD/IJ_IntelliCAD 用カスタマイズプログラムの移植
- LISP
LISP プログラムの移植は、バージョン差を吸収する程度の移植作業で可能です。IJCAD 2013 以前のバージョンで、IntelliCAD 独自の関数やシステム変数を使用している場合、その部分はなくなっているので改修が必要となります。 - ARX/ADS(SDS)
バージョンにより再コンパイルが必要です。また、非ユニコードを前提としたプログラム(IJCAD 2013 と IJCAD 7 以前のバージョン)に付いては、ユニコード対応も必要になります。 - .NET
IJCAD の各バージョン毎に再コンパイルが必要です。
尚、ARX/.NET/LISP を使用したプログラムは、IJCAD の LT グレードでは使用できませんのでご注意下さい。