更新日志
v.4.2.0
2024-10-31
  1. 新增功能
  2. 实体建模
    • 新增螺旋线的生成功能,支持平面螺旋线和空间螺旋线
    • 新增NURBS混接曲面支持用户指定边界对应关系
    • 支持NURBS转换功能对平面2D曲线进行转换
  3. 接口变更
  4. 通用模块
    • 删除函数QuaternionT::SetEulerAngles()和QuaternionT::GetEulerAngles(),删除枚举类EulerRotationOrder
  5. Bug修复
  6. 通用模块
    • 修复容差为0时的相同坐标判断不相同的问题
    • 修复部分情况下直接设置变换中的矩阵时出现NaN的问题
    实体建模
    • 修复偏移平面上的曲线在曲面上偏移效果不符合预期的问题(对于封闭曲面仍在修复中)
    • 修复部分情况下曲线封闭判断错误的问题
    • 修复部分情况下长度计算崩溃的问题
    • 修复在曲面相交仅为曲面边界时相交失败的问题
    • 修复创建圆柱,圆锥等旋转体时非法输入未抛出异常的问题
    • 修复部分情况下延伸面结果不符合预期的问题
    • 修复部分情况下网格法向计算错误的问题
    • 修复退化情况下对网格进行渲染效果不佳的问题
    • 修复部分情况下倒角崩溃的问题
    • 修复部分情况下圆角崩溃的问题
    • 修复部分情况下偏移曲线结果数目不正确的问题
    • 修复部分情况下扫掠结果不符合预期的问题
    • 修复部分情况下旋转扫掠不符合预期的问题
    • 修复部分情况NURBS获取曲面失败的问题
    • 修复NURBS重建接口对于非法输入崩溃的问题
    • 修复部分情况下NURBS转换周期性错误的问题
    • 修复部分情况下管道功能结果不符合预期的问题
    网格剖分
    • 修复了CurvatureFactor设置选项不起作用的问题
  7. 其他
  8. 文档中文翻译:geometry(Geom2CurveLocalProperty-Geom3Surface)
v.4.1.0
2024-9-30
  1. 新增功能
  2. 实体建模
    • 新增实体直接建模的替换面功能,支持将实体中的一个面替换为另一个曲面
    • 新增放样功能的算法选项,其中Sweep为之前版本的算法,Basic为新算法
    • 支持检查单个face的单个wire是否自相交 (当前版本重合不判断为自相交)
    • 支持检查一个形状是否包含几何
    • 在GeneralTransformationT<>中 添加 ScaleFactor() 函数用于获取scale factor
    网格剖分
    • 新增 平面/3D 边界层剖分功能
    • 新增带标签形状导入接口
  3. 接口变更
  4. 实体建模
    • NURBSAPICorrespondence::CalcParamCorrespondece 更改为NURBSAPICorrespondence::CalcParamCorrespondence
    • QuaternionT<Scalar>::GetRulerAngles() 更改为 QuaternionT<Scalar>::GetEulerAngles()
    • 修改ShapeAnalysisFreeBounds 中的 SplitWires() 和 DispatchWires() 接口为静态函数
    T网格样条建模
    • TMSplineThicken::ThickenTMSplins 更改为TMSplineThicken::ThickenTMSpline
    网格剖分
    • NMMesh::Write 函数增加导出文件控制参数
  5. Bug修复
  6. 实体建模
    • 修复部分情况下曲线沿法向投影到曲面失败的问题
    • 修复部分情况下曲线沿方向投影到曲面失败的问题
    • 修复部分情况下曲面延伸失败的问题
    • 修复部分情况下曲面放样不符合预期的问题
    • 修复部分情况下曲面扫掠结果不符合预期的问题
    • 修复部分输入下混接曲面崩溃的问题
    • 修复部分情况下创建平面圆失败的问题
    • 修复部分情况下曲线相交在输入一条曲线进行自相交时失败的问题
    • 修复部分情况下曲面和曲面相交失败的问题
    • 修复部分接口在形状为空时直接崩溃的问题
    • 修复部分情况下判断点在面上功能误差设置不起作用的问题
    • 修复部分情况下网格化结果法向错误的问题
    网格处理
    • 修复增量式重网格化方法TriMesh_IncrementalRemeshing
    • 修复网格切割对部分模型切割失败的问题
    • 修复3d线段求交判断部分情况失败的问题
    • OBJ读写添加对MTL材质文件、分组信息等支持
    • 修复部分模型网格光滑时出现NaN数值计算问题
  7. 其他
  8. 文档中文翻译:common(PointT-VectorT)、fillet、geomAlgo、geometry(Adaptor2Curve-Geom2Curve)
