「VLE-関数」の版間の差分
(ページの作成:「VLE-関数は、BricsCAD の LISP で搭載されている拡張関数群。 AutoCAD の AutoLISP が古いベースのままでパフォーマンスなどがほぼ改...」) |
(→ファイル関数) |
||
(同じ利用者による、間の32版が非表示) | |||
1行目: | 1行目: | ||
{{BCAD_LISP}} | |||
VLE-関数は、BricsCAD の LISP に搭載されている拡張関数群。(BricsCAD V12.2 から搭載されバージョンを追う毎に拡充されてきている。) | |||
VLE- | |||
AutoCAD の AutoLISP が R2000 から古いベースのままでパフォーマンスなどがほぼ改良されていないに等しい状態なのに対して、BricsCAD は LISP も他の開発言語と同様な機能やパフォーマンスを提供すべく AutoLISP の関数に極力悪い影響を与えない形で改良されている。VLE-関数は、その一環として追加されているといえる。 | |||
事実、BricsCAD の LISP 処理速度は、AutoCAD や他の互換 CAD に比べて控えめに言って爆速といえるパフォーマンスになっている。(V23.2でC++ベースのAPIと大差ないレベルになってる。) | |||
vle-extension.lsp は純粋な AutoLISPコードのみを使用しているため、Windowsだけでなく、LinuxやMacintosh OSが動作している環境でも動作する。 | |||
MEMO: | MEMO: | ||
うちで作ってる、[[Gz-Lib: AutoLISP(自作関数)|GZ-Lib]] と同じような発想の部分もある。 | |||
===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"> | |||
* [[vle-alert]] | |||
* [[vle-collection-list|vle-collection->list]] | |||
* [[vle-safearray-list|vle-safearray->list]] | |||
* [[vle-aci2rgb]] V15で追加 | |||
* [[vle-rgb2aci]] V15で追加 | |||
* [[vle-selectionset-list|vle-selectionset->list]] | |||
* [[vle-fastcom]] | |||
* [[vle-optimizer]] | |||
* [[vle-int64to32]] | |||
* [[vle-atoi32]] | |||
* [[vle-itoa32]] | |||
* [[vle-hidepromptmenu]] | |||
* [[vle-showpromptmenu]] | |||
* [[vle-lispinstall]] | |||
* [[vle-lispversion]] | |||
* [[vle-licenselevel]] V17で追加 | |||
* [[vle-ping-alive]] | |||
* [[vle-startapp]] | |||
* [[vle-enableserverbusy]] | |||
* [[vle-compile-shape]] V23.1 で追加 | |||
</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-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-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
文字列関数
- vle-string-replace V17で追加
- vle-string-split
- vle-edittextinplace V21.1で追加
数学+幾何関数
ユーティリティ関数
- vle-alert
- vle-collection->list
- vle-safearray->list
- vle-aci2rgb V15で追加
- vle-rgb2aci V15で追加
- vle-selectionset->list
- vle-fastcom
- vle-optimizer
- vle-int64to32
- vle-atoi32
- vle-itoa32
- vle-hidepromptmenu
- vle-showpromptmenu
- vle-lispinstall
- vle-lispversion
- vle-licenselevel V17で追加
- vle-ping-alive
- vle-startapp
- vle-enableserverbusy
- vle-compile-shape V23.1 で追加
ベクトル代数関数
- 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
記号+定数関数
エンティティ関数
- 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
ファイル関数
- vle-file-encoding V22.1 で追加
- 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の記号と定数
- vle-extensions-active : VLEライブラリの有無を示す : VLE機能が利用可能な場合はT、そうでない場合はNIL
- vle_g_vecTol : (vle-vector-xxx)関数の幾何公差のプリセット、1e-10としてプリセットされる