箭头_Row 发表于 2025-4-26 23:47:33

如何獲取當前佈局是否已經在圖紙集中存在


找到這樣的代碼,但不知添加對哪個dll的引用:AcSmSheetSetMgr;
找的資料大多是VB代碼或VBA相關的,好像沒找到C#的代碼。

AcSmSheetSetMgr manager = new AcSmSheetSetMgr();

AcSmDatabase sheetDb =
         manager.FindOpenDatabase(@"D:\\Temp\\MySheetset.dst");
sheetDb.LockDb(sheetDb);

// New sheet location
AcSmResources resources
             = sheetDb.GetSheetSet().GetResources();
AcSmFileReference fileRef = new AcSmFileReference();
fileRef.InitNew(resources);
fileRef.SetFileName(@"D:\\Temp\\SampleDrawings");
sheetDb.GetSheetSet().SetNewSheetLocation(fileRef);

// Add New location
AcSmFileReference fileRef1 = new AcSmFileReference();
fileRef1.InitNew(sheetDb);
fileRef1.SetFileName(@"D:\\Temp\\SampleDrawings");
resources.Add(fileRef1);

sheetDb.UnlockDb(sheetDb);

你有种再说一遍 发表于 2025-4-27 05:16:21

https://blog.csdn.net/barbarahan/article/details/5575254

箭头_Row 发表于 2025-5-1 13:41:22

https://blog.jtbworld.com/2006/04/sheet-set-manager-code-snippets.html

發現沒有獲取當前活動圖紙集的api,當前佈局是否已經在圖紙集中存在的函數已寫完成了。

箭头_Row 发表于 2025-5-1 13:53:42

https://blog.jtbworld.com/2024/12/subsets-and-sheets-in-sheet-list-table.html

你有种再说一遍 发表于 2025-5-1 14:22:07

dst是纯文本吗?

箭头_Row 发表于 2025-5-1 14:54:19

你有种再说一遍 发表于 2025-5-1 14:22
dst是纯文本吗?

txt打開是亂碼,不是純文本格式

你有种再说一遍 发表于 2025-5-1 16:52:23

本帖最后由 你有种再说一遍 于 2025-5-1 17:07 编辑

箭头_Row 发表于 2025-5-1 14:54
txt打開是亂碼,不是純文本格式
你试试看它是不是一个压缩包?
例如像.pc3解析逻辑?

我表示对图纸集完全不懂,
如果dst没有办法解析,然后你又不知道怎么找到激活,
那不如自己完全模拟一套图纸集信息,
反正也没有多少东西吧,
例如批量打印就自己实现咯,快速切换图纸这种不就是把json记录下来...
然后顶多再做一个 json to dst

页: [1]
查看完整版本: 如何獲取當前佈局是否已經在圖紙集中存在