1. 数值容差
数值大小:double数值计算精度16位, 4位舍入所以一般取 1.0e-12
建模核心 | 数值公差(mm) |
---|---|
OCCT | 1.0e-12 |
Opennurbs | 1.0e-12 |
ACIS | 1.0e-11 |
解决问题:
0.1+0.2 !== 0.3
num1 > num2 + tol !== num1 – num2 > tol
Math.sqrt(2)*Math.sqrt(2) !== 2
几何算法系统决定, 外部用户不可操作
2. 线性容差/距离容差/全局容差/容差/公差
数值大小: 几何上最小的距离尺度(机械0.001mm, 建筑1mm)高几个量级,机械一般为1.0e-6, 建筑一般为 1.0e-3
建模核心 | 线性公差(mm) |
---|---|
Parasoild | 1.0e-8 |
Open CASCADE | 1.0e-7 |
ACIS | 1.0e-6 |
解决问题: 数值精度, 当两个点距离小于这个容差的时候,则几何系统认为它们是一样的( 数值容差针 对无量纲的数值, 线性容差针对两个点的距离)
为什么要引入距离容差呢?
- 用户的捕捉或者吸附没有打开或者做的不好。(系统外部)
- 第三方数据导入。(系统外部)
- 在精度和数据量(效率)之间做一个Balance:比如曲面求交和投影交线的Sampling points之间的最小距离,如果值太小则数据量太大(效率低),值太大则求解曲线精度不够。同理, Blend Surafce 曲面的构造。(系统内部计算)
几何算法系统根据业务场景决定, 外部用户不可操作
3. 局部容差
为每一个 Vertex Edge Face附加一个容差, 每个拓扑部分有自己的容差
数值大小: 几何算法内部计算出来的, 一般不能超过几何上最小的距离尺度, 否则拓扑或者几何上可能存在问题, 也就是Brep不合法
比全局容差优势 :
- 全局容差必须是增加到包含最坏的情况。
- 下图是全局统一容差,如果上部短边缘的长短小于 4 倍的容差值,分割后的两条短边会由于两个顶点的容差重合,此条短边在系统中会被认为是重合的顶点而不能正确生成。 改成局部容差可一定程度上消除上述问题, 但也是不可避免的。
几何算法决定, 维护者/外部用户不可操作
4. 建模容差 / 模糊容差(Fuzzy)
解决问题: 实际应用, 不同行业和客户要求, 三维 CAD/CAM 设计平台
几何拓扑结构中代表两个几何元素的间距在多少以内可以被视为是足够接近
CAD 平台 | 应用领域 | 建模公差(mm) |
---|---|---|
UG/NX | CAD/CAM | 0.01 |
CATIA | CAD/CAM | 0.001 |
Solidwork | CAD | 0.0254 |
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容