「AutoLisp関数互換表」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
 
(同じ利用者による、間の64版が非表示)
1行目: 1行目:
{{AutoLISP}}
{{AutoLISP}}
このページでは、AutoCADとIJCADにおける、AutoLISP関数の互換について記述します。<br />
このページでは、AutoCAD と BricsCAD, IJCAD, IntelliCAD における、AutoLISP関数の互換について記述します。<br />
多くの場合、AutoCAD と IntelliCAD との比較と一致するかと思いますが、あくまでもIJCADとの比較という事にご注意ください。
 
== AutoCAD と互換CAD でほぼ差異を意識せずに使える関数 ==
* バニラLISP 系関数(概ね vl* の接頭辞がついてないものと思えば OK。)
 
 
== AutoCAD にあって BricsCAD にない関数 ==
* なさげ。
 
== BricsCAD にあって AutoCAD にない関数 ==
* 見きれてないので、他にあったら教えて!
* [[vlax-curve-getperimeter]]
* [[VLE-関数]]
* [[bim関数-BricsCAD]]
* [[シートメタル関数-BricsCAD]]
* [[シートセット関数-BricsCAD]]
* [[tin+civil関数-BricsCAD]]


== AutoCAD にあって IJCAD にない関数 ==
== AutoCAD にあって IJCAD にない関数 ==
* IJCAD 2014以前。
<div class="mcol2">
<div class="mcol2">
* vl で始まる177個の関数(当サイトでは便宜上、この177個をVisualLISP関数と呼んでいます。)* 一部は GZ-LIB で実装。
* [[acad-pop-dbmod]]
* [[acad-pop-dbmod]]
* [[acad-push-dbmod]]
* [[acad-push-dbmod]]
* [[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]]
16行目: 32行目:
* [[acet-ms-to-ps]]
* [[acet-ms-to-ps]]
* [[acet-ps-to-ms]]
* [[acet-ps-to-ms]]
* [[arx]]
* [[arxload]]
* [[arxunload]]
* [[autoarxload]]
* [[defun-q]]  
* [[defun-q]]  
* [[defun-q-list-ref]]  
* [[defun-q-list-ref]]  
* [[defun-q-list-set]]
* [[defun-q-list-set]]
* [[function]]
* [[layerstate-addlayers]]
* [[layerstate-compare]]
* [[layerstate-delete]]
* [[layerstate-export]]
* [[layerstate-getlastrestored]]
* [[layerstate-getlayers]]
* [[layerstate-getnames]]
* [[layerstate-has]]
* [[layerstate-import]]
* [[layerstate-importfromdb]]
* [[layerstate-removelayers]]
* [[layerstate-rename]]
* [[layerstate-restore]]
* [[layerstate-save]]
* [[initdia]]
* [[initdia]]
* [[layoutlist]] * GZ-LIB で実装。
以下の関数は ITC の IntelliCAD 7より追加されるらしい。
* [[VL-DIRECTORY-FILES]]
* [[VL-FILE-COPY]]
* [[VL-FILE-DELETE]]
* [[VL-FILE-DIRECTORY-P]]
* [[VL-FILENAME-BASE]]
* [[VL-FILENAME-DIRECTORY]]
* [[VL-FILENAME-EXTENSION]]
* [[VL-FILENAME-MKTEMP]]
* [[VL-FILE-RENAME]]
* [[VL-FILE-SIZE]]
* [[VL-FILE-SYSTIME]]
* [[VL-MKDIR]]
* [[VL-REGISTRY-DELETE]]
* [[VL-REGISTRY-DESCENDENTS]]
* [[VL-REGISTRY-READ]]
* [[VL-REGISTRY-WRITE]]
* [[VL-SORT]]
* [[VL-STRING-LIST|VL-STRING->LIST]]
* [[VL-STRING-ELT]]
* [[VL-STRING-LEFT-TRIM]]
* [[VL-STRING-MISMATCH]]
* [[VL-STRING-POSITION]]
* [[VL-STRING-RIGHT-TRIM]]
* [[VL-STRING-SEARCH]]
* [[VL-STRING-SUBST]]
* [[VL-STRING-TRANSLATE]]
* [[VL-STRING-TRIM]]
</div>
</div>