v.4.0.2
2024-8-20
  1. 新增功能
  2. 新增网格剖分模块(AMCAXNextMesh)
    • IO:导入STEP文件、输出OBJ/VTK/Fluent-Msh文件
    • 网格类型:线网格、三角形面网格、四面体网格
    • 剖分参数:全局/局部尺寸、增长率
    • 辅助功能:接触面对判断、面组定义
    实体建模
    • 新增曲线曲面检查边缘几何连续性的功能 NURBSAPICheckContinuity
    • 新增判断一组曲线是否在同一平面的功能 GeometryTool::IsPlanarCurves
  3. 接口变更
  4. 实体建模
    • NURBSAPIRebuild 中相关删除冗余的参数IsForceNonRational,该参数是否设置生成结果均为非有理
    • NURBSAPIRebuild 所有指定节点重数的api删除控制的数目这一冗余参数
  5. Bug修复
  6. 实体建模
    • 修复曲面创建建模相关接口在遇到非法输入时会崩溃的问题
    • 修复了部分情况下特征移除移除额外特征的问题
    • 修复了部分情况下射线和实体相交崩溃的问题
    • 修复了部分情况下网格化失败的问题
    • 修复了部分情况下将曲线法向投影到曲面结果不符合预期的问题
    • 修复了部分情况下填充曲面不符合预期的问题
    • 修复了部分情况下单轨扫掠曲面不符合预期的问题
    • 修复部分情况下平行扫掠不符合预期的问题
    • 修复了部分情况下放样崩溃的问题
    • 修复了部分情况下通过控制网的曲面不符合预期的问题
    STEP文件读写
    • 修复部分情况下 Composite_Curve 无法正常读写的问题
    • 修复部分情况下旋转面读取不正确的问题
  7. 其他
  8. 文档中文翻译(部分)
v.4.0.1
2024-7-31
  1. 新增功能
  2. 实体建模
    • 支持判断一条曲线是否是平面曲线
    • 支持计算曲线的长度和到曲线起点给定弧长的点
    • 样条曲线插值支持插值带有梯度的数据点
    • 支持曲面建模中的缝合操作,将具有重合边的face缝合成一个shell
    STEP 文件读写
    • 通过 StepOptions 类,为 StepMeshReader 的网格化的多线程支持提供开关
    细分建模
    • 提供新的对纯四边形和三角网格的细分接口,结果仅保留点面信息
  3. 接口变更
  4. 实体建模
    • NURBSAPIMatch类中删除MatchSurf和MatchFace的最后一个参数
    • NURBSAPIRebuild::RebuildSurface删除指定uv次数、节点向量、重数和误差的重载接口
    细分建模
    • SubD模块中类MeshSubdiveHE变更为MeshSubdivideHE
  5. Bug修复
  6. 实体建模
    • 修复了部分情况下样条扫掠不符合预期的问题
    • 修复了部分情况下样条放样不符合预期的问题
    • 修复了部分情况下样条延长不符合预期的问题
    • 修复了部分情况下通过曲线网的曲面错误的问题
    • 修复了部分功能在曲线,曲面次数较高(>=11)时崩溃的问题
    • 修复了部分情况下 B 样条曲线升阶错误的问题
    • 修复部分情况下曲面匹配不符合预期的问题
    • 修复了部分情况下直纹面,拉伸面和样条面相交崩溃的问题
    • 修复了部分情况下实体布尔结果不正确的问题
    • 修复了部分情况下倒角结果不正确的问题
    • 修复了部分情况下求最近距离崩溃的问题
    • 修复了部分情况下网格化崩溃的问题
    几何约束求解器
    • 修复椭圆端点约束不符预期的 bug
    STEP文件读写
    • 修复读取 Trimmed_Curve 时部分崩溃问题
    IGES文件读写
    • 修复110类型已知缺陷,优化相关数据结构
