「VLE-関数」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
 
(同じ利用者による、間の21版が非表示)
1行目: 1行目:
{{AutoLISP}}
{{BCAD_LISP}}


VLE-関数は、BricsCAD の LISP で搭載されている拡張関数群。
VLE-関数は、BricsCAD の LISP に搭載されている拡張関数群。(BricsCAD V12.2 から搭載されバージョンを追う毎に拡充されてきている。)
 
 
AutoCAD の AutoLISP が R2000 から古いベースのままでパフォーマンスなどがほぼ改良されていないに等しい状態なのに対して、BricsCAD は LISP も他の開発言語と同様な機能やパフォーマンスを提供すべく AutoLISP の関数に極力悪い影響を与えない形で改良されている。VLE-関数は、その一環として追加されているといえる。
事実、BricsCAD の LISP 処理速度は、AutoCAD や他の互換 CAD に比べて控えめに言って爆速といえるパフォーマンスになっている。(V23.2でC++ベースのAPIと大差ないレベルになってる。)
 
 
vle-extension.lsp は純粋な AutoLISPコードのみを使用しているため、Windowsだけでなく、LinuxやMacintosh OSが動作している環境でも動作する。


AutoCAD の AutoLISP が古いベースのままでパフォーマンスなどがほぼ改良されていないに等しい状態なのに対して、BricsCAD は LISP も他の開発言語と同様な機能やパフォーマンスを提供すべく AutoLISP の関数に極力悪い影響を与えない形で改良されている。
VLE-関数は、その一環として追加されているといえる。(BricsCAD は Activex 系の vla- 関数がほぼ無いのでそれの補完用という面もある)
事実、BricsCAD の LISP 処理速度は、AutoCAD や他の互換 CAD に比べて控えめに言って爆速といえるパフォーマンスになっている。(V18時点)


MEMO:
MEMO:
12行目: 16行目:


