Revit 二次开发中与族参数打交道是必不可少的,学会通过代码的方式修改项目文档中的族参数是二次开发初级阶段的必修课!接下来的内容我们就聊一聊Revit API 修改族参数这档子事。
1. 参数的分类
(1)按参数的创建形式划分
按照参数的创建形式进行划分的话,族参数可以划分为内置参数和自定义参数,其中内置参数即为族样板自带的参数,无需用户新建,而自定义参数是由用户根据需求自行创建的参数!内建参数和自定义参数无法直接从 Revit 界面中看出,需借助于Lookup插件查询,查询路径为:ParameterSet/InternalDefinition/properties。图1为内置参数,BuiltInParameter一栏显示其为内置的标高参数(SCHEDULE_LEVEL_PARAM),图2为自定义参数,BuiltInParameter一栏显示为无效(INVALID)。
图1.内置参数
图2.自定义参数
(2)按参数的类型划分
如果按照参数类型进行划分的话,族参数则可以划分为实例参数和类型参数,在族编辑窗口下,可对自定义参数的类型进行设置,如图3所示。在Revit 项目文档中,每个族图元的实例参数可以不尽相同,而且选中图元后就可以在属性浏览器面板查看并修改所有的实例参数;而对于类型参数而言,相同类型族实例的类型参数是相同的,需要通过创建不同类型的族来实现类型参数的更改。
2. Revit API 修改族参数
获取族参数的方法查询表
获得参数之后,通过parameter.Set(value) 函数对参数进行重新赋值,在此之前需要明确所要修改的参数的存储类型,如:string、double、int、elementid,从而根据类型填入新值。值得注意的是:单位记得转换,对于长度单位,API的默认单位为英寸: 1英寸 = 304.8mm。