v.4.0.0
2024-6-28
  1. 新增功能
  2. IGES 文件导入
    • 支持几何体导入
    STEP 文件读写
    • 支持针对图形的重心、密度等属性信息
    • 提供面向StepMeshReader的工具函数
    实体建模
    • 支持NURBS曲面建模,提供以下功能
      单轨扫掠、双轨扫掠、显式扫掠、直线扫掠、圆弧扫掠、二次曲线扫掠、旋转扫掠、放样、多导轨放样、重建、组合、炸开、裁剪、取消裁剪、混接、衔接、延长、拟合、插值、转换、Coons 曲面、曲线构建、从曲面边界构建曲面、在曲面上偏移、替换边缘、构建曲线对应关系
    • 添加两个基本体:直角棱柱和棱锥
    • 优化了射线和 BRep 求交的性能
    网格处理
    • 添加网格切割功能
    • 添加网格双射参数化功能
  3. 接口变更
  4. 实体建模
    • MakeBox 类中删除了函数 FrontFace()、BackFace()、LeftFace()、RightFace()、TopFace()、BottomFace(),增加了函数 XMinFace()、XMaxFace()、YMinFace()、YMaxFace()、ZMinFace()、ZMaxFace()
  5. Bug修复
  6. 实体建模
    • 修复了部分情况下圆环面创建不符合预期的问题
    • 修复部分情况下无限大平面和曲面相交失败的问题
    • 修复部分情况下点和边的关系判断错误的问题
    • 修复默认构造的部分几何曲线曲面调用算法崩溃的问题
    • 修复了部分情况下布尔运算失败的问题
    • 修复了部分情况下偶发内存泄漏的问题
    • 修复了 BRepExtremaDistShapeShape 在部分情况下发生崩溃的问题
    • 修复了 BRepClassificationTools::IsSolidBounded() 在部分情况下发生崩溃的问题
    • 修复了在部分情况下 MakeBox 重新初始化错误的问题
    网格处理
    • 减少网格修复算法在大模型上的内存消耗
    STEP 文件读写
    • 修复部分情况下颜色等信息无法获取的问题
  7. 麒麟桌面操作系统 v10 版
v.3.6.2
2024-5-30
  1. 新增功能
  2. 实体建模
    • 计算重合面的功能
    • 计算相交面的功能
    • 计算最大距离的功能
  3. 接口及头文件变更
  4. Common 模块
    • 删除 2D Frame 的 Direction() 和 Axis() 接口,避免引起歧义
    • 删除所有 2D 基本几何对象类相对 2D Frame 的镜像变换
    实体建模
    • 二次曲线相关类中删除 Parameter() 并新增 FocalParameter() 和 SemilatusRectum() 接口
    • 重构基本曲线曲面相关类,使共有功能的表现一致,接口的调用方式不变
    • 删除所有 2D 基本曲线曲面相对 2D Frame 的镜像变换
  5. Bug修复
  6. 实体建模
    • 修复部分头文件的多重包含问题
    • 修复退化二次曲线的离心率计算未抛出异常的问题
    • 修复点在退化二次曲线上的判断错误的问题
    • 修复部分情形下周期 B 样条曲线判断成不封闭曲线的问题
    • 修复部分情形下进行圆角操作导致崩溃的问题
    • 修复部分情形下圆角结果错误的问题
    • 修复部分情形下 UnifySameDomain 崩溃的问题
    • 修复部分特殊情形下球面和环面布尔运算结果错误的问题
    网格处理
    • 修复两个以上网格计算布尔交线不正确的问题
    STEP 文件读写
    • 修复无法导出游离 Vertex 的问题
    • 修复导出的 B 样条曲线与其他程序兼容性较差的问题
    • 修复 StepMeshReader 部分情况下数据不完整的问题
  7. 公开示例代码仓库(giteegithub)
