返回资讯中心
外部精选
软件工程
#开发者实时流

研究实现对BRep内核的精确梯度计算

来源标题:Exact Gradients Through a BRep Kernel

一项研究提出在边界表示(BRep)内核中实现精确梯度的方法,通过在冻结网格拓扑下对节点位置求导。该方法覆盖曲面节点、顶点、修剪节点及圆角过渡,可扩展到方向二阶导数和反向传播,并用于质量属性与带惩罚接触的刚体伴随计算。拓扑变化会被报告为错误。

Hacker News 最新ecto2026/11/13 · 今天25 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

VisionResearchCode 通过 BRep 内核精确计算梯度 在细分曲面、圆角、质量属性和接触中微分 CAD 参数 阅读 PDF 滚动 摘要 基于梯度的设计需要目标函数对设计者所编辑参数的导数,例如孔半径或圆角半径。在边界表示(BRep)内核中,这些参数会经过布尔运算、圆角处理和细分曲面,而这些步骤会做出离散选择。我们在当前参数下冻结细分曲面的拓扑,并对其节点位置进行微分:曲面节点通过在双数上求值内核的解析曲面来获得,顶点和裁剪节点通过曲面方程的隐式微分来获得,圆角过渡则使用相切行。结果对于冻结网格是精确的,可扩展到方向二阶导数和转置(反向)传递,并可馈入质量属性以及带惩罚接触的刚体伴随。拓扑变化会作为错误报告。

我们通过冻结方案的有限差分以及不与接缝共享任何细分曲面的全新重建的有限差分进行验证,并说明该方法的不足之处:冻结网格的导数与连续体之间的差异在于多边形化误差(每圆 16 段时圆角为 6.7%,128 段时为 0.11%),一个方案在至少 mm 的参数步长内保持有效,并且同方案检查在带圆角、带钻孔的零件上发现了接缝中的两个错误,我们对此进行了描述并已修复。 机械设计师以参数为工作对象:凹槽的深度、孔的半径、圆角的半径。为设计师服务的优化器需要目标函数(质量、惯性、仿真结果)对这些参数的导数。在参数与任何可测量量之间,存在着布尔运算、圆角构造和细分曲面,每一个都会做出离散决策:布尔运算后哪些面保留、以什么顺序缝合、用多少段来近似一个圆。商业内核通常不向用户暴露参数导数,因此设计师通常退回到对完整重建进行有限差分,每个参数需要两次重建。

这不是一个新问题,我们的方法在轮廓上也不是新的。Engineering Sketch Pad 在参数化 BRep 上计算细分曲面灵敏度:每个网格点相对于每个设计参数的移动,在基础模型和扰动模型之间保持拓扑一致的细分曲面上,灵敏度依次在节点、边、面上求得 1,2。这些灵敏度对大多数构造操作是解析的,对其他操作则退回到有限差分,圆角处理就在其中 1。Banović 等人通过运算符重载对 Open CASCADE 内核本身进行微分 3,4;这种算法微分能到达内核执行的每一个操作,包括圆角,并且可以嵌套用于二阶导数,代价是对内核的组合代码进行微分并记录其执行过程。 我们在 vcad——我们的开源 Rust BRep 内核——中描述了同样的想法,我们称之为接缝,并沿四个方向进行了扩展。这些扩展在微分领域总体上都不是新的。新之处在于将它们置于一种冻结细分曲面的方法中,而内核代码本身不被微分。 我们通过冻结方案的中心有限差分来验证导数,并且在重建保持拓扑的情况下,通过从头细分曲面的重建来验证,这些重建与接缝的代码不共享任何内容(第 8 节);例外情况在那里列出。我们描述了检查发现接缝中错误的两个案例。一个脚本从全新克隆重新生成本文中每一个测量值(第 10 节)。 ,其中段数和三角剖分保持固定。它与连续形状导数的差异在于多边形化误差,该误差随段数按 下降:对于每整圆 16 段(每四分之一过渡 4 段)的带圆角立方体,圆角半径导数的幅度比连续体大 6.7%,128 段时为 0.11%(图 8)。 一个方案仅在捕获位置附近有效。重新评估方案会将每个节点匹配到其捕获时位置,误差在 mm 以内。在第 8.4 节的五参数盒子上,每个参数至少可以移动 mm,这是我们对数网格中保持对应关系的最大步长;下一个网格点 mm 则失去了对应关系。因此优化器在每次迭代时捕获新方案。 段数可以在迭代之间变化。vcad 的布尔边缘是下垂自适应的:其弧段数取决于半径。将盒子的孔半径从 1.6 mm 扫到 2.4 mm,节点数变化了 20 次,每次变化使体积移动最多达其值的 。因此跨迭代是分段光滑的,带有小跳跃。优化器不会因为某一步的节点数与上一次迭代不同而拒绝该步,因为每次迭代的梯度是在其自己的方案上取得的;跳跃在线搜索中表现为噪声。 不跨拓扑变化求导。当扰动会改变拓扑时(盲孔穿透、圆角消耗一个面),接缝通过拓扑签名和逐节点对应检查检测到它,并返回错误,优化器则缩小步长(图 1)。 从构建函数合成的种子不是精确的。它们是曲面场的中心差分,精度为 ,每个参数需要两次重建(第 6 节)。 接触是 phyz 的可微惩罚模型,一种针对无摩擦地平面的逐顶点弹簧-阻尼器,而非 GJK/EPA 碰撞管线 5。轨迹伴随支持单自由度关节、开环控制以及仅对最终状态的目标函数。 一切都在 CPU 上以双精度运行。

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →