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

提供:GizmoLabs - だいたい CAD LISP なサイト
 
(同じ利用者による、間の33版が非表示)
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">
* [[acad-pop-dbmod]]
* [[acad-pop-dbmod]]
9行目: 26行目:
* [[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行目: 32行目:
* [[acet-ms-to-ps]]
* [[acet-ms-to-ps]]
* [[acet-ps-to-ms]]
* [[acet-ps-to-ms]]
* [[arx]] * IJCAD 8で対応
* [[arxload]] * IJCAD 8で対応
* [[arxunload]]  * IJCAD 8で対応
* [[autoarxload]] * IJCAD 2013で対応
* [[defun-q]]  
* [[defun-q]]  
* [[defun-q-list-ref]]  
* [[defun-q-list-ref]]  
* [[defun-q-list-set]]
* [[defun-q-list-set]]
* [[function]] * IJCAD2013で対応
* [[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 で実装。
* vl で始まる関数(当サイトでは便宜上、vl で始まる関数を VisualLISP 関数と呼んでいます。)* 一部は GZ-LIB で実装。
</div>
</div>


==IJCAD8・2013 で使えるVL関数==
== IntelliCAD にあって AutoCAD にない関数 ==
<div class="mcol2">
* [[vl-directory-files]]
* [[vl-file-directory-p]]
* [[vl-file-copy]]
* [[vl-file-delete]]
* [[vl-file-rename]]
* [[vl-file-size]]
* [[vl-file-systime]]
* [[vl-filename-base]]
* [[vl-filename-directory]]
* [[vl-filename-mktemp]]
* [[vl-filename-extension]]
* [[vl-mkdir]]
* [[vl-registry-delete]]
* [[vl-registry-descendents]]
* [[vl-registry-read]]
* [[vl-registry-write]]
* [[vl-sort]]
* [[vl-string-elt]]
* [[vl-string-left-trim]]
* [[vl-string-list|vl-string->list]]
* [[vl-string-mismatch]]
* [[vl-string-position]]
* [[vl-string-right-trim]]
* [[vl-string-search]]
* [[vl-string-subst]]
* [[vl-string-translate]]
* [[vl-string-trim]]
</div>
 
==IJCAD 2013 で使えるVL関数==
<div class="mcol2">
* [[vl-acad-undefun]]
* [[vl-catch-all-error-p]]
* [[vl-doc-export]]
* [[vl-doc-import]]
* [[vl-load-all]]
* [[vl-member-if-not]]
* [[vl-productinfo]]
* [[vl-remove-if-not]]
* [[vl-vlx-loaded-p]]
* [[vlax-curve-getArea]]
* [[vlax-curve-getPointAtDist]]
* [[vlax-curve-getStartPoint]]
* [[vlax-curve-isPeriodic]]
* [[vlax-ename-vla-object|vlax-ename->vla-object]]
* [[vlax-erased-p]]
* [[vlax-for]]
* [[vlax-get-or-create-object]]
* [[vlax-import-type-library]]
* [[vlax-ldata-get]]
* [[vlax-make-safearray]]
* [[vlax-make-variant]]
* [[vlax-product-key]]
* [[vlax-safearray-get-dim]]
* [[vlax-safearray-get-l-bound]]
* [[vlax-vla-object-ename|vlax-vla-object->ename]]
* [[VLA-関数]] 各種
</div>
 
== IJCAD にあって AutoCAD にない関数 ==
* [[ads]] … arx になった
* [[ads]] … arx になった
* [[autoxload]]
* [[autoxload]]
* [[endtransaction‎]] … IJCAD8 の途中から
* [[endtransaction‎]] … IntelliCAD Ver8 の途中から
* [[log10]]
* [[log10]]
* [[lpad]]
* [[lpad]]
* [[rpad]]
* [[rpad]]
* [[starttransaction‎]] … IJCAD8 の途中から
* [[starttransaction‎]] … IntelliCAD Ver8 の途中から
* [[tan]]
* [[tan]]
* [[trim]]
* [[trim]]
* [[xload]]  … arxload になった
* [[xload]]  … arxload になった
* [[xunload]] … arxunload になった
* [[xunload]] … arxunload になった
* [[vl-productinfo]] … IJCAD2013
 
 
== 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 どちらにもあるが動作や結果が異なる関数 ==
実害が無いものも記述してます。(IJCAD7 時点)
実害が無いものも記述してます。(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]] : 情報の保存位置が違う。
* [[snvalid]]  : 動いてない。(IJCAD 8 は動いてる)
* [[snvalid]]  : 動いてない。(IJCAD 8 は動いてる)
* [[ssget]] : オプションで非対応のものがある。
* [[ssget]] : オプションで非対応のものがある。(IJCAD8 まで)
* [[startapp]]  : 戻り値が異なる。
* [[startapp]]  : 戻り値が異なる。
* [[trans]]  : 戻り値が異なるケースがある。
* [[strcase]]  : IJCADは全角文字も変わる。(IJCAD8 のみ)
* [[ascii]]  : 戻り値がユニコード(10進数)(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 のみ)