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

提供:GizmoLabs - だいたい CAD LISP なサイト
 
(同じ利用者による、間の22版が非表示)
1行目: 1行目:
{{AutoLISP}}
{{AutoLISP}}
このページでは、AutoCAD と IJCAD、IntelliCAD における、AutoLISP関数の互換について記述します。<br />
このページでは、AutoCAD と BricsCAD, IJCAD, IntelliCAD における、AutoLISP関数の互換について記述します。<br />


== AutoCAD にあって IJCAD・IntelliCAD にない関数 ==
== AutoCAD と互換CAD でほぼ差異を意識せずに使える関数 ==
* IJCAD 2013以降の情報です。
* バニラLISP 系関数(概ね vl* の接頭辞がついてないものと思えば OK。)


== AutoCAD にあって BricsCAD にない関数 ==
* なさげ。
== BricsCAD にあって AutoCAD にない関数 ==
* 見きれてないので、他にあったら教えて!
* [[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 にない関数 ==
* IJCAD 2014以前。
<div class="mcol2">
<div class="mcol2">
* [[acad-pop-dbmod]]
* [[acad-pop-dbmod]]
20行目: 41行目:
* [[defun-q-list-set]]
* [[defun-q-list-set]]
* [[initdia]]
* [[initdia]]
</div>
==IJCAD 8(IntelliCAD 7.x)で使えるVL関数==
<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-list-string|Vl-list->string]]
* [[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・2014 で使えるVL関数==
IJCAD 8 で使える関数に加えて下記の関数
<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>
</div>


88行目: 46行目:
* [[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


== IntelliCAD と AutoCAD どちらにもあるが動作や結果が異なる関数 ==
 
実害が無いものも記述してます。(IJCAD7 時点)
== BricsCAD と AutoCAD どちらにもあるが動作や結果が異なる関数 ==
* 四則演算系 : 整数の計算で32ビット整数範囲外の値を計算した場合の結果が異なる。(AutoCADは実数に変換して計算した値が返るが、IJCADは変換してない。)
実害が無いものも記述してます。
* [[gc]] : IJCAD(というかIntelliCAD?)ではガベージコレクトの仕組みは働いてない。いらんのは nil。
* [[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]] : 情報の保存位置が違う。
* [[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]]  : 戻り値が異なる。
* [[strcase]]  : IJCADは全角文字も変わる。
* [[strcase]]  : IJCADは全角文字も変わる。(IJCAD8 のみ)
* [[trans]]  : 戻り値が異なるケースがある。
* [[trans]]  : 戻り値が異なるケースがある。(IJCAD8 まで)
* [[ascii]]  : 戻り値がユニコード(10進数)(IJCAD8)
* [[ascii]]  : 戻り値がユニコード(10進数)(IJCAD8 のみ)
 


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

2025年3月9日 (日) 09:04時点における最新版

このページでは、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 にない関数


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