Revit API如何访问族参数的“规程”与“参数类型”
筛选族参数的规程(Pipe Size)及获取参数类型的方法
1. 判断参数规程是否为“Pipe Size”
Revit API里,FamilyParameter的Definition属性属于ParameterDefinition类型,该类型自带Discipline属性,对应参数的规程。要筛选“Pipe Size”规程的参数,直接匹配BuiltInParameterDiscipline.PipeSize枚举值即可。
你原代码存在语法错误,修正后的完整筛选逻辑如下:
// 获取所有族参数 List<FamilyParameter> famParm_lst = FamMngr.GetParameters().Cast<FamilyParameter>().ToList(); // 筛选规程为Pipe Size的参数 List<FamilyParameter> famParm_PipeSize_lst = famParm_lst .Where(fp => fp.Definition.Discipline == BuiltInParameterDiscipline.PipeSize) .ToList();
注意:使用前需确保引用Autodesk.Revit.DB命名空间,该枚举包含Revit所有内置的参数规程选项。
2. 获取“参数类型”(Type of Parameter)
界面中显示的“参数类型”对应ParameterDefinition的ParameterType属性,它返回ParameterType枚举值,直接访问就能拿到:
// 遍历筛选后的参数,获取每个参数的类型 foreach (var param in famParm_PipeSize_lst) { ParameterType paramType = param.Definition.ParameterType; // 可根据需求使用paramType,比如输出或判断类型 }
常见的ParameterType枚举值包括Length、Text、Number等,和界面显示的参数类型一一对应。
内容的提问来源于stack exchange,提问作者Fawzi Masri
相关产品推荐
相关产品推荐

