概要 - AutoLISP の互換性

一般的には、AutoLISP プログラムを最新リリースで実行するために必要な変更はわずかです。

ただし、AutoLISP プログラムが最新リリースで適切に機能しなくなる場合もあります。これは、AutoLISP 関数、または AutoCAD ベースの製品のコマンドまたはシステム変数が変更または廃止されたことが原因です。

注: システム変数 SECURELOAD が 1 または 2 に設定されている場合、AutoCAD 2014 ベースの製品で開始するカスタム アプリケーションはセキュア モードで動作する必要があります。セキュア モードで動作している場合、AutoCAD ベースの製品はコードを含むファイルを信頼する場所からロードおよび実行するように制限されます。信頼する場所は、システム変数 TRUSTEDPATHS で指定します。詳細は、「概要 - ウイルスに対するセキュリティと保護」を参照してください。

一般的な情報

廃止されたコマンドとシステム変数

カスタム プログラムで、廃止されたコマンドとシステム変数を確認してください。コマンド プロンプトに直接入力できず、ユーザ インタフェースからもアクセスできない廃止されたコマンドやシステム変数がカスタム プログラムでは、引き続き使用できる場合があります。

注: 廃止されたコマンドやシステム変数が引き続きカスタム プログラムで機能したとしても、製品の将来のリリースでも機能し続けるという保証はありません。廃止されたコマンドやシステム変数はいっさい使用しないように、カスタム プログラムを書き直すことをお勧めします。

廃止されたコマンドやシステム変数がカスタム プログラムで使用できるかどうか試す場合に、次の方法が役に立つことがあります。

  • コマンド名の前にピリオドを付ける。たとえば、.BLIPMODE とすることにより、BLIPMODE[マーカー表示]コマンドを使用することができます。
  • 廃止されたシステム変数は COMMAND 関数を使用して実行しないでください。このようにすると、「不明なコマンド」エラー メッセージが表示される場合があります。代わりに、GETVARSETVAR 関数を使用してください。たとえば、(getvar "BLIPMODE") はシステム変数 BLIPMODE の現在の値を返します。
注: 製品から削除されたコマンドとシステム変数は、前述の方法を使用しても復元することはできません。

AutoCAD 2017 年以降

CDATE、DATE、その他の日付/時刻関連システム変数

AutoCAD 2017 ベースの製品から、システム変数 CDATE および DATE に格納される値は、現在の日時をミリ秒単位または 100 分の 1 秒単位で表さなくなりました。現在は、秒がこれら 2 つのシステム変数の値で表される時間の最小単位です。1 秒未満の単位で時間間隔を計測する必要がある場合は、システム変数 MILLISECS が返す値の使用を検討してください。このシステム変数には、ワークステーションを起動してからの経過時間がミリ秒単位で格納されています。

次の日付/時刻関連システム変数も、ミリ秒の除去の影響を受けています。

  • TDCREATE
  • TDINDWG
  • TDUCREATE
  • TDUPDATE
  • TDUSRTIMER
  • TDUUPDATE

AutoCAD 2016 以降

デジタル署名されたファイル

AutoCAD 2016 ベースの製品から、AutoLISP ファイルにデジタル署名できるようになりました。AutoLISP ファイルにデジタル署名することにより、ファイルが信頼できないという警告が表示されることなく、AutoCAD 図面環境に AutoLISP ファイルをロードすることができます。デジタル署名された VLX ファイルを AutoCAD 2015 ベース以前の製品にロードすることはできません。

osnap 関数

AutoCAD 2016 ベースの製品から、osnap 関数では、クイック(qui)オブジェクト スナップ モードはサポートされなくなりました。AutoLISP プログラムの osnap 関数を使用しているステートメントから qui モードを削除してください。削除しない場合、osnap 関数は、作図領域の有効な点の座標値ではなく、nil を返します。