v.3.6.1
2024-4-30
  1. Linux 版本公开发布, 支持 Ubuntu 22.04 LTS / GCC 11.4
  2. 新增功能
  3. 实体建模
    • 面延伸功能
    • 移除特征功能
    • 判断平面或曲面功能(GeometryTool::IsPlanarSurface)
    • 增加判断点在曲线内部或边界上的接口(BRepClassificationTools::IsPointInOnFace)
    网格处理
    • 增加网格布尔保留原始面片信息的功能
    • 增加网格布尔计算交线功能
    • 增加增量式重新网格化功能
  4. 接口及头文件变更
  5. STEP 文件读写
    • 强化颜色、实体名称的导入、导出
    • StepDataTool::ApplyTrsf/Flatten 拆分为 ApplyTrsf+ApplyTrsfInplace 与 Flatten+FlattenInplace
    • STEP转三角网格接口整合,零件名称、颜色的匹配,加载进度汇报
    网格处理
    • MeshBoolean添加获取原始面片信息与网格交线的接口
  6. Bug修复
  7. 所有模块
    • 修复各模块在 Linux 环境下的兼容性问题
    实体建模
    • 修复了某些情况下计算边的长度时崩溃的问题
    • 修复了 Bézier 曲面等参线计算会崩溃的问题
    • 修复了 Bézier 曲面网格化结果错误的问题
    • 修复了某些特殊的 B 样条曲线计算出现 NaN 的问题
    • 修复了在某些情况下倒角出现崩溃和不正确结果的问题
    • 修复了在特定情形下对模型进行变换的时候曲线信息丢失的问题
    • 修复了在特定情形下球体和球体布尔运算错误的问题
    • 修复了在特定情形下MakePipeShell构造异常的问题
    多边形细分网格建模
    • 修复形状创建和边界细分的bug
    T网格样条建模
    • 修复形状创建中的bug
    约束求解器
    • 修复平行/垂直约束中的bug
v3.6.0
2024-03-28
  1. 新增功能
  2. 网格处理(新模块)
    • 支持网格求交、网格布尔功能
    • 支持网格修复功能
    • 支持网格拉伸功能
    • 支持网格简化和网格细分功能
    • 支持网格文件读写(OBJ, STL)
    几何约束求解器
    • 新增2D约束求解功能
    实体建模
    • 提供新的API:BRepFaceClassifier,BRepSolidClassifier,用于对不会更改的形状进行多次内外判断,性能明显提升
    • 添加获取实体外轮廓的函数 ShapeAnalysisTool::OuterShell()
    • 提供一个新API用于获取bool后的简化结果
    • 提供MakePipeShell中的模式设置,支持随曲线标架运动和仅平移
    多边形细分网格建模
    • 在MeshTool中添加获取和更新法向接口
    • 在MeshTool中添加遍历接口
    T网格样条建模
    • 在TMSplineTool中添加获取和更新法向接口
    • 在TMSplineTool中添加遍历接口
    STEP文件读写
    • 提供STEP转Mesh的接口
    • 在StepDataTool中添加读取和导出接口
  3. Bug修复
  4. 实体建模
    • 修复创建旋转面错误的bug
    • 修复创建2D圆弧错误的bug
    • 修复其他部分bugs
    STEP文件读写
    • 修复部分文件无法读取的问题
  5. 接口及头文件变更
  6. 实体建模
    • 原mesh文件夹重命名为topomesh
    T网格样条建模
    • TMSplineAdd.hpp重命名为TMSplineAddFace.hpp
    • TMSplineBridge.hpp重命名为TMSplineBridgeEdge.hpp
    • 修改TMSplineCheck的返回值为bool类型
    多边形细分网格建模
    • MeshTools.hpp重命名为MeshTool.hpp
