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