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);