1. 概述Revit 公式是实现参数化设计与规则化建模的核心能力支持在尺寸标注、族参数、项目全局参数及明细表中嵌入计算逻辑通过数学运算、条件判断实现模型几何、属性、报表的自动驱动与联动更新。公式能力主要分布于两大应用环境族编辑器环境核心应用场景用于定义族参数间的关联关系驱动几何形态、图元可见性、类型属性等核心建模逻辑。项目环境通过全局参数、明细表计算值、标记标签实现项目级数据计算、统计与标注输出。核心价值固化设计规则与工程逻辑实现参数联动修改一处更新全局同步支撑系列化族库开发大幅减少重复建模工作量实现工程计算与数据统计自动化提升BIM数据准确性与交付效率2. 核心应用场景2.1 图元尺寸驱动通过公式直接控制族内图元的尺寸标注建立几何参数间的比例、差值、函数约束关系。典型应用包括保持构件长、宽、高的固定设计比例定义安装间隙、加工余量等衍生尺寸基于几何参数自动计算截面积、体积等工程属性2.2 数字参数关联公式可创建依赖型参数其值由其他参数计算推导得出适用于嵌入设计规范与经验公式关联实例参数与可变长度参数定义角度、定位距离等几何约束实现连续变量向整数值的自动转换关键特性若公式仅包含1个输入变量目标参数支持直接修改系统会反向推导变量值若公式包含2个及以上输入变量目标参数将灰显锁定仅能通过修改输入变量更新其值。2.3 计算值报告参数通过「计算值」功能定义公式驱动的报告参数主要用于明细表与注释标记的数据统计与展示不直接驱动几何模型。2.3.1 入口路径明细表创建/编辑明细表时在「明细表属性」对话框中点击「已计算」按钮添加标记标签编辑标记族时在「编辑标签」对话框中添加计算参数2.3.2 计算类型公式计算规程指定参数所属专业规程公共、结构、电气等类型指定参数数据类型数值、长度、面积等公式基于关联字段编写计算公式支持引用明细表/对应类别中的可用字段百分比计算仅明细表支持Of指定计算百分比的基准字段By指定分组维度默认按明细表总计计算支持按排序分组字段统计占比2.3.3 典型应用房间占用率统计在房间明细表与房间标记中通过计算值实现容纳人数自动计算创建「占用率指标」共享参数单位㎡/人添加计算值参数「最大容纳人数」公式为rounddown((面积 / 1㎡) / 占用率指标)可同时将该计算值嵌入房间标记族实现图面实时标注3. 有效公式语法规范3.1 基础算术运算符运算符功能说明示例加法总长度 高度 宽度-减法净体积 总体积 - 扣除体积*乘法面积 长度 * 宽度/除法半长 总长 / 2^乘方X的Y次方半径平方 半径 ^ 23.2 数学函数库3.2.1 对数、指数与通用函数函数功能说明示例log10()常用对数以10为底2 log10(100)ln()自然对数以e为底ln(x*y) ln(x) ln(y)exp(x)e的x次幂exp(3)sqrt()平方根4 sqrt(16)abs()绝对值2 abs(-2)pi圆周率常量圆面积 pi * 半径^23.2.2 三角函数默认弧度制函数功能说明sin()正弦cos()余弦tan()正切asin()反正弦acos()反余弦atan()反正切3.2.3 舍入函数函数功能说明示例round(x)四舍五入取整round(3.1)3round(3.5)4round(-3.7)-4roundup(x)向上取整大于等于x的最小整数roundup(3.1)4roundup(-3.7)-3rounddown(x)向下取整小于等于x的最大整数rounddown(3.7)3rounddown(-3.7)-4单位处理技巧舍入函数仅支持无单位数值运算。带单位参数需先除以单位量纲转为纯数字计算完成后再乘以单位恢复量纲标准写法roundup(长度/1mm)*1mm3.3 参数引用规则大小写敏感参数名严格区分大小写如Width与width视为不同参数引用时需与定义完全一致特殊字符处理参数名含空格、横线等特殊字符时需使用方括号[]包裹如[总长度-左侧]命名建议参数命名避免使用减号-防止与减法运算符产生语法歧义文本参数公式中引用固定文本值需使用双引号包裹如Q235钢材4. 条件语句用法条件语句通过逻辑判断实现分支赋值适用于控制参数分段取值、图元可见性、阵列数量边界保护等场景。4.1 基础语法IF(条件表达式, 条件为真时的结果, 条件为假时的结果)条件支持数值比较、参数引用、Yes/No参数判断原生支持比较符、、不直接支持、可通过NOT()逻辑间接实现如NOT(ab)等价于ab4.2 布尔逻辑运算符支持AND、OR、NOT三类布尔运算用于组合多条件判断多条件同时满足IF(AND(x1, y2), 8, 3)多条件满足其一IF(OR(A1, B3), 8, 3)条件取反IF(NOT(长度1000), 10, 20)4.3 嵌套条件语句支持多层IF嵌套实现多分段取值逻辑IF(长度35, 26, IF(长度45, 3, IF(长度55, 5, 8)))4.4 Yes/No 参数特殊用法Yes/No布尔参数的公式可省略IF关键字直接写条件表达式结果自动对应「是/否」状态// 当长度大于40时参数为「是」图元可见否则为「否」图元隐藏 MuntinVis 长度 404.5 典型应用场景阵列数量边界保护Revit阵列数量必须≥2通过条件语句避免计算值小于2导致建模报错阵列数量 IF(计算值 2, 2, 计算值)图元可见性控制基于尺寸、类型参数控制构件的显示与隐藏材料/规格分段选型根据尺寸参数自动匹配对应规格与材质5. 典型公式示例以下示例源自Revit官方高级样例族rac_advanced_sample_family.rfa遮阳装置族覆盖工程常用计算场景。5.1 基础数学运算参数名公式说明Shadow_LengthMounting_Height - Window_Sill_Height计算遮阳所需阴影长度为安装高度与窗台高度的差值Rel_Angle90° - Sun_Angle计算阳光相对角度为后续三角函数计算提供输入Max_Louver_SpacingSupport_Length - (Support_Length * (Desired_Shading_Percent * 0.01))根据遮阳百分比计算百叶最大允许间距5.2 舍入与三角函数结合参数名公式说明Support_Lengthroundup((Shadow_Length/1mm) * tan(Rel_Angle)) * 1mm通过正切函数计算支座理论长度向上取整到整毫米先除以1mm转为无单位值计算完成后乘以1mm恢复长度单位5.3 条件语句应用参数名公式说明Support_HangerSupport_Length 400mmYes/No参数支座长度超过400mm时附加支座自动可见Shade_Factorif(Desired_Shading_Percent65,Low,if(Desired_Shading_Percent79,Med,if(Desired_Shading_Percent99,High,Max.)))嵌套IF语句根据遮阳百分比返回4档分级文本结果5.4 阵列数量计算注Revit 2025之前版本强制要求阵列数量≥2因此公式中加入1保证边界合规参数名公式说明Number of Supports(Length / Max_Support_Spacing) 1根据总长度与最大间距计算支座阵列数量Louver_Number(Support_Length / Max_Louver_Spacing) 1计算百叶阵列的总数量6. 最佳实践与注意事项参数命名规范采用英文下划线命名规则避免中文、空格、特殊符号确保公式引用准确降低维护成本公式拆分原则复杂逻辑拆分为多个中间参数分步计算提升可读性与可调试性避免单条公式过长单位一致性校验确保公式内参数单位匹配涉及舍入运算时严格遵循「去单位-计算-恢复单位」的标准流程边界条件防护对除法、阵列、条件判断等场景增加边界值校验避免除零错误、阵列数量不足等导致的族崩溃适度使用条件语句过度嵌套会提升族的维护难度类型参数的差异化优先通过族类型实现而非全量依赖条件公式版本兼容性验证阵列规则、函数支持度在不同Revit版本存在差异跨版本交付族文件时需验证公式有效性