AutoCAD における AutoLISPの仕様追加・変更履歴
AutoCAD における AutoLISPの仕様追加・変更履歴 は以下の通り。
- 追える分だけ書いてってるので他にもあったら教えて下さい。
AutoCAD 2023
- まだ情報出てない。
AutoCAD 2022
変更なし
AutoCAD 2021
LISP がユニコード対応になった。そのため、ユニコードなプログラムにした場合は、文字列を扱う関数も影響を受ける。 Fas にコンパイルされた場合、コンパイル後のファイルの先頭が
- FAS4-FILE... = MBSC(ASCII)
- FAS5-FILE... = ユニコード
となるようである。
新機能
- AutoCAD AutoLISP Extension for Visual Studio (VS) Code - Windows または Mac OS 上で VS Code を使用して AutoLISP ファイルを編集およびデバッグできるようにします。AutoCAD AutoLISP Extension を使用して AutoLISP ファイルをデバッグするには、システム変数 LISPSYS を 1 または 2 に設定する必要があります。LISPSYS を 0 に設定すると、AutoLISP ファイルの編集とデバッグに従来の AutoLISP エンジンと Visual LISP IDE が使用されます。
- なお、VS CODE のエクステンションで、VLIDE で出来ていたこと全てができるわけではない。
- Mac OS での DCL のサポート - DCL を使用して定義したダイアログ ボックスを AutoLISP で表示できるようになりました。Windows でサポートされているすべての DCL タイルは Mac OS でもサポートされていますが、Mac OS ではすべてのタイル属性がサポートされているわけではありません。
変更点
- 次の関数は、Unicode 文字列/コードをサポートするように更新されました。
- ascii - 文字列の先頭文字を Unicode 文字コード(整数)に変換して返します。
- chr - Unicode 文字コードを表す整数を 1 文字の文字列に変換します。
- load - ファイル内の AutoLISP 式を評価します。
- open - AutoLISP の入出力関数がアクセスできるようにファイルを開きます。ファイルの読み込み/書き込み時に使用する文字エンコーディングを指定できるようにする新しいオプション引数が追加されました。引数を指定しない場合、ファイルには従来の動作であるマルチバイト文字セット(MBCS)が含まれているとみなされます。
- read-char - キーボード入力バッファまたは開いているファイルから読み込んだ ASCII 文字または Unicode 文字を表す整数を返します。
- read-line - キーボードまたは開いているファイルから、行の終了マーカーが現れるまで、文字列を読み込みます。
- strlen - 文字列の文字数を示す整数を返します。
- substr - 文字列の部分文字列を返します。
- vl-directory-files - 指定されたフォルダ内のすべてのファイルをリストします。
- vl-file-copy - あるファイルの内容を別のファイルにコピーまたは追加します。
- vl-file-delete - ファイルを削除します。
- vl-file-directory-p - ファイル名がフォルダを参照しているかどうかを調べます。
- vl-file-rename - ファイル名を変更します。
- vl-file-size - ファイルのサイズをバイト単位で返します。
- vl-file-systime - 指定されたファイルが最後に更新された日時を返します。
- vl-filename-mktemp - テンポラリ ファイルに使用される他と重複しないファイル名を返します。
- vl-list->string - 整数のリストに関連付けられた Unicode 文字を文字列に結合します。
- vl-mkdir - フォルダを作成します。
- vl-string->list - 文字列を Unicode 文字コードのリストに変換します。
- vl-string-elt - 文字列内の指定した位置にある文字の ASCII 表現を返します。
- vl-string-mismatch - 指定した位置から始まる、2 つの文字列の最も長い共通の接頭語の長さを返します。
- vl-string-position - 指定した Unicode 文字コードを持つ文字を文字列内で検索します。
- vl-string-search - 指定したパターンを文字列内で検索します。
- vl-string-subst - 文字列内の特定の文字列を他の文字列で置換します。
- vl-string-translate - 文字列内の文字を指定された文字セットで置換します。
- vl-vbaload - VBAプロジェクトをロードします。
- vlisp-compile - AutoLISP ソース コードを FAS ファイルにコンパイルします。
- write-char - スクリーンまたは開いているファイルに、1 Unicode 文字を書き出します。
- write-line - スクリーンまたは開いているファイルに、文字列を書き出します。
旧機能
- Visual LISP IDE (Windowsのみ) - Visual LISP (VL) IDE は廃止され、将来のリリースでは削除されます。AutoCAD AutoLISP Extension for Visual Studio (VS) Code を使用して、新しい AutoLISP プログラムを作成したり、既存の AutoLISP プログラムを更新することをお勧めします。VL IDE を使用して AutoLISP ファイルを編集およびデバッグするには、LISPSYS を 0 に設定する必要があります。
AutoCAD 2020
追加変更なし。但し、insert コマンドが変わったので、clacssicinsertに変更するか、(initcommandversion 2) を追加して実行する必要がある。
AutoCAD 2019
追加・変更なし。
AutoCAD 2018
追加・変更なし。 ActiveX ライブラリから IAcadFileDependencies と IAcadFileDependency のクラスが削除されたので、LISP でもVLA-* の関数で、上記ライブラリに関連する関数が使用できなくなった。(下に記載。)外部参照やフォント、印刷スタイルなど、図面ファイルに添付・参照されているファイルをごにょごにょするのに便利だったため注意が必要。
- メソッド
vla-CreateEntry vla-IndexOf vla-Item vla-RemoveEntry vla-UpdateEntry
- プロパティ
vla-get-AffectsGraphics vla-get-Count vla-get-Feature vla-get-FileDependencies vla-get-FileName vla-get-FileSize vla-get-FingerprintGuid vla-get-FoundPath vla-get-FullFileName vla-get-Index vla-get-IsModified vla-get-ReferenceCount vla-get-TimeStamp vla-get-VersionGuid
AutoCAD 2017
追加・変更なし。 但し、CDATE、DATE、TDCREATE, TDINDWG, TDUCREATE, TDUPDATE, TDUSRTIMER, TDUUPDATE のシステム変数がミリ秒ではなくなったので注意が必要。 ミリ秒計測は、MILLISECSシステム変数に格納されている値の最後の2桁または3桁を取得し、それらをCDATEシステム変数によって返される値に追加することで、以前の製品のCDATEシステム変数によって返されるものと同等になる。
AutoCAD 2016
旧機能
- getcfg - acad20xx.cfg ファイルの AppData セクションからアプリケーション データを取得。
- setcfg - acad20xx.cfg ファイルの AppData セクションにアプリケーション データを書き出し。
- 注: getcfg 関数と setcfg は互換性を保つために現在も使用可能な関数で、今後のリリースで削除される可能性がある。代わりに vl-registry-read および vl-registry-write 関数の使用が推奨されている。
AutoLISP ファイルにデジタル署名をすることができるようになった。デジタル署名すると、そのファイルが信頼できないことをユーザーに警告することなく、AutoCAD の図面環境に読み込むことができる。また、デジタル署名されたVLXファイルは、AutoCAD 2015ベース以前の製品に読み込むことができなくなる。
osnap が Qui をサポートしなくなったので注意
AutoCAD 2015
追加・変更なし
AutoCAD 2014
追加
- findtrustedfile - 指定されたファイルを AutoCAD の信頼できるファイル パスで検索する。
- showhtmlmodalwindow - HTML ドキュメントを含むモーダル ウィンドウを表示する。新しい JavaScript API と一体で使用。
変更
- findfile - AutoCAD のサポート ファイル パスと信頼できるファイル パスを検索する。新しい信頼できるアプリケーション パスを検索するように更新。
AutoCAD 2013
追加
- vlax-machine-product-key - AutoCAD の Windows レジストリ パスを返す。HKLM(HKEY_LOCAL_MACHINE)、HKCUからのパスは共通。
旧機能
- vlax-product-key - AutoCAD の Windows レジストリ パスを返す。
AutoCAD 2012
追加
- command-s - AutoCAD コマンドと指定された入力を実行する。
- *pop-error-mode* - *push-error-using-command* または *push-error-using-stack* に対する以前の呼び出しを終了するエラー処理関数。
- *push-error-using-command* - カスタム *error* ハンドラ内での command 関数の使用を示すエラー処理関数。
- *push-error-using-stack* - カスタム *error* ハンドラ内での AutoLISP スタックの変数の使用を示すエラー処理関数。
AutoCAD 2011
追加
- dumpallproperties - 図形のサポートされるプロパティを取得する。
- getpropertyvalue - 図形のプロパティの現在の値を返す。
- ispropertyreadonly - 図形のプロパティの読み込み専用状態を返す。
- setpropertyvalue - 図形のプロパティ値を設定する。
AutoCAD 2010
変更
- help - ヘルプ機能を呼び出す。HTML ドキュメントのサポートを追加するように関数が更新された。
AutoCAD 2009
追加
- initcommandversion - 次のコマンドを指定したバージョンで実行する。