该类定义了一组装件成员与其所属类别不同的情况,可用于识别与检查模型中的错误。
· 对象
· Autodesk.Revit.DB.AssemblyMemberDifferentCategory
以下成员列出了AssemblyMemberDifferentCategory
类的所有成员。
// 获取文档中的所有不同类别的装配成员
FilteredElementCollector collector = new FilteredElementCollector(doc);
List<AssemblyMemberDifferentCategory> differentCategoryMembers = collector
.OfClass(typeof(AssemblyMember))
.Cast<AssemblyMember>()
.Where(m => m.Category != null && m.Category.Name != m.AssemblyInstance.Category.Name)
.Select(m => new AssemblyMemberDifferentCategory(m.ElementId, m.AssemblyInstance.Category.Name, m.Category.Name))
.ToList();
下面是一个简单的示例,演示如何使用AssemblyMemberDifferentCategory
类。
// 导入必要的命名空间
using Autodesk.Revit.DB;
using System.Collections.Generic;
using System.Linq;
// 获取文档中的所有不同类别的装配成员
FilteredElementCollector collector = new FilteredElementCollector(doc);
List<AssemblyMemberDifferentCategory> differentCategoryMembers = collector
.OfClass(typeof(AssemblyMember))
.Cast<AssemblyMember>()
.Where(m => m.Category != null && m.Category.Name != m.AssemblyInstance.Category.Name)
.Select(m => new AssemblyMemberDifferentCategory(m.ElementId, m.AssemblyInstance.Category.Name, m.Category.Name))
.ToList();
// 输出装配成员与其所属类别
foreach (var member in differentCategoryMembers)
{
TaskDialog.Show("Different Category Member", $"{member.MemberId}: {member.AssemblyInstanceName} - {member.MemberCategoryName}");
}
##注意事项
AssemblyMemberDifferentCategory
类需要使用Autodesk.Revit.DB
命名空间。