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

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
 
(同じ利用者による、間の29版が非表示)
1行目: 1行目:
VLE-関数は、BricsCAD の LISP で搭載されている拡張関数群。
{{BCAD_LISP}}


AutoCAD の AutoLISP が古いベースのままでパフォーマンスなどがほぼ改良されていないに等しい状態なのに対して、BricsCAD は LISP も他の開発言語と同様な機能やパフォーマンスを提供すべく AutoLISP の関数に極力悪い影響を与えない形で改良されている。
VLE-関数は、BricsCAD の LISP に搭載されている拡張関数群。(BricsCAD V12.2 から搭載されバージョンを追う毎に拡充されてきている。)
VLE-関数は、その一環として追加されているといえる。
事実、BricsCAD の LISP 処理速度は、AutoCAD や他の互換 CAD に比べて控えめに言って爆速といえるパフォーマンスになっている。(V18時点)


VLE 関数ライブラリのカテゴリ
 
* [[VLE-List関数|リスト関数]]
AutoCAD の AutoLISP が R2000 から古いベースのままでパフォーマンスなどがほぼ改良されていないに等しい状態なのに対して、BricsCAD は LISP も他の開発言語と同様な機能やパフォーマンスを提供すべく AutoLISP の関数に極力悪い影響を与えない形で改良されている。VLE-関数は、その一環として追加されているといえる。
* [[VLE-String関数|文字列関数]]
事実、BricsCAD の LISP 処理速度は、AutoCAD や他の互換 CAD に比べて控えめに言って爆速といえるパフォーマンスになっている。(V23.2でC++ベースのAPIと大差ないレベルになってる。)
* [[VLE-Mathematic_Geometric関数|ジオメトリ関数]]
 
* [[VLE-Utility関数|ユーティリティ関数]]
 
* [[VLE-Symbols_Constants関数|シンボル+コンスタント関数]]
vle-extension.lsp は純粋な AutoLISPコードのみを使用しているため、Windowsだけでなく、LinuxやMacintosh OSが動作している環境でも動作する。
* [[VLE-Entity関数|エンティティ関数]]
* [[VLE-File関数|ファイル関数]]
* [[VLE-Datatype関数|データタイプ関数]]
* [[VLE-Transaction_Display関数|トランザクション+ディスプレイ関数]]




MEMO:
MEMO:
  うちで作ってる、[[Gz-Lib: AutoLISP(自作関数)|GZ-Lib]] と同じような発想。
  うちで作ってる、[[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の記号と定数

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