I\'m interested in mathematics and Daoism. Welcome to talk about these subjects with me.
分类: 其他平台
2014-09-13 21:33:38
在revit 二次开发的sdk中,链接文件的处理主要涉及以下类:
1)WorkSetTable
每一个文档都有一个这个表格对象,并且一个文档之中至少有一个工作集对象,即默认的工作集。
2)ElementWorksetFilter
这是一个快速的过滤器,用于过滤出属于某个工作集中的图元对象
3)WorkSetId
在单个文档中使用这个对象来确定一个工作集. 注意,rvt项目文件,与中心服务器同步了以后,这个id是可能变化的。
一个工作集的guid是不变化的。可以根据不同情况选用。
下面的示例代码,显示了工作集对象的使用:
UIDocument uiDoc = commandData.Application.ActiveUIDocument;
if (uiDoc == null)
{
message = "没有活动的文档";
return Result.Failed;
}
Document doc = uiDoc.Document;
if (doc.IsWorkshared == false)
{
message = "not work shared";
LogUtil.WriteLog(message);
return Result.Failed;
}
WorksetTable table = doc.GetWorksetTable();
WorksetId id = table.GetActiveWorksetId();
Workset set = table.GetWorkset(id);
string str = "workset name : " + set.Name + "\n"
+ "kind: " + set.Kind + "\n"
+ "owner: " + set.Owner + "\n";
if (set.IsDefaultWorkset)
str += "is the default workset\n";
else
str += "is NOT the default workset\n";
if (set.IsVisibleByDefault)
str += "is visible by default\n";
else
str += "NOT visible by default\n";
if (set.IsOpen)
str += "is open\n";
else
str += "NOT open\n";
TaskDialog.Show("RevitAddinExamples", str);