FIELD NOTES / RESEARCH & PRACTICE

三维教学模型的几何验证:让参数说谎不了

参数化建模后如何用顶点级实测核对设计值:布尔差壁厚、PCA 主轴测倾角、端面角点延伸的处理,以及数值积分独立验证。

2026年10月

教学模型最怕的不是丑,而是”几何与标称参数不一致”——图上写着壁厚 70 mm,模型里却是 100 mm。 这篇笔记整理我在风电基础教学模型里用的验证方法。

原则:实测值与设计值分开

报告里分两列:design(配置值)与 measured(从生成后的网格顶点实测)。 校验失败会中止构建,绝不把配置值回显成”测量结果”。

中空壁厚:布尔差,不是 Solidify

第一版用 Solidify 修改器做中空桩,端面顶点飘出理论位置约半个壁厚,校验失败。 改为外圆柱布尔差内圆柱(EXACT 求解器):端面环形顶点严格落在理论高程上, 壁厚实测 = 最大顶点半径 − 最小顶点半径,与配置差 ≤ 1e-4 才放行。

倾斜桩倾角:PCA 主轴

斜桩倾角怎么”测”?端面点云的主方向就是圆柱对称轴——对全部顶点做 PCA, 主轴与竖直轴夹角即倾角。六根 15° 斜桩实测全部 15.0°。

一个反直觉的细节:倾斜圆柱的端面角点会超出轴端投影 ±R·sin(θ)。 校验里必须把这段几何延伸计入容差,否则正确的模型也会被误判失败。

变换链陷阱

倾斜前用”局部坐标 z + 对象原点 z”测高程是对的;倾斜后必须用 matrix_world @ v.co。 群桩的排查记录显示:遗漏旋转变换会把六根桩倾角误测成 0°,必须对世界坐标取样。

计算模块的独立验证

几何计算器(体积/面积)用不同推导路径复核:闭式公式 vs 环带数值积分(1 万条薄环)、 正八边形闭式 vs 鞋带公式、组合体积 vs 空间分区薄片积分。全部通过才发布 (npm run check:geometry,11 项)。桩自由段定义为承台底面以下长度;伸入段已在承台体积内,组合体积不再重复扣减。该简化仅适用于竖直、互不重叠且嵌入段全在承台内的桩;与斜桩模型不绑定。

小结

教学模型的可信度不来自模型好看,而来自”参数—几何—报告”三者一致。 方法成本低(几十行脚本),收益是每个尺寸都能回答”这是量的还是抄的”。

当前交互边界:三维模型是配置脚本离线生成的静态 GLB;场地表单、几何计算器与模型几何尚未联动,不宣称已实现浏览器实时参数化建模。

Share: