IAcSmSheetSetMgr

提供:GizmoLabs - だいたい CAD LISP なサイト
2022年8月8日 (月) 08:05時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

SheetSetManagerのメインインターフェイス。

使用可能なメソッド:

(setq cad (vlax-get-acad-object))
(setq ssmgr (vla-GetInterfaceObject cad "BricscadSm.AcSmSheetSetMgr"))


項目 内容
CreateDatabase 指定されたファイル名の新しい DST データベースを作成する。オプションとして .dst テンプレートファイルおよび既に存在する場合に常に (再) 作成するかどうかのブーリアン・フラグを使用する; IAcSmDatabase オブジェクトを返す。

(setq smdb (vlax-invoke-method ssmgr 'CreateDatabase "C:/SSM/ssmDb.dst" [ template | "0" [ :vlax-true | :vlax-false ]])) .
HRESULT CreateDatabase ([in] BSTR filename, [in, optional, defaultvalue("0")] BSTR templatefilename, [in, optional, defaultvalue(-1)] VARIANT_BOOL bAlwaysCreate, [out, retval] IAcSmDatabase** db)

OpenDatabase 指定された既存の DST データベースファイルを開きます。オプションとして、既に開いている DST ファイルを開くかどうかのブーリアン・フラグを使用する。

(setq smdb (vlax-invoke-method ssmgr 'OpenDatabase dstfile [ :vlax-true | :vlax-false ])))
HRESULT OpenDatabase ([in] BSTR filename, [in, optional, defaultvalue(-1)] VARIANT_BOOL bFailIfAlreadyOpen, [out, retval] IAcSmDatabase** db)

FindOpenDatabase 指定された、既に開かれたDSTデータベースファイルをSheetSetManagerに問い合わせる ; IAcSmDatabaseオブジェクト、またはNILを返す。

(setq smdb (vlax-invoke-method ssmgr 'FindOpenDatabase "C:/SSM/ssmDb.dst"))
HRESULT FindOpenDatabase ([in] BSTR filename, [out, retval] IAcSmDatabase** ppDb)

CloseAll 現在開いている全てのDSTデータベース・オブジェクトを閉じる (IAcSmDatabase)

(vlax-invoke-method ssmgr 'CloseAll)
HRESULT CloseAll ()

Close 指定された DST データベースオブジェクトをクローズする(IAcSmDatabase)

(vlax-invoke-method ssmgr 'Close smdb)
HRESULT Close ([in] IAcSmDatabase* db)

GetParentSheetSet 指定された dwg ファイル中の指定されたレイアウトのメイン SheetSet を検索する; IAcSmSheetSet オブジェクトを参照として返し、IAcSmDatabase オブジェクトを戻り値として返す。

(setq smdb (vlax-invoke-method ssmgr 'GetParentSheetSet dwgfile "A1" 'parentSheet))
HRESULT GetParentSheetSet ([in] BSTR dwg, [in] BSTR layout, [out] IAcSmSheetSet** sheetSet, [out, retval] IAcSmDatabase** pSmDb)

GetSheetFromLayout 与えられたレイアウトオブジェクト(IAcadLayout)のメインSheetSetを検索する; IAcSmSheetSetオブジェクトを参照で返し、IAcSmDatabaseオブジェクトを戻り値で返す。

(setq smdb (vlax-invoke-method ssmgr 'GetSheetFromLayout layout 'sheetSet))
HRESULT GetSheetFromLayout ([in] IAcadObject* pAcDbLayout, [out] IAcSmSheet** sheet, [out, retval] IAcSmDatabase** pSmDb)

GetDatabaseEnumerator SheetSetManagerによって管理される、全てのオープンされたDSTデータベースのイテレータ (IAcSmEnumDatabase)を返す。

(setq iter (vlax-invoke-method ssmgr 'GetDatabaseEnumerator))
HRESULT GetDatabaseEnumerator ([out, retval] IAcSmEnumDatabase** enumerator)


関連記事