|
论坛里CATIA操作帖很多,但不少停在“点哪个按钮”。真正卡人的往往不是按钮在哪,而是Merging distance填多少、Join和Healing谁先谁后、删特征时删不删子级、缓存开了为什么还是慢。这篇把我自己在曲面修复、特征树整理、自顶向下骨架和大型装配上反复踩过的坑整理出来,每条都尽量落到具体参数和操作顺序上。不一定全对,但都是实际试出来的。 一、曲面缝合:Merging distance的默认值不是“建议值”,是“底线值”Join和Healing共用同一个Merging distance参数。CATIA默认给的是0.001 mm,最大允许到0.1 mm。很多人Join报错,第一反应是把公差拉到0.01甚至0.1,面是合上了,但后续抽壳、加厚、布尔运算开始随机报错,根本找不到原因。 原因在于:0.001 mm处理的是“本来应该重合、只差建模精度”的缝隙;0.01 mm以上处理的是“实际存在几何偏差”的缝隙。 后者强行焊上,曲面在接缝处的法矢和曲率是断的,系统不会在Join阶段报错,但会在下游操作里把账算回来。 我的实际顺序是: 先用0.001 mm做一次Join,看哪些边界合不上。合不上的单独拎出来,用Surface Connection Checker量实际缝隙和切向偏差。 缝隙在0.001~0.01 mm之间的,优先用Healing处理,而不是调大Join公差。 Healing的逻辑是先变形曲面让间隙落到容差以内,再做接合,比单纯“拉大焊接距离”多了一步几何修正。 只有确认缝隙是导入单位或原始精度造成的系统性偏差,才把Merging distance提到0.01 mm级别,且改完之后重新做一次Join,不要在旧的Join上改参数——旧Join的结果可能已经带入了不希望的拓扑连接,回头改公差容易产生自相交。
还有一个容易被忽略的点:Merging distance是全局设置,改完之后会影响之后所有的Join、Healing、Extract操作。修完一个烂面记得改回去,不然下一个模型会用错误的容差悄悄“合”掉不该合的东西。 二、特征树清理:删特征之前,先搞清楚“删的是谁”拿到外部模型或者接手别人的数据,特征树里一堆无历史实体、废特征、内部零件,看着就想清。但CATIA的删除逻辑不是“所见即所得”。 关键区别在Delete对话框里的选项。 默认删除一个特征时,系统问的是“要不要连同聚合在它下面的元素一起删”。如果选错,要么删不干净,要么把下游依赖的特征一起干掉。 更安全的清理顺序是: 先处理“无历史”实体:孤立实体没有父子关系,删除风险最低。论坛里有现成的宏可以一键去除历史特征、只保留实体,但用之前务必在副本上跑一遍,确认没有误删带参数的参考几何。 再处理内部零件:在装配环境下,Cut和Delete的行为不同——Cut把组件实例移到剪贴板,Delete直接移除实例。如果只是想临时隐藏某个子总成,用表示 → 可视化模式或Deactivate,不要删。 替换子总成时,注意“Delete all Children”:用新子装配替换旧子装配,如果旧子装配下面还挂着约束或下级零件,直接删父级会把子级一起带走。正确做法是先解除或迁移约束,再替换。
一句话原则:在特征树上删除任何东西之前,先把“父子关系”和“约束归属”在脑子里过一遍。 免费模型的特征树往往没有命名规范,Part1下面套Part1,删错了找回来的成本远高于多花两分钟确认。 三、自顶向下骨架:发布(Publish)不是“可选步骤”,是“隔离层”自顶向下参数化的核心逻辑大家都懂:骨架定义全局参数和基准,子零件引用骨架,改骨架驱动全体。但直接复制骨架里的点线面去子零件里用,和先发布再引用,长期维护成本完全不在一个量级。 直接Copy/Paste或者“选择性粘贴 → 链接”的后果是:子零件的外部参考直接指向骨架内部的某个特征。骨架一改结构顺序,或者那个特征被重命名、被移动,下游链接批量报错,逐个修复能把人逼疯。 发布(Publication)的作用是插入一个稳定的“接口层” :子零件引用的是骨架中“已发布”的那个具名元素,而不是骨架内部特征的路径。只要发布元素本身保留,骨架内部怎么重构,下游链接的指向不变。 实际操作中值得坚持的几条: 骨架零件里只放点、线、面、参数,不放实体。实体特征会引入不必要的父子依赖,污染骨架的纯净性。 发布之前先归类。把要发布的元素放进专门的几何图形集(比如PUB_基准、PUB_轮廓),再集中发布。后期排查链接时,一眼能看出哪些是“对外承诺”的接口,哪些是内部实现。 子零件引用发布元素时,用“选择性粘贴 → 与原文档相关联的结果” ,不要用普通粘贴或“仅值”粘贴。后者会切断参数关联,骨架更新时子零件纹丝不动。 通用件、标准件尽量不接收外部参考。如果必须接收,统一用“外部复制几何 + 坐标系定位”的方式,而不是默认缺省放置,避免移动装配时参考错位。
四、大型装配:缓存开了还慢,是因为只开了“一半”Work with the cache system几乎是大型装配的标配建议,路径在工具 → 选项 → 基础结构 → 产品结构 → 缓存管理。但很多人勾了这个选项之后感觉提升有限,原因通常是CGR优化没有同步打开。 缓存系统生成CGR文件(只含细分数据、不含精确几何),加载时确实快,但如果CGR本身没有针对大装配做裁剪,内存占用仍然居高不下。CGR Management里的Optimize cgr for large assembly visualization需要单独启用:启用后,每个CGR只加载一部分内容,内存消耗降下来,代价是帧率有所下降。 其他容易被忽略的设置: 3D Accuracy调粗:工具 → 选项 → 常规 → 显示 → 性能,把3D精度从默认值放宽到0.2或更高,对视觉判断几乎没有影响,但显示计算量明显下降。 Undo Stack size从10降到5:每次撤销操作都占内存,大装配下撤销栈是隐性内存杀手。 关闭自动惯性重算:机械设计 → 装配设计里关掉惯性测量更新。除非你在做运动仿真或重心计算,否则装配过程中反复重算惯性矩纯属浪费。 定期跑CATDUA:对Part或Product右键,用CATDUA清理损坏数据,优先级设3。外部模型反复打开保存几次之后,文件内部会积累冗余数据,CATDUA能把这些“看不见的重量”清掉。
|