== IJCAD にあって AutoCAD にない関数 ==
== IntelliCAD にあって AutoCAD にない関数 ==
* [[ads]] … arx になった
* [[ads]] … arx になった
* [[autoxload]]
* [[autoxload]]
* [[endtransaction‎]] … IntelliCAD Ver8 の途中から
* [[log10]]
* [[log10]]
* [[lpad]]
* [[lpad]]
* [[rpad]]
* [[rpad]]
* [[starttransaction‎]] … IntelliCAD Ver8 の途中から
* [[tan]]
* [[tan]]
* [[trim]]
* [[trim]]
* [[xload]]  … arxload になった
* [[xload]]  … arxload になった
* [[xunload]] … arxunload になった
* [[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 と AutoCAD どちらにもあるが動作や結果が異なる関数 ==
実害が無いものも記述してます。
実害が無いものも記述してます。(IJCAD 2016 時点)
* 四則演算系 : 整数の計算で32ビット整数範囲外の値を計算した場合の結果が異なる。(AutoCADは実数に変換して計算した値が返るが、IJCADは変換してない。)
* 四則演算系 : 整数の計算で32ビット整数範囲外の値を計算した場合の結果が異なる。(AutoCADは実数に変換して計算した値が返るが、IJCADは変換してない。<- IJCAD 7 まで)
* [[gc]] : IJCAD(というかIntelliCAD?)ではガベージコレクトの仕組みは働いてない。いらんのは nil。
* [[gc]] : IJCAD(というかIntelliCAD?)ではガベージコレクトの仕組みは働いてない。いらんのは nil にしておくのが吉。
* [[getcfg]] : 情報の保存位置が違う。
* [[getcfg]] : 情報の保存位置が違う。
* [[grvecs]] : UCS状態での挙動が違う。
* [[grvecs]] : UCS状態での挙動が違う。(IJCAD8 まで)
* [[menucmd]] : IJCADでサポートできてないメニューパラメータは使えない。
* [[menucmd]] : IJCADでサポートしていないメニューパラメータは使えない。
* [[read-char]] : 連続した文字入力を受け取った時の扱いが違う。
* [[read-char]] : 連続した文字入力を受け取った時の扱いが違う。
* [[setcfg]] : 情報の保存位置が違う。
* [[setcfg]] : 情報の保存位置が違う。
* [[setenv]] : 情報の保存位置が違う。
* [[setenv]] : 情報の保存位置が違う。
* [[setfunhelp]] : HTMLヘルプのキーワードに非対応。
* [[snvalid]]  : 動いてない。(IJCAD 8 は動いてる)
* [[snvalid]]  : 動いてない。
* [[ssget]] : オプションで非対応のものがある。(IJCAD8 まで)
* [[ssget]] : オプションで非対応のものがある。
* [[startapp]]  : 戻り値が異なる。
* [[startapp]]  : 戻り値が異なる。
* [[trans]]  : 戻り値が異なるケースがある。
* [[strcase]]  : IJCADは全角文字も変わる。(IJCAD8 のみ)
* [[trans]]  : 戻り値が異なるケースがある。(IJCAD8 まで)
* [[ascii]]  : 戻り値がユニコード(10進数)(IJCAD8 のみ)




[[Category:AutoLISP]]
[[Category:AutoLISP]]

2022年10月24日 (月) 06:33時点における最新版

このページでは、AutoCAD と BricsCAD, IJCAD, IntelliCAD における、AutoLISP関数の互換について記述します。

AutoCAD と互換CAD でほぼ差異を意識せずに使える関数

  • バニラLISP 系関数(概ね vl* の接頭辞がついてないものと思えば OK。)


AutoCAD にあって BricsCAD にない関数

  • なさげ。

BricsCAD にあって AutoCAD にない関数

AutoCAD にあって IJCAD にない関数

  • IJCAD 2014以前。

IntelliCAD にあって AutoCAD にない関数


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 のみ)