「BricsCAD における LISP API の仕様追加・変更履歴」の版間の差分
154行目: | 154行目: | ||
# DOSLib エミュレーション関数の追加 > [[dos_copy]], [[dos_mkdir]] | # DOSLib エミュレーション関数の追加 > [[dos_copy]], [[dos_mkdir]] | ||
# VLE 関数の追加 > [[vle-cadrassoc]] | # VLE 関数の追加 > [[vle-cadrassoc]] | ||
====BLADE の改善と追加==== | |||
* BLADE : AutoComplete リストが SystemVariables と COM Properties + Methods もサポートするようになった。 | |||
* BLADE : 起動時およびAutoCompleteリストの初期表示時のパフォーマンスを改善 | |||
* BLADE : "Lisp & DCL" メニューに、(dlg-sysvar) Lisp関数としてアクセス可能な、新しい "System Variables" ダイアログを提供。 | |||
* BLADE : 「リソース」タブで、「外部関数」呼び出しと「未知/未解決関数」呼び出しのカテゴリを常に表示するようになった。 | |||
* BLADE : すべてのツールチップ(マウスホバー時、オートコンプリートリスト、コード入力時)で、実際のLisp関数の位置を表示するように変更。 | |||
* 内部構文データベースがすべての Standard-AutoLISP 関数に対応し、関連するツールチップを提供。 | |||
=== V19.n (V.1.1, V.1.2)=== | === V19.n (V.1.1, V.1.2)=== |
2023年1月28日 (土) 09:47時点における版
BricsCAD における LISP の仕様追加・変更履歴 は以下の通り。
追える分だけ書いてってるので他にもあったら教えて下さい。
- 基本的に BricsCAD 独自の機能についてそれに対応する API も実装される方向性で実装されていってる。 >> BricsCADのLISP
- COMの実装は vla-get-xxx,vla-set-xxx が使えるようになると思ってOK。
- Fast-COM の実装は、対応するCOM関数が爆速になると思ってOK。
V23.1.02 (V.1.6)
多くのマイナーな不具合とグリッチが修正された (Reformat/Beautify, LISPINIT=0 モードへの対応, ...).
IFC BIMタイプに対応するため、名前ベースのBIM分類のための新しいLISP BIM関数が追加された。
- bim:get-all-classifications-byname
- bim:get-all-classified-byname
- bim:get-all-usedclassifications-byname
- bim:get-bimtype-byname
- bim:is-classified-byname
- bim:set-bimtype-byname
3D拘束と機械部品機能に新しい関数ファミリーを追加
- Mechanical コンポーネント
- 3D Constraints Groups (3D拘束グループ)
- 3D Constraints (3D拘束)
- 3D Constraints Parameters (3D拘束パラメータ)
- Rhino Import & Export
BricsCAD専用のLisp関数を追加 :
新しい VLE 関数の追加 :
V22.1 (V.1.5)
- BLADE LISP IDE : 多くの問題、不具合、グリッチが修正され、"Syntax & Variables" ダイアログの拡張、参照するLispファイルの解析とレポートができるようになったことで、デバッグがより簡単になった。
- デバックが大幅に高速化された。(最大5倍)
- プリロードされたLispファイルのデバッグ(BLADE&Debugger外でロードされたもの)が可能になった。(大きめプログラム作ってたりすると割と重要)
- 拡張VLA機能 (プロパティ+メソッド)Linux + Mac用の追加(Windowsの "Fast-COM "にも対応)
AddObject AddPViewPort AddXrecord AppendInnerLoop AppendOuterLoop AssociativeHatch AttachmentPoint BackgroundFill ColorIndex ColorMethod ConfigName CustomScale Description DimensionLineColor DimTxtDirection Display DisplayScrollBars EntityColor Explode ExtensionLineColor FontFile Freeze GetBlockTableRecordId GetBlockTableRecordId32 GetBlockTableRecordId2 GetBlockTableRecordId232 GetCanonicalMediaNames GetCellTextStyle GetCellTextHeight GetCustomScale GetName GetObject GetPaperMargins GetPaperSize GetLoopAt GetPlotDeviceNames GetProjectFilePath GetWindowToPlot GetXData InsertLoopAt LastHeight LayerOn Lock LockPosition MTextAttribute NumberOfLoops ObliqueAngle PaperUnits Plottable PolarPoint RefreshPlotDeviceInfo Remove Rename Replace SetBlockTableRecordId SetBlockTableRecordId32 SetBlockTableRecordId2 SetBlockTableRecordId232 SetCellTextHeight SetCellTextStyle SetCustomScale SetProjectFilePath SetWindowToPlot StandardScale StyleSheet SetXData TabOrder Target TextAlignmentPoint TextBackgroundFill TextPosition TextColor Used UseStandardScale ViewportDefault ViewportOn XScaleFactor YScaleFactor ZScaleFactor
マテリアルハンドリングとIFCファイルのインポート/エクスポートのための拡張BIM API機能(V22.2以降)
bim:ifc-exportfile bim:ifc-importfile bim:dlg-profiles bim:get-all-availablematerials bim:get-all-usedmaterials bim:has-material bim:get-material bim:save-material bim:delete-material
Linux + Mac向けの拡張DOSLibの実装(V22.2以降)
dos_deltree
新しく追加された VLE 関数
vle-file-encoding
BLADE の改善と追加
Syntax & Variables" ダイアログが改善された。 選択されたファイルまたはDEFUNスコープに対して、選択されたファイル/DEFUNの実行に必要なすべての参照Lispファイルをリストボックスで表示するようになった。 これにより、読み込む必要のある必須 Lisp ファイルコードの概要を素早く把握することができる。
さらに、リストボックス内のファイルをダブルクリックすると、「構文と変数」ダイアログが開き、ダブルクリックした Lisp ファイルを解析することができるようになった。
デバッギングが大幅に高速化
デバッガに関するいくつかの改良(メモリ管理、データおよびコードのブレークポイント処理)により、Lispコードがデバッガで処理される際のパフォーマンスが大幅に改善された。 DebugStep モード (SingleStep, StepOver) が微調整され、より一貫性があり予測可能な動作に改善された。 CodeBreakPointsが同じ行のコードで何度もトリガーされることがなくなった。
もう一つの重要な改良点
プリロードされたLispファイル(BLADEおよびデバッガ外でBricsCADにロード)のデバッグが可能になった。 BLADEデバッガは、StepIntoデバッグステップモード、アクティブコード、データ、システム変数のブレークポイントから、プリロードされたLispコードのHalt操作を自動的に認識し、デバッガ下でLispファイルコードを自動的に動的にロードし、すべてのグローバル変数の上書きを防ぎ、ロード時のLispコードを実行しない(Lispファイルがすでにロードされているので、アプリケーションロジックを保持)ようにした。 これにより、Lispコードのデバッグがかつてないほど簡単になり、事実上フールプルーフになった。
最後に、多くの視覚的な不具合が修正された。
V21.n (V.1.4)
- BLADE が UTF-8/16でエンコードされたLispをより適切にサポートするようになった。ソースファイルのエンコーディングをBOM付きUTF-8/16で使用することが推奨されている。(エンコードなしのプレーンANSIも可)
- DEScoderv2.9 の搭載、「コード圧縮」に関する問題とデバッグのサポート。
- ジェネリックプロパティ関数が追加。
- (dumpallproperties),(ispropertyvalid),(ispropertyreadonly),(getpropertyvalue),(setpropertyvalue) が追加され互換性が向上。
- TinSurface関数が追加。(BricsCAD独自)
- SheetSetManager 関連関数が追加。
- 以下の Linux + Mac用拡張VLA機能(プロパティ+メソッド)の追加(Windowsの "Fast-COM "にも対応)
AddItems Alignment BasePoint Boolean Coordinate DirectionVector MajorAxis MajorRadius MinorAxis MinorRadius RadiusRatio SecondPoint SectionSolid SliceSolid Type XVector YVector
Linux + Mac用の拡張DOSLib実装
dos_strtokens dos_strtrim dos_strtrimleft dos_strtrimright
VLE-関数の追加
vle-edittextinplace
新しい「スペース」コンセプトに関連する新しい BricsCAD BIMインターフェース機能
bim:get-allspaces bim:get-space bim:get-isspacevalid bim:get-isspaceupdated bim:get-spacenumber bim:get-spacearea bim:get-spaceboundaryents bim:get-spacerepresentation bim:set-spacenumber bim:set-spacerepresentation bim:create-space bim:update-space
BLADE の改良と追加
リソースタブは、常に新しい LISP Core Functions ブランチを表示し、「コンソール」、「Lisp/DES ファイル」、「BRX/NET ファイル」を使用して、ロードされたすべてのファイルと、定義されたすべての DEFUN 関数とコマンドを文書化するようになった。 また、(他の Lisp/BRX/NET ファイルに上書きされたため)無効となった DEFUN 名も表示される。 エラーが発生した Lisp ファイルは赤色で表示され、定義された DEFUN 関数はエラーが発生するまでロードされたものとして表示される。
Lispファイル(.lsp, .des)はBLADE外部で読み込むことができ、デバッグに使用することができる。 (DEScoder v2.9で作成されたDES暗号化Lispファイルにも対応)
V20.n (V.1.3)
- 全体的な Lisp のパフォーマンス改善。特に大幅に深くネストされた+再帰関数のようなコンテキスト、VLRデータベース +オブジェクトリアクター;
- (vl-annotative-xxx) 注釈スケールを処理するための関数セットが追加 (BricsCAD独自)
- SecureLoad"、"LegacyCodeSearch"、"TrustedPaths" に関する挙動が明確に。
- VLA メソッドの追加 > ActiveProfile, CanonicalMediaName, CopyProfile, DeleteProfile, ExportProfile, ImportProfile, ObjectId32ToObjectIdString, QNewTemplateFile,
RenameProfile, ResetProfile, SendModelessOperationStart, SendModelessOperationEnded, TemplateDwgPath, GetBoundingBox
- DOSLib エミュレーション関数の追加 > dos_copy, dos_mkdir
- VLE 関数の追加 > vle-cadrassoc
BLADE の改善と追加
- BLADE : AutoComplete リストが SystemVariables と COM Properties + Methods もサポートするようになった。
- BLADE : 起動時およびAutoCompleteリストの初期表示時のパフォーマンスを改善
- BLADE : "Lisp & DCL" メニューに、(dlg-sysvar) Lisp関数としてアクセス可能な、新しい "System Variables" ダイアログを提供。
- BLADE : 「リソース」タブで、「外部関数」呼び出しと「未知/未解決関数」呼び出しのカテゴリを常に表示するようになった。
- BLADE : すべてのツールチップ(マウスホバー時、オートコンプリートリスト、コード入力時)で、実際のLisp関数の位置を表示するように変更。
- 内部構文データベースがすべての Standard-AutoLISP 関数に対応し、関連するツールチップを提供。
V19.n (V.1.1, V.1.2)
- 19 - BLADE の大幅強化。IDEっぽさが高くなった。
- 19.2 - LISPプロファイラー が BLADE に統合された。
- 19.2 - DESCoder v2.8 に更新 > コマンドライン引数でスペースが含まれるファイル名またはフォルダー名の問題改善。
V18.n (V.1.0, V.1.1)
- 18.2 - LISPエディター&デバッガーの BLADE を搭載。
- 18.2 - BIM LISP(BricsCAD独自)で「部屋」に関連した関数を追加。
- 18.2 - VLX名前空間のサポート。DEScoder v2.7
- 18.2 - DOSLibエミュレーション関数の追加 > dos_command, dos_fileex
V17.n (V.0.9.9, V.1.0)
- 17.2.07 - BIM LISP 関数群が追加される。(BricsCAD独自)
- AutoLISP 関数の追加:(layerstate-restore), (layerstate-save), (layerstate-export), (layerstate-import), (layerstate-getlastrestored),(layerstate-importfromdb), (layerstate-removelayers)
- COM のメソッドの追加。> GetBlockTableRecordId32,SetBlockTableRecordId32, GetBlockTableRecordId232, SetBlockTableRecordId232, GetBlockAttributeValue32, SetBlockAttributeValue32, GetBlockAttributeValue232, SetBlockAttributeValue232, GetFieldId32, SetFieldId32, GetFieldId232, SetFieldId232, GetGridLinetype32, SetGridLinetype32
- VLE 関数の追加 > vle-string-replace, vle-displayupdate, vle-licenselevel
- VL- 関数の追加 > vl-vplayer-set-color, vl-vplayer-set-truecolor, vl-vplayer-set-linetype, vl-vplayer-set-lineweight, vl-vplayer-set-transparency, vl-vplayer-get-color, vl-vplayer-get-linetype, vl-vplayer-get-lineweight, vl-vplayer-get-transparency
- Fast-COM のプロパティとメソッドの追加。> AddMLeader, Columns, CopyFrom, EntityTransparency, Erase, GetText, GetTextHeight, GetDynamicBlockProperties, HeaderSuppressed, Justification, MLineScale, PropertyName, RegenerateTableSuppressed, Rows, SetText, SetTextHeight, StyleName, TitleSuppressed, ToolPalettePath, Value, GetMinimumColumnWidth, GetMinimumRowHeight, GetColumnWidth, SetColumnWidth, GetRowHeight, SetRowHeight, ColumnWidth, RowHeight
- AutoCAD AutoLISP との互換性を高めるために、ほとんどの Lisp COM 関数 (vlax-get/put-property ...)、(vla-get-xxx ...)、(vla-put-xxx ...) が COM 固有の Variants/SafeArrays だけでなく、"普通の" Lisp データ型も入力として受け付けるようになった。
- ExpressTools の関数追加 > acet-geom-arbitrary-x, acet-layerp-mode, acet-layerp-mark
- ExpressTools の(内部的)関数追加 > acet::acos, acet::arc-point-list, acet::pl-point-list, acet::expandfn, acet::filetype, acet::nameonly, acet::pathonly,
V16.n (V.0.9.8)
- 16.2 - SheetMetal LISP 関数群が追加される。(BricsCAD独自)
- Lisp 関数(BricsCAD独自)の追加 >(grfill), (grarc)
- VLE関数(BricsCAD独自)の追加 > (vle-list-massoc), (vle-entget-massoc)
- DOSLibエミュレーション関数の追加。>(dos_encrypt),(dos_getdir),(dos_dir),(dos_dirtree),(dos_getfilem)
- Fast-COM のプロパティとメソッド追加 : AppendItems, AbortTransaction, Block, Display, DisplayLocked, Drafting, EffectiveName, EndTransaction, Files, GetBulge, GetExtensionDictionary, GetVariable, GraphicsWinLayoutBackgrndColor, GraphicsWinModelBackgrndColor, GetWeight, GetWidth, InsertMenuInMenuBar, LayoutCreateViewport, Load, Unload, Menus, MenuGroups, MenuBar, ModelType, NumTransactions, OpenSave, Output, Pdf, Preferences, Profiles, PatternType, PatternName, PatternAngle, PatternScale, PatternSpace, PatternDouble, RemoveItems, SetWeight, SetWidth, SetPattern, Selection, SetVariable, SetBitmaps, StartTransaction, SupportPath, System, SetBulge, ShowPlotStyles, Toolbars, User, VisualStyle
V15.n (V.0.9.7)
- エラー処理関数(BricsCAD独自)が追加。(vl-bt), (vl-bt-on), (vl-bt-off), bcad$disable-extended-error
- VLE関数(BricsCAD独自)の追加。(vle-aci2rgb), (vle-rgb2aci)
- Fast-COM のプロパティとメソッドの追加。> HasAttributes, IsRational, IsPeriodic, Degree, PromptString, TagString, TextString
- DOSLib のエミュレーション関数を実装開始。(Linux + Mac でも使えるようにしたいということらしい)
- DEScoder.exe をバージョン 2.6 に更新。(不具合修正)
V14.n (V.0.9.7)
- ExpressTools の 関数(acet-)を追加。
V12.n (V.0.9.6)
- 12.2 - OpenLispCoreバージョンを 9.1 に更新。(LISP プログラムが ~40% 程度高速化)
- 12.2 - Fast-COM 関数群を追加。COM のエミュレーション。
- 12.2 - VLE 関数ライブラリ(BricsCAD独自)の追加。(vla-関数のようなもの。)
- 12.2 - LISPオプティマイザー。(コードのボトルネック担っている部分を効率化してくれるらしい。)
- 12.1 - ObjectDbx.AxDbDocumentインターフェースがLISPエンジンに追加