表达式、单位与公差
CadFlow 的表达式层把符号设计意图与数值几何分开;单位层阻止无效量纲组合;公差对象描述制造分析需要的区间与依赖图。
表达式
公共表达式类型表示常量、参数、一元与二元运算、比较、条件表达式及支持的数学函数。通过公共构造器和运算符构建表达式,再用显式参数环境求值。
width = cad.var("width", 40.0)
wall = cad.var("wall", 2.0)
inner = width - 2 * wall
value = inner.evaluate({"width": 50.0, "wall": 2.5})
参数名称应为稳定标识符。缺少必要参数、类型无效、操作不支持、除零或平方根定义域错误会使求值失败。
量纲与 Quantity
Quantity 把标量表达式或值与物理量纲组合。加法和比较要求量纲兼容;乘法与除法派生新量纲;三角与超越函数执行各自文档规定的量纲检查。
在文件、UI 与 Solver 边界使用显式转换辅助函数。序列化工程值时保留单位标签;单独的 Float 无法证明它代表毫米、米、度还是弧度。
公差
公差 API 描述 Nominal、允许变动、统计假设与依赖关系,可计算区间或统计贡献并返回结构化报告。
典型流程:
- 定义具名源尺寸及公差。
- 构建依赖表达式或公差图。
- 选择受支持的分析方法。
- 求值并检查贡献项、Limit 与 Diagnostic。
- 随报告记录单位与假设。
公差分析只刻画已声明模型,不会推断未提供的工艺能力、相关性或分布形态。
与几何交互
紧凑 Model 方法接受数值,因此应先求值表达式并转换 Quantity:
width_mm = float(width.evaluate(parameters))
with cad.Model() as model:
body = model.box(width_mm, 30.0, 4.0)
派发前验证数值有限且量纲符合预期。需要复现几何时,应在 Model JSON 或应用元数据中保留符号来源与求值参数集。
表达式、单位与公差目录列出全部 59 个公共符号及精确签名。