v3.5.2
2024-02-29
  1. Bug修复
  2. AMCAXCommon模块
    • 修复了在继承CoordT类时,operator*在模板推断时的错误问题
    • 将异常处理中的一些宏替换为了函数,以减少宏的使用,避免冲突
    AMCAXPart模块
    • 修复了使用MakeEdge2d创建的边在MakeWire之后崩溃的问题
    AMCAXSubD模块
    • 修复了MeshCopy返回值错误的问题
    • 在MeshTool中添加部分网格法向相关的接口
  3. 接口更新
  4. AMCAXOCCTIO
    • 去除无效参数,增强输入参数有效性检查
    AMCAXStep
    • 新增接口,支持完整Product树状信息、零件装配信息、子Shape命名与颜色信息
    AMCAXGCS
    • 更正为默认不导出接口函数定义
  5. 性能提升
  6. AMCAXPart
    • 提升了IsPointInSolid判断的计算速度
v3.5.1
2024-01-31
  1. 新增AMCAXOCCTIO模块,提供Open CASCADE的BREP数据格式导入和导出
  2. 提供CMake Config模块,可供使用者利用CMake config功能配置AMCAX依赖
  3. 性能优化和Bug fix
  4. AMCAXPart模块
    • 修复了BrepIntCurveSurface类PerformFirstPoint不是第一个交点的问题,提供PerformIsIntersection判断曲线是否与Brep相交,优化了单个BRep进行多次曲线计算的性能
    • 优化了B样条相关的计算和计算极值方面的性能
    • 优化了计算曲面包围盒的性能
    • 优化了复杂形状网格化的性能
    • 修复对于部分曲面网格化失败的问题
    • 修复了部分情况下镜像失败的问题
    • 修复了部分情况下读取OBJ缺少面的问题
    AMCAXStep模块
    • 修复了导出精度较低的问题,修复了导出重复曲线、顶点的问题
    • 修复了STEP导入部分的组装、装配问题,修复了重合曲线、顶点无法正常合并的问题,修复了部分情况下Solid外翻的问题,修复了部分情况下B样条曲线、曲面无法正确闭合的问题,修复了部分实体输出错误、崩溃的问题
    • 显著提升STEP文件导入性能
v3.5.0
2023-12-29
  1. 新增STEP文件读写
  2. 新增多边形网格细分建模和T网格样条建模,支持以下功能:
    • 基本体构建:平面矩形、方体、圆柱体、圆锥体、圆台、球体、环面等
    • 基本编辑功能:遍历、添加、细化、删除、分离、缝合、特征等
    • 拓扑建模功能:变换、拉伸、加厚、补洞等
    • 网格细分,OBJ、OFF文件导入和导出(限多边形网格细分建模)
    • 网格化和导出OBJ文件(限T网格样条建模)
  3. AMCAXPart模块:
    • 新增BoolBRepSection 支持相交线提取
    • 新增BoolBRepSplitter 支持对形状进行分割
v3.3.0
2023-12-07
  1. 新增几何约束求解器。支持三维空间中点与点、线、面距离约束,面与线、面距离约束,平行线距离约束以及向量夹角约束
  2. AMCAXPart模块:
    • 优化降低了网格化结果的平均网格密度
v3.2.3
2023-11-28
  1. 发布AMCAXCommon模块:提供常用的基本类,如点,向量,包围盒等
  2. 发布AMCAXPart模块:包含以下功能模块:
    • 提供3D对象边界表示(Brep)的数据结构
    • 曲线和曲面构造,求值
    • 通过插值和近似创建参数化曲线和曲面
    • 2D曲线相交,曲线曲面相交和曲面曲面相交
    • 计算几何对象之间的极值
    • 支持创建基本形状(方盒,圆柱,圆锥,球,圆环)
    • Brep的几何变换
    • 拉伸创建功能
    • 旋转创建功能
    • pipe管道功能
    • 放样操作
    • Bool运算功能(包括Fuse,Common,Cut)
    • 倒圆角和倒斜角功能(支持可变半径)
    • 形状偏移功能
    • 形状加厚功能
    • 消除隐藏线功能
    • 从Brep构建三角网格表面算法并存储
    • 导出文件(STL,OBJ)