「AutoLisp関数互換表」の版間の差分
| (同じ利用者による、間の31版が非表示) | |||
| 1行目: | 1行目: | ||
{{AutoLISP}}  | {{AutoLISP}}  | ||
このページでは、AutoCAD と BricsCAD, IJCAD, IntelliCAD における、AutoLISP関数の互換について記述します。<br />  | |||
== AutoCAD と互換CAD でほぼ差異を意識せずに使える関数 ==  | |||
* バニラLISP 系関数(概ね vl* の接頭辞がついてないものと思えば OK。)  | |||
== AutoCAD にあって BricsCAD にない関数 ==  | |||
* なさげ。  | |||
== BricsCAD にあって AutoCAD にない関数 ==  | |||
沢山ありすぎるので[[BricsCADのLISP]]を参照。  | |||
* [[vlax-curve-getperimeter]]  | |||
* [[VLE-関数]] : VLA関数の発展実装版。VLA関数は Windows でしか使えないけど、VLE-関数は Linux や Mac でも使えるように実装されている。しかも早い。  | |||
* [[シートセット関数-BricsCAD|シートセット関数]]:シートセット機能をコントロールするための関数群。  | |||
* [[tin+civil関数-BricsCAD|Tin+Civil関数]] : BricsCAD PROにある(Civil3Dライクな)土木機能と合わせて実装されている関数群。Tinサーフェスを作成・編集したりできる。AutoCAD Civil3D データの読み込み関数なんかもある。  | |||
* [[GEO関数-BricsCAD|GEO関数]] : BricsCAD PRO にある土木機能の GEO連携システムと合わせて実装されている関数群。測量座標の測地系を変換したりできる。  | |||
* [[BIM関数-BricsCAD|BIM関数]] : BricsCAD BIM の製品用に実装されている関数群。BIM系のオブジェクトや定義を作成・編集したりできる。BricsCAD  | |||
だとLISP+BIMで開発できる。  | |||
* [[mechanical関数-BricsCAD|Mechanical関数]]:BricsCAD Mechanical の製品用に実装されている関数群。 Rhino の読み書き関数なんかもある。  | |||
* [[シートメタル関数-BricsCAD|シートメタル関数]]:BricsCAD Mechanical の製品用に実装されている関数群。板金オブジェクトや定義を作成・編集したりできる。  | |||
* [[Expresstools関数]]: ExpressTools で使用されている関数群。BricsCAD V14 時に追加された。  | |||
* [[Doslib]]関数:VisualLisp が無い時代から提供されている DosLib ツールの拡張関数群。BricsCAD ではマルチプラットフォーム用に再実装されてきている。  | |||
== AutoCAD にあって IJCAD にない関数 ==  | == AutoCAD にあって IJCAD にない関数 ==  | ||
* IJCAD 2014以前。  | |||
<div class="mcol2">  | <div class="mcol2">  | ||
* [[acad-pop-dbmod]]  | * [[acad-pop-dbmod]]  | ||
| 9行目: | 31行目: | ||
* [[acad_truecolordlg]]  | * [[acad_truecolordlg]]  | ||
* [[acad_truecolorcli]]  | * [[acad_truecolorcli]]  | ||
* [[acdimenableupdate]]  * GZ-LIB   | * [[acdimenableupdate]]  * GZ-LIB で関数名のみ実装。  | ||
* [[acet-layerp-mode]]  | * [[acet-layerp-mode]]  | ||
* [[acet-layerp-mark]]  | * [[acet-layerp-mark]]  | ||
| 15行目: | 37行目: | ||
* [[acet-ms-to-ps]]  | * [[acet-ms-to-ps]]  | ||
* [[acet-ps-to-ms]]  | * [[acet-ps-to-ms]]  | ||
* [[defun-q]]    | * [[defun-q]]    | ||
* [[defun-q-list-ref]]    | * [[defun-q-list-ref]]    | ||
* [[defun-q-list-set]]  | * [[defun-q-list-set]]  | ||
* [[initdia]]  | * [[initdia]]  | ||
</div>  | </div>  | ||
==  | == IntelliCAD にあって AutoCAD にない関数 ==  | ||
* [[ads]] … arx になった  | * [[ads]] … arx になった  | ||
* [[autoxload]]  | * [[autoxload]]  | ||
* [[endtransaction]] …   | * [[endtransaction]] … IntelliCAD Ver8 の途中から  | ||
* [[log10]]  | * [[log10]]  | ||
* [[lpad]]  | * [[lpad]]  | ||
* [[rpad]]  | * [[rpad]]  | ||
* [[starttransaction]] …   | * [[starttransaction]] … IntelliCAD Ver8 の途中から  | ||
* [[tan]]  | * [[tan]]  | ||
* [[trim]]  | * [[trim]]  | ||
* [[xload]]  … arxload になった  | * [[xload]]  … arxload になった  | ||
* [[xunload]] … arxunload になった  | * [[xunload]] … arxunload になった  | ||
* [[vl-  | |||
== 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 と AutoCAD どちらにもあるが動作や結果が異なる関数 ==  | ||
実害が無いものも記述してます。(  | 実害が無いものも記述してます。(IJCAD 2016 時点)  | ||
* 四則演算系 :   | * 四則演算系 : 整数の計算で32ビット整数範囲外の値を計算した場合の結果が異なる。(AutoCADは実数に変換して計算した値が返るが、IJCADは変換してない。<- IJCAD 7 まで)  | ||
* [[gc]] : IJCAD(というかIntelliCAD?)ではガベージコレクトの仕組みは働いてない。いらんのは   | * [[gc]] : IJCAD(というかIntelliCAD?)ではガベージコレクトの仕組みは働いてない。いらんのは nil にしておくのが吉。  | ||
* [[getcfg]] : 情報の保存位置が違う。  | * [[getcfg]] : 情報の保存位置が違う。  | ||
* [[grvecs]] : UCS状態での挙動が違う。  | * [[grvecs]] : UCS状態での挙動が違う。(IJCAD8 まで)  | ||
* [[menucmd]] :   | * [[menucmd]] : IJCADでサポートしていないメニューパラメータは使えない。  | ||
* [[read-char]] : 連続した文字入力を受け取った時の扱いが違う。  | * [[read-char]] : 連続した文字入力を受け取った時の扱いが違う。  | ||
* [[setcfg]] : 情報の保存位置が違う。  | * [[setcfg]] : 情報の保存位置が違う。  | ||
* [[setenv]] : 情報の保存位置が違う。  | * [[setenv]] : 情報の保存位置が違う。  | ||
* [[snvalid]]  : 動いてない。(IJCAD 8 は動いてる)  | * [[snvalid]]  : 動いてない。(IJCAD 8 は動いてる)  | ||
* [[ssget]] :   | * [[ssget]] : オプションで非対応のものがある。(IJCAD8 まで)  | ||
* [[startapp]]  : 戻り値が異なる。  | * [[startapp]]  : 戻り値が異なる。  | ||
* [[strcase]]  :   | * [[strcase]]  : IJCADは全角文字も変わる。(IJCAD8 のみ)  | ||
* [[trans]]  :   | * [[trans]]  : 戻り値が異なるケースがある。(IJCAD8 まで)  | ||
* [[ascii]]  :   | * [[ascii]]  : 戻り値がユニコード(10進数)(IJCAD8 のみ)  | ||
[[Category:AutoLISP]]  | [[Category:AutoLISP]]  | ||
2025年10月31日 (金) 07:43時点における最新版
このページでは、AutoCAD と BricsCAD, IJCAD, IntelliCAD における、AutoLISP関数の互換について記述します。
AutoCAD と互換CAD でほぼ差異を意識せずに使える関数
- バニラLISP 系関数(概ね vl* の接頭辞がついてないものと思えば OK。)
 
AutoCAD にあって BricsCAD にない関数
- なさげ。
 
BricsCAD にあって AutoCAD にない関数
沢山ありすぎるのでBricsCADのLISPを参照。
- 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 のみ)