「Doslib」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
1行目: 1行目:
DOSLibは、AutoCAD や BricsCAD に含まれている LISPプログラミング言語にない機能を提供する LISP 関数のライブラリ。(うちの [[GzLib]] もこれと同じような発想で始めたところがある)
DOSLib は、AutoCAD や BricsCAD に含まれている LISPプログラミング言語にない機能を提供する LISP 関数のライブラリ。(著作権:Robert McNeel & Associates, Dale Fugier)
 
(うちの [[GzLib]] もこれと同じような発想で始めたところがある)
だいたいの内容は VL系関数で事足りるので、今となっては不要なものも結構ある。
だいたいの内容は VL系関数で事足りるので、今となっては不要なものも結構ある。


21行目: 23行目:
* "CAD" - すべてを保存し、開いているすべてのファイルを閉じます。 図面をプレビューし、外部参照を一覧表示します。
* "CAD" - すべてを保存し、開いているすべてのファイルを閉じます。 図面をプレビューし、外部参照を一覧表示します。
* "システム" - システム情報の取得、リストの並べ替え、システムの日付と時刻の変更、キーボードの操作、サウンドの再生。
* "システム" - システム情報の取得、リストの並べ替え、システムの日付と時刻の変更、キーボードの操作、サウンドの再生。
==BricsCAD の実装==
BricsCAD では、V15 より、DOSLib関数をネイティブ関数として実装し、既存の AutoLISPツールやアプリケーションがこの Lispインターフェースに基づいている場合の互換性を高めるとともに、Linux+Macへのアプリケーション移植をサポートするようになった。
DOSLib が提供する Lispインターフェース関数(dos_xxx)はかなり大きな量があるため、まずは要望の多い関数から始め、徐々に要望に応じて DOSLib の関数を追加していっている状況。
ただし、McNeel の DOSLib をすべて置き換えることを目標とはしていないようで、Linux+Mac への移植を希望する Lisp開発者には、DOSLib関数の使用量を減らして VLE関数や ExpressTools API関数を利用することが勧められている。
また、Windows 上で動作する Lisp アプリケーションの場合、DOSLib モジュールのロードを継続することが強く推奨されている。
これらの DOSLib関数は、現在、.NET Framework 2.0 として提供されている。
===DOSLib for Linux + Mac でサポートされている関数 ===
BricsCAD V22 時点
<div class="mcol2">
* CAD 系関数
** dos_acitorgb
** dos_rgbtoaci
** dos_hlstorgb
** dos_rgbtohls
* ディレクトリ系関数
** dos_deltree
** dos_dir
** dos_dirp
** dos_dirtree
** dos_mkdir
* ファイル系関数
** dos_copy
** dos_encrypt
** dos_fileex
** dos_getdir
** dos_getfilem
* インターフェイス系関数
** dos_popupmenu
* 文字系関数
** dos_strtokens
** dos_strtrim
** dos_strtrimleft
** dos_strtrimright
* システム系関数
** dos_clipboard
** dos_command
** dos_guidgen
</div>

2022年8月2日 (火) 04:44時点における版

DOSLib は、AutoCAD や BricsCAD に含まれている LISPプログラミング言語にない機能を提供する LISP 関数のライブラリ。(著作権:Robert McNeel & Associates, Dale Fugier)

(うちの GzLib もこれと同じような発想で始めたところがある) だいたいの内容は VL系関数で事足りるので、今となっては不要なものも結構ある。


DOSLib では、次のような LISP関数が使えるようになる。

  • "ドライブ" - ドライブを確認し、ドライブを変更し、使用可能なディスク容量を確認します。
  • "パス" - パス仕様を操作します。
  • "フォルダ" - フォルダの作成、名前の変更、削除、選択、および変更。 特別なオペレーティングシステムフォルダを返します。
  • "ファイル" - ファイルのコピー、削除、移動、名前変更、および選択。 ディレクトリリストを取得し、ファイルの複数のインスタンスを検索して検索し、ファイル属性を変更します。
  • "印刷" - デフォルトのプリンタを取得および設定し、印刷ファイルをスプールします。
  • "構成" - Windowsスタイルの初期化(INI)ファイルを操作し、Windowsレジストリにアクセスします。
  • "プロセス" - オペレーティングシステムのコマンドまたは他のプログラムを実行します。
  • "インターフェイス" - ユーザーから文字列、整数、実数、リストを取得します。 Windowsメッセージボックス、進行状況メーター、およびスプラッシュ画面を表示します。
  • "文字列" - 文字列のトークン化、文字の抽出、文字の検索、文字の挿入、削除、置換、および文字のトリミング。
  • "数学" - 三角関数の計算、ベクトル操作、統計分析など。
  • "CAD" - すべてを保存し、開いているすべてのファイルを閉じます。 図面をプレビューし、外部参照を一覧表示します。
  • "システム" - システム情報の取得、リストの並べ替え、システムの日付と時刻の変更、キーボードの操作、サウンドの再生。


BricsCAD の実装

BricsCAD では、V15 より、DOSLib関数をネイティブ関数として実装し、既存の AutoLISPツールやアプリケーションがこの Lispインターフェースに基づいている場合の互換性を高めるとともに、Linux+Macへのアプリケーション移植をサポートするようになった。

DOSLib が提供する Lispインターフェース関数(dos_xxx)はかなり大きな量があるため、まずは要望の多い関数から始め、徐々に要望に応じて DOSLib の関数を追加していっている状況。

ただし、McNeel の DOSLib をすべて置き換えることを目標とはしていないようで、Linux+Mac への移植を希望する Lisp開発者には、DOSLib関数の使用量を減らして VLE関数や ExpressTools API関数を利用することが勧められている。 また、Windows 上で動作する Lisp アプリケーションの場合、DOSLib モジュールのロードを継続することが強く推奨されている。 これらの DOSLib関数は、現在、.NET Framework 2.0 として提供されている。

DOSLib for Linux + Mac でサポートされている関数

BricsCAD V22 時点

  • CAD 系関数
    • dos_acitorgb
    • dos_rgbtoaci
    • dos_hlstorgb
    • dos_rgbtohls
  • ディレクトリ系関数
    • dos_deltree
    • dos_dir
    • dos_dirp
    • dos_dirtree
    • dos_mkdir
  • ファイル系関数
    • dos_copy
    • dos_encrypt
    • dos_fileex
    • dos_getdir
    • dos_getfilem
  • インターフェイス系関数
    • dos_popupmenu
  • 文字系関数
    • dos_strtokens
    • dos_strtrim
    • dos_strtrimleft
    • dos_strtrimright
  • システム系関数
    • dos_clipboard
    • dos_command
    • dos_guidgen