===VLE 関数ライブラリのカテゴリと関数===
===VLE 関数ライブラリのカテゴリと関数===
-----
====リスト系関数====
<div class="mcol3">
* [[vle-append]]
* [[vle-cadrassoc]] V20で追加
* [[vle-cdrassoc]]
* [[vle-list-intersect]]
* [[vle-list-massoc]] V16で追加
* [[vle-list-split]]
* [[vle-list-subtract]]
* [[vle-list-union]]
* [[vle-list-diff]]
* [[vle-member]]
* [[vle-nthX|vle-nth<x>]]
**vle-nth0,vle-nth1,vle-nth2,vle-nth3,vle-nth4,vle-nth5,vle-nth6,vle-nth7,vle-nth8,vle-nth9,
* [[vle-put-nth]]
* [[vle-remove-all]]
* [[vle-remove-first]]
* [[vle-remove-last]]
* [[vle-remove-nth]]
* [[vle-search]]
* [[vle-sublist]]
* [[vle-subst-nth]]
</div>
-----
====文字列関数====
<div class="mcol3">
* [[vle-string-replace]] V17で追加
* [[vle-string-split]]
* [[vle-edittextinplace]] V21.1で追加
</div>
-----
====数学+幾何関数====
<div class="mcol3">
* [[vle-ceiling]]
* [[vle-round]]
* [[vle-tan]]
* [[vle-floor]]
* [[vle-roundto]]
</div>
-----
==== ユーティリティ関数====
<div class="mcol3">
<div class="mcol3">
* リスト系関数
* [[vle-alert]]
** [[vle-append]]
* [[vle-collection-list|vle-collection->list]]
** [[vle-cdrassoc]]
* [[vle-safearray-list|vle-safearray->list]]
** [[vle-member]]
* [[vle-aci2rgb]] V15で追加
** [[vle-remove-all]]
* [[vle-rgb2aci]] V15で追加
** [[vle-remove-last]]
* [[vle-selectionset-list|vle-selectionset->list]]
** [[vle-search]]
* [[vle-fastcom]]
** [[vle-list-split]]
* [[vle-optimizer]]
** [[vle-list-intersect]]
* [[vle-int64to32]]
** [[vle-list-diff]]
* [[vle-atoi32]]
** [[vle-nthX|vle-nth<x>]]
* [[vle-itoa32]]
** [[vle-put-nth]]
* [[vle-hidepromptmenu]]
** [[vle-remove-first]]
* [[vle-showpromptmenu]]
** [[vle-remove-nth]]
* [[vle-lispinstall]]
** [[vle-sublist]]
* [[vle-lispversion]]
** [[vle-subst-nth]]
* [[vle-licenselevel]] V17で追加
** [[vle-list-union]]
* [[vle-ping-alive]]
** [[vle-list-massoc]]
* [[vle-startapp]]
** [[vle-list-subtract]]
* [[vle-enableserverbusy]]
* 文字列関数
* [[vle-compile-shape]] V23.1 で追加
** [[vle-string-replace]]
** [[vle-string-split]]
* 数学+幾何関数
** [[vle-ceiling]]
** [[vle-round]]
** [[vle-tan]]
** [[vle-floor]]
** [[vle-roundto]]
* ユーティリティ関数
** [[vle-append]]
** [[vle-cdrassoc]]
** [[vle-member]]
** [[vle-remove-all]]
** [[vle-remove-last]]
** [[vle-alert]]
** [[vle-aci2rgb]]
** [[vle-selectionset-list|vle-selectionset->list]]
** [[vle-fastcom]]
** [[vle-int64to32]]
** [[vle-itoa32]]
** [[vle-lispinstall]]
** [[vle-lispversion]]
** [[vle-collection-list|vle-collection->list]]
** [[vle-rgb2aci]]
** [[vle-startapp]]
** [[vle-optimizer]]
** [[vle-atoi32]]
** [[vle-hidepromptmenu]]
** [[vle-showpromptmenu]]
* 記号+定数関数
** [[vle-extensions-active]]
* エンティティ関数
** [[vle-curve-getperimeter]]
** [[vle-entget]]
** [[vle-entmod]]
** [[vle-getgeomextents]]
** [[vle-dictsearch]]
** [[vle-dictionary-list]]
** [[vle-ename-valid]]
** [[vle-entget-m]]
** [[vle-entget-massoc]]
** [[vle-entmod-m]]
** [[vle-dictobjname]]
** [[vle-tblsearch]]
** [[vle-table-list ]]
* ファイル関数
** [[vle-file-list|vle-file->list]]
**バイナリファイル読み込み関数
*** リトルエンディアン
**** [[vle-read-int8]]
**** [[vle-read-int16]]
**** [[vle-read-int32]]
**** [[vle-read-int64]]
**** [[vle-read-uint8]]
**** [[vle-read-uint16]]
**** [[vle-read-uint32]]
**** [[vle-read-uint64]]
**** [[vle-read-float]]
**** [[vle-read-double]]
**** [[vle-read-string]]
*** ビッグエンディアン
**** [[vle-read-int8-be]]
**** [[vle-read-int16-be]]
**** [[vle-read-int32-be]]
**** [[vle-read-int64-be]]
**** [[vle-read-uint8-be]]
**** [[vle-read-uint16-be]]
**** [[vle-read-uint32-be]]
**** [[vle-read-uint64-be]]
**** [[vle-read-float-be]]
**** [[vle-read-double-be]]
**バイナリファイル書き込み関数
*** リトルエンディアン
**** [[vle-write-int8]]
**** [[vle-write-int16]]
**** [[vle-write-int32]]
**** [[vle-write-int64]]
**** [[vle-write-uint8]]
**** [[vle-write-uint16]]
**** [[vle-write-uint32]]
**** [[vle-write-uint64]]
**** [[vle-write-float]]
**** [[vle-write-double]]
**** [[vle-write-string]]
***  ビッグエンディアン
**** [[vle-write-int8-be]]
**** [[vle-write-int16-be]]
**** [[vle-write-int32-be]]
**** [[vle-write-int64-be]]
**** [[vle-write-uint8-be]]
**** [[vle-write-uint16-be]]
**** [[vle-write-uint32-be]]
**** [[vle-write-uint64-be]]
**** [[vle-write-float-be]]
**** [[vle-write-double-be]]
* データタイプ関数
** [[vle-enamep]]
** [[vle-integerp]]
** [[vle-vlaobjectp]]
** [[vle-realp]]
** [[vle-stringp]]
** [[vle-filep]]
** [[vle-numberp]]
** [[vle-picksetp]]
** [[vle-safearrayp]]
** [[vle-variantp]]
* トランザクション+表示関数
** [[vle-displaypause]]
** [[vle-start-transaction]]
** [[vle-displayupdate]]
** [[vle-end-transaction]]
</div>
</div>
-----
====ベクトル代数関数====
<div class="mcol3">
* [[vle-vector-add]]
* [[vle-vector-angleto]]
* [[vle-vector-angletoref]]
* [[vle-vector-crossproduct]]
* [[vle-vector-dotproduct]]
* [[vle-vector-get]]
* [[vle-vector-getperpvector]]
* [[vle-vector-getucs]]
* [[vle-vector-iscodirectional]]
* [[vle-vector-isequal]]
* [[vle-vector-isparallel]]
* [[vle-vector-isperpendicular]]
* [[vle-vector-isunitlength]]
* [[vle-vector-isxaxis]]
* [[vle-vector-isyaxis]]
* [[vle-vector-iszaxis]]
* [[vle-vector-iszerolength]]
* [[vle-vector-length]]
* [[vle-vector-length2d]]
* [[vle-vector-length2dxz]]
* [[vle-vector-length2dyz]]
* [[vle-vector-midpoint]]
* [[vle-vector-negate]]
* [[vle-vector-normalise]]
* [[vle-vector-scale]]
* [[vle-vector-sub]]
* [[vle-vector-gettolerance]]
* [[vle-vector-settolerance]]
* [[vl-vector-project-pointToEntity]]
</div>
-----
====記号+定数関数====
<div class="mcol3">
* [[vle-extensions-active]]
</div>
-----
====エンティティ関数====
<div class="mcol3">
* [[vla-converttostaticblock]] V24.2 で追加
* [[vla-converttoanonymousblock]] V24.2 で追加
* [[vle-curve-getperimeter]]
* [[vle-entget]]
* [[vle-entmod]]
* [[vla-get-xeffectivescalefactor]] V23.2 で追加
* [[vla-get-yeffectivescalefactor]] V23.2 で追加
* [[vla-get-zeffectivescalefactor]] V23.2 で追加
* [[vla-getblockattributevalue]] V24.2 で追加
* [[vla-getblockattributevalue32]] V24.2 で追加
* [[vla-getblockattributevalue2]] V24.2 で追加
* [[vla-getblockattributevalue232]] V24.2 で追加
* [[vle-getgeomextents]]
* [[vle-dictsearch]]
* [[vle-dictionary-list]]
* [[vle-ename-valid]]
* [[vle-entget-m]]
* [[vle-entget-massoc]] V16で追加
* [[vle-entmod-m]]
* [[vle-dictobjname]]
* [[vle-is-curve]] V23.1 で追加
* [[vla-put-xeffectivescalefactor]] V23.2 で追加
* [[vla-put-yeffectivescalefactor]] V23.2 で追加
* [[vla-put-zeffectivescalefactor]] V23.2 で追加
* [[vla-setblockattributevalue]] V24.2 で追加
* [[vla-setblockattributevalue32]] V24.2 で追加
* [[vla-setblockattributevalue2]] V24.2 で追加
* [[vla-setblockattributevalue232]] V24.2 で追加
* [[vle-sunid]] V23.1 で追加
* [[vle-table-list]]
* [[vle-tblsearch]]
</div>
-----
====ファイル関数====
<div class="mcol3">
* [[vle-file-encoding]] V22.1 で追加
* [[vle-file-list|vle-file->list]]
*バイナリファイル読み込み関数
** リトルエンディアン
** [[vle-read-int8]]
** [[vle-read-int16]]
** [[vle-read-int32]]
** [[vle-read-int64]]
** [[vle-read-uint8]]
** [[vle-read-uint16]]
** [[vle-read-uint32]]
** [[vle-read-uint64]]
** [[vle-read-float]]
** [[vle-read-double]]
** [[vle-read-string]]
** ビッグエンディアン
** [[vle-read-int8-be]]
** [[vle-read-int16-be]]
** [[vle-read-int32-be]]
** [[vle-read-int64-be]]
** [[vle-read-uint8-be]]
** [[vle-read-uint16-be]]
** [[vle-read-uint32-be]]
** [[vle-read-uint64-be]]
** [[vle-read-float-be]]
** [[vle-read-double-be]]
*バイナリファイル書き込み関数
** リトルエンディアン
** [[vle-write-int8]]
** [[vle-write-int16]]
** [[vle-write-int32]]
** [[vle-write-int64]]
** [[vle-write-uint8]]
** [[vle-write-uint16]]
** [[vle-write-uint32]]
** [[vle-write-uint64]]
** [[vle-write-float]]
** [[vle-write-double]]
** [[vle-write-string]]
**  ビッグエンディアン
** [[vle-write-int8-be]]
** [[vle-write-int16-be]]
** [[vle-write-int32-be]]
** [[vle-write-int64-be]]
** [[vle-write-uint8-be]]
** [[vle-write-uint16-be]]
** [[vle-write-uint32-be]]
** [[vle-write-uint64-be]]
** [[vle-write-float-be]]
** [[vle-write-double-be]]
</div>
-----
==== データタイプ関数====
<div class="mcol3">
* [[vle-enamep]]
* [[vle-integerp]]
* [[vle-vlaobjectp]]
* [[vle-realp]]
* [[vle-stringp]]
* [[vle-filep]]
* [[vle-numberp]]
* [[vle-picksetp]]
* [[vle-safearrayp]]
* [[vle-variantp]]
</div>
-----
====トランザクション+表示関数====
<div class="mcol3">
* [[vle-displaypause]]
* [[vle-start-transaction]]
* [[vle-displayupdate]] V17で追加
* [[vle-end-transaction]]
</div>
==VLEの記号と定数==
* [[vle-extensions-active]] : VLEライブラリの有無を示す : VLE機能が利用可能な場合はT、そうでない場合はNIL
* [[vle_g_vecTol]] : (vle-vector-xxx)関数の幾何公差のプリセット、1e-10としてプリセットされる
[[Category:BricsCADのLISP]]

2024年9月27日 (金) 08:03時点における最新版

VLE-関数は、BricsCAD の LISP に搭載されている拡張関数群。(BricsCAD V12.2 から搭載されバージョンを追う毎に拡充されてきている。)


AutoCAD の AutoLISP が R2000 から古いベースのままでパフォーマンスなどがほぼ改良されていないに等しい状態なのに対して、BricsCAD は LISP も他の開発言語と同様な機能やパフォーマンスを提供すべく AutoLISP の関数に極力悪い影響を与えない形で改良されている。VLE-関数は、その一環として追加されているといえる。 事実、BricsCAD の LISP 処理速度は、AutoCAD や他の互換 CAD に比べて控えめに言って爆速といえるパフォーマンスになっている。(V23.2でC++ベースのAPIと大差ないレベルになってる。)


vle-extension.lsp は純粋な AutoLISPコードのみを使用しているため、Windowsだけでなく、LinuxやMacintosh OSが動作している環境でも動作する。


MEMO:

うちで作ってる、GZ-Lib と同じような発想の部分もある。


VLE 関数ライブラリのカテゴリと関数


リスト系関数


文字列関数



数学+幾何関数



ユーティリティ関数


ベクトル代数関数



記号+定数関数



エンティティ関数



ファイル関数



データタイプ関数



トランザクション+表示関数

VLEの記号と定数

  • vle-extensions-active : VLEライブラリの有無を示す : VLE機能が利用可能な場合はT、そうでない場合はNIL
  • vle_g_vecTol : (vle-vector-xxx)関数の幾何公差のプリセット、1e-10としてプリセットされる