AutoLisp関数互換表
このページでは、AutoCAD と BricsCAD, IJCAD, IntelliCAD における、AutoLISP関数の互換について記述します。
AutoCAD と互換CAD でほぼ差異を意識せずに使える関数
- バニラLISP 系関数(概ね vl* の接頭辞がついてないものと思えば OK。)
AutoCAD にあって BricsCAD にない関数
- なさげ。
BricsCAD にあって AutoCAD にない関数
- 見きれてないので、他にあったら教えて!
- vlax-curve-getperimeter
- VLE-関数 : VLA関数の発展実装版。VLA関数は Windows でしか使えないけど、VLE-関数は Linux や Mac でも使えるように実装されている。しかも早い。
- シートセット関数:シートセット機能をコントロールするための関数群。
- Tin+Civil関数 : BricsCAD PROにある(Civil3Dライクな)土木機能と合わせて実装されている関数群。Tinサーフェスを作成・編集したりできる。AutoCAD Civil3D データの読み込み関数なんかもある。
- GEO関数 : BricsCAD PRO にある土木機能の GEO連携システムと合わせて実装されている関数群。測量座標の測地系を変換したりできる。
- BIM関数 : BricsCAD BIM の製品用に実装されている関数群。BIM系のオブジェクトや定義を作成・編集したりできる。BricsCAD
だとLISP+BIMで開発できる。
- Mechanical関数:BricsCAD Mechanical の製品用に実装されている関数群。Rhino の読み書き関数なんかもある。
- シートメタル関数:BricsCAD Mechanical の製品用に実装されている関数群。板金オブジェクトや定義を作成・編集したりできる。
- Expresstools関数: ExpressTools で使用されている関数群。BricsCAD V14 時に追加された。
- Doslib関数:VisualLisp が無い時代から提供されている DosLib ツールの拡張関数群。BricsCAD ではマルチプラットフォーム用に再実装されてきている。
AutoCAD にあって IJCAD にない関数
- IJCAD 2014以前。
IntelliCAD にあって AutoCAD にない関数
- ads … arx になった
- autoxload
- endtransaction … IntelliCAD Ver8 の途中から
- log10
- lpad
- rpad
- starttransaction … IntelliCAD Ver8 の途中から
- tan
- trim
- xload … arxload になった
- xunload … arxunload になった
BricsCAD と AutoCAD どちらにもあるが動作や結果が異なる関数
実害が無いものも記述してます。
- grread : BricsCAD 独自で拡張されてるので、BCAD -> ACAD の使いまわし時に注意
- getcfg : BricsCAD 独自で拡張されてるので、BCAD -> ACAD の使いまわし時に注意
- setcfg : BricsCAD 独自で拡張されてるので、BCAD -> ACAD の使いまわし時に注意
- open : BricsCAD 独自で拡張されてるので、BCAD -> ACAD の使いまわし時に注意
- vl-registry-read : BricsCAD 独自で拡張され QWord、Binary、MultiStringデータもサポートしている。V22から
- vl-registry-write : BricsCAD 独自で拡張され QWord、Binary、MultiStringデータもサポートしている。V22から
IJCAD と AutoCAD どちらにもあるが動作や結果が異なる関数
実害が無いものも記述してます。(IJCAD 2016 時点)
- 四則演算系 : 整数の計算で32ビット整数範囲外の値を計算した場合の結果が異なる。(AutoCADは実数に変換して計算した値が返るが、IJCADは変換してない。<- IJCAD 7 まで)
- gc : IJCAD(というかIntelliCAD?)ではガベージコレクトの仕組みは働いてない。いらんのは nil にしておくのが吉。
- getcfg : 情報の保存位置が違う。
- grvecs : UCS状態での挙動が違う。(IJCAD8 まで)
- menucmd : IJCADでサポートしていないメニューパラメータは使えない。
- read-char : 連続した文字入力を受け取った時の扱いが違う。
- setcfg : 情報の保存位置が違う。
- setenv : 情報の保存位置が違う。
- snvalid : 動いてない。(IJCAD 8 は動いてる)
- ssget : オプションで非対応のものがある。(IJCAD8 まで)
- startapp : 戻り値が異なる。
- strcase : IJCADは全角文字も変わる。(IJCAD8 のみ)
- trans : 戻り値が異なるケースがある。(IJCAD8 まで)
- ascii : 戻り値がユニコード(10進数)(IJCAD8 のみ)