Autodesk.Revit.DB.Workset
是Revit API中的一个类,用于表示Revit项目中的workset。
Autodesk.Revit.DB.Workset
类有多个构造函数。其中最常用的是:
public Workset(Document document, WorksetId worksetId)
该构造函数需要传入一个 Document
对象和一个 WorksetId
对象,用于在Revit项目中定位一个特定的workset。
Autodesk.Revit.DB.Workset
类提供了以下属性:
属性 | 类型 | 可读写 | 描述 |
---|---|---|---|
Name | string | 可读写 | workset的名称 |
Id | WorksetId | 只读 | workset的唯一标识符 |
VisibleInAllViews | bool | 可读写 | workset是否在所有视图中可见 |
Editable | bool | 可读写 | workset是否可编辑 |
IsVisibleByDefault | bool | 可读写 | workset在新视图中是否默认可见 |
Owner | WorksetOwner | 可读写 | workset的所有者 |
Description | string | 可读写 | workset的描述信息 |
Autodesk.Revit.DB.Workset
类提供了以下方法:
方法名 | 返回值类型 | 描述 |
---|---|---|
GetUninitiatedWorksetDescription() | string | 获取未初始化workset的描述信息 |
GetWorksetElements(Document) | IList | 获取属于该workset的元素列表 |
HasConflictWithWorksetOwnership(ICollection) | bool | 判断该workset是否与给定的workset冲突所有权 |
ToString() | string | 返回表示该workset的字符串 |
以下示例展示了如何创建一个新的workset对象,并设置其名称为“New Workset”:
Document document = uidoc.Document;
Transaction trans = new Transaction(document, "Create new workset");
trans.Start();
WorksetTable worksetTable = document.GetWorksetTable();
Workset newWorkset = worksetTable.NewWorkset("New Workset");
trans.Commit();
在使用 Autodesk.Revit.DB.Workset
类时,需要注意workset所属的document必须是当前已经打开的。
此外,如果workset同时被多个用户打开并修改,会发生workset冲突的情况。此时需要使用冲突解决工具对workset所有权进行管理。