コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
GizmoLab 関連
オンラインショップ
CAD&CGブログ
YouTube
GitHub
CAD 系
GizmoTools
AutoLISP
Visual LISP
BricsCADのLISP
GzLib
DCL
OpenDCL
DWG
DXF
CADのコマンド一覧
システム変数
図形の種類
Ver別サポートAPI
CAD用語集
メモ
newLISP
CommonLISP
Script-Fu
Inno setup
JavaScript
ANDROID
Windowsでのファイルハッシュ確認
Prolog
Python
Clojure
Electron
フォント
数学メモ
イメージサイズとメモリ量
blender
Processwire
Win10,11メモ
IIJmio
mediawiki資料
ヘルプ
検索
検索
表示
ログイン
個人用ツール
ログイン
S::STARTUPのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
S::STARTUP
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{AutoLISP}} ==S::STARTUP 関数による初期化の実行== AutoCAD では、S::STARTUP 関数を定義すると、図面が初期化された後の必要なセットアップ操作を行うことができる。 * 互換CADではあったりなかったりするので要確認。 起動 LISP ファイル(acad.lsp、acaddoc.lsp、MNL)は、図面が完全に初期化される前にメモリにロードされるため、通常は、command 関数を使用せず、command 関数を使用すると図面が初期化された後の動作は保証されない。 ユーザ定義関数 S::STARTUP を acad.lsp、acaddoc.lsp、または MNLファイルに含めると、この関数は、新しい図面を開始したときや既存の図面を開いたときに呼び出される。このため、LISP 起動ファイルに S::STARTUP の定義を含めると、セットアップ操作を実行できる。 たとえば、標準の HATCH[ハッチング]コマンドを、メッセージを表示した後に BHATCH[境界ハッチング]コマンドに切り替えるように変更したいときは、次のコードを含む acaddoc.lsp ファイルを使用する。 <pre class="brush:autolisp;"> (defun C:HATCH ( ) (alert "BHATCH コマンドを使用します!") (princ "¥n本来の HATCH コマンドを実行するには OLDHATCH と入力してください。¥n") (command "BHATCH") (princ) ) (defun C:OLDHATCH ( ) (command ".HATCH") (princ) ) (defun-q S::STARTUP ( ) (command "undefine" "hatch") (princ "¥nHATCH を BHATCHに再定義しました!¥n") ) </pre> 図面が初期化される前に、HATCH と OLDHATCH の新しい定義が defun 関数で定義され、図面が初期化後に S::STARTUP 関数が呼び出され、標準の HATCH の定義が再定義される。 * 注: S::STARTUP 関数を追加するには、defun ではなく defun-q 関数を使用して定義する必要がある。 S::STARTUP 関数はいろいろな場所(acad.lsp、acaddoc.lsp、MNLファイル、またはこれらのファイルからロードされるその他の AutoLISP ファイル)で定義できるため、以前に定義した S::STARTUP 関数が上書きされる可能性がある。 例として起動関数が他の関数と一緒に確実に動作する 1 つの方法を次に示す。 <pre class="brush:autolisp;"> (defun-q MYSTARTUP ( ) 独自の起動関数 ... ) (setq S::STARTUP (append S::STARTUP MYSTARTUP)) </pre> 上記のコードは、独自の起動関数を既存の S::STARTUP 関数のコードに追加し、次に S::STARTUP 関数を再定義することによって、独自の起動コードを追加している。 これにより、前から存在していた S::STARTUP 関数に関係なく正しく動作することになる。
このページで参照読み込みされているページ:
テンプレート:AutoLISP
(
ソースを閲覧
)
S::STARTUP
に戻る。
検索
検索
S::STARTUPのソースを表示
話題を追加