网格编辑模块
网格导入格式: obj, stl, off, ply(文本格式)
修复
流形检测:检测网格是否是流形结构
拓扑:修复网格拓扑缺陷,移除孤立顶点, 非流形结构
几何:修复网格几何缺陷,优化退化三角形, 折叠三角形
孤立项:移除网格孤立项. 参数-Isolation:孤立值小于此值的网格部分会被移除掉
反向:翻转网格法向量方向
自交检测:检测网格是否有自交情况
法线:更新法线
滤镜:过滤网格的几何,比如去噪,光滑网格,增强网格细节.
去噪:去除网格噪音, 并保持特征边不被光滑. 如果有面片选择,则局部去噪。这个功能有两个参数:Iterations-迭代次数;Intensity-去噪强度,范围是(0, 1),强度越大,网格越光滑.
法线:光滑法线
光滑:光滑网格。如果有面片选择,则局部光滑。参数-PosWeight:为顶点位置固定的权重,权重越大,去噪光滑程度越小,参数范围是(0, infinity),默认为1.0
Sharp:特征边增强。参数:Intensity-增强强度,范围(0, 1); Radius-特征边增强范围半径; Angle-特征边曲面夹角。增强结果的红色部分为增强区域。用户也可以手动选择区域。如果有用户选择的区域,则功能只增强选择区域,否则会先计算增强区域,再做特征边增强。
Blend:特征边光顺。参数:Intensity-光顺强度,范围(0, 1); Radius-特征边光顺范围半径; Angle-特征边曲面夹角。
抹平:抹平选择部分的几何。注意,不能选择边界点
Remesh-简化
简化网格,简化结果尽量保持原始模型的几何特征。
参数-TargetNum:基于目标顶点数的简化,参数为网格简化后的期望顶点个数。期望顶点数大多数情况是可以达到的,某些期望顶点数很少的情况,有可能简化不到期望的顶点数。
参数-MinEdgeLen:简化掉网格的短边,短边长度小于MinEdgeLen。
参数-Error:是否加入误差约束。ErrorBound为简化后网格的距离误差。距离为单边Hausdorff距离(简化网格到原网格距离) 。注意是否勾选了Unify参数:三维模型在导入的时候做了均匀缩放到包围盒[-1, 1],所以这里的距离是在缩放后的尺度空间里的。模型缩放到[-1, 1]是为了方便测试。如果想设置模型尺寸的参数,可以把Unify去掉。
Remesh-细分
细分网格。三角网格采用Loop细分规则,四边形网格采用Catmull-Clark细分规则
参数-SubdTimes:细分次数
参数-KeepGeom:细分结果是否保持原始几何不变
Remesh-加密
增加网格顶点个数,增加的点在原始网格的三角面片上,此操作不改变网格的几何。
参数-TargetNum:加密后的网格顶点个数。
参数-TargetLen:加密后的网格最长边长小于这个参数。
Remesh-Remesh
重新网格化。
参数-TargetNum:Remesh的目标顶点数
参数-SharpAngle:网格边的相邻面夹角大于sharpAngle,则认为是一个sharp边。重新网格化的时候,会保持住sharp边的几何。参数范围是(0, 180)。
参数-ItrNum:Remesh网格优化的最大迭代次数
参数-OpEpsilon:Remesh网格优化的最小几何变化值。网格优化过程中,几何变化值小于这个数据值时,则停止继续优化。-1为自动计算值。
均匀:网格顶点均匀分布的目标顶点数Remesh,如下中图所示。
几何:网格顶点非均匀分布的目标顶点数Remesh,曲率大的地方顶点密一些,如下右图所示。
参数-TargetLen:Remesh的目标平均边长
参数-Error:是否加入误差约束。ErrorBound为简化后网格的距离误差。距离为单边Hausdorff距离(简化网格到原网格距离) 。注意是否勾选了Unify参数:三维模型在导入的时候做了均匀缩放到包围盒[-1, 1],所以这里的距离是在缩放后的尺度空间里的。模型缩放到[-1, 1]是为了方便测试。如果想设置模型尺寸的参数,可以把Unify去掉。
Remesh-优化
优化网格的拓扑连接和几何。这里的优化主要是一些局部的优化算子。
参数-SharpAngle:网格边的相邻面夹角大于sharpAngle,则认为是一个sharp边。网格优化的时候,会保持住sharp边的几何。参数范围是(0, 180)。
参数-ItrNum:网格优化的最大迭代次数
参数-OpEpsilon:网格优化的最小几何变化值。网格优化过程中,几何变化值小于这个数据值时,则停止继续优化。-1为自动计算值。
CDT:Delaunay网格优化。优化网格连接关系,减少狭长三角形,保持网格顶点数目不变。
CVT:重心Voronoi网格优化。优化网格连接关系和顶点位置,减少狭长三角形,保持网格顶点数目不变。
参数-KeepTopo:CVT优化过程中是否保持网格拓扑不变
参数-Error:是否加入误差约束。ErrorBound为简化后网格的距离误差。距离为单边Hausdorff距离(简化网格到原网格距离) 。注意是否勾选了Unify参数:三维模型在导入的时候做了均匀缩放到包围盒[-1, 1],所以这里的距离是在缩放后的尺度空间里的。模型缩放到[-1, 1]是为了方便测试。如果想设置模型尺寸的参数,可以把Unify去掉。
拓扑:优化网格拓扑,目标是优化顶点度数尽量为6。
如下图所示,左图是原始网格,中间图是CDT的结果,右图是CVT的结果。
Remesh-Wrap
用闭网格把导入的网格包裹住。
参数-DistTol:包裹网格与原网格的距离误差范围
参数-GapRes:包裹网格的包裹分辨率,值越大,则原始网格的细节保留越低
Remesh-RemeshLine
重新采样网格线,局部重新网格化。
参数-TargetLen:重新采样网格线的平均边长,注意是否勾选了Unify参数
参数-SharpAngle:网格线的相邻边夹角大于sharpAngle,则认为是一个sharp点。重新网格化的时候,会保持住sharp点的几何。参数范围是(0, 180)。
四边形-四边形
根据导入的三角形网格生成边长均匀的四边形网格。
对齐:生成的四边形网格边走向尽量对其几何特征,如图二所示。参数-QuadSize:生成的初始四边形网格的平均边长。参数-SubdNum:在生成的初始四边形网格做细分的次数。
Fast:快速生成四边形网格。参数-QuadSize:生成的初始四边形网格的平均边长。
Subd:用CC细分的方式生成四边形网格
四边形-优化
优化四边形网格的几何或者拓扑结构
参数-ItrNum:网格优化的最大迭代次数
参数-OpEpsilon:网格优化的最小几何变化值。网格优化过程中,几何变化值小于这个数据值时,则停止继续优化。-1为自动计算值。
几何:优化四边形网格的几何
拓扑:优化四边形网格的拓扑结构,减少奇异点个数
补洞
补洞:目前有三角化,平面,光滑和曲率四种类型的补洞方法。如果有选择洞,则选择的洞不会修补,如果没有选择,则全部补洞。参数MaxHoleSize可以控制只补点数<=MaxHoleSize的洞。
搭桥:选择需要搭桥的一对边,自动桥接。参数Smoothness为搭桥部分的光滑性,范围是[0, 1]:0-代表平的类型,1-代表曲率类型,之间的值介于两者之间,值越大越光滑
Offset: 参数意义则为移动距离D。注意,三维模型在导入的时候做了均匀缩放到包围盒[-1, 1],所以这里的移动距离D是在缩放后的尺度空间里的。模型缩放到[-1, 1]是为了方便测试。如果想设置模型尺寸的参数,可以把Unify去掉。
抽壳:使网格沿法线方向移动距离D,如果是开网格,则在边界处于原网格连接变成一个闭网格。如下图2
等距:使网格沿法线方向移动距离D
加厚:使网格往内外都等距增厚。如下图3
implicit: 是否使用隐式曲面的计算方法。如果是,则需要设置Resolution
映射-投射
导入一个参考网格,把网格投射到参考网格上。
映射-拟合
导入一个参考网格,用网格去拟合参考网格的几何。
拟合需要导入两个网格的对应标记点,标记点文件格式为file.mark: markSize markIndex0 markIndex1 ...... 如图所示,第一个网格是导入的网格,第二个网格是导入的参考网格,第三个网格是拟合的结果。
映射-特征点
鼠标右键可以选择网格顶点特征点
保存:保存特征点
删除:清空当前的特征点
布尔-参考模型
参考模型-Unify:导入的参考模型是否需要归一化。归一化可以使参考模型与导入的模型在同一尺度下。如果它们本身是同一尺度下的,则不需要Unify。
参考模型-导入:导入参考模型。
参考模型-移动:鼠标右键进入移动参考网格的模式。
参考模型-直纹面:鼠标右键在屏幕画出一条曲线,这条曲线往屏幕视角方向延伸,生成一个直纹面,作为参考模型。
布尔-平面
用平面切割网格。参数为平面距离原点的距离。
平面-随机:切割平面的法线为随机方向。
平面-XY:切割平面为XY平面。
平面-YZ:切割平面为YZ平面。
平面-ZX:切割平面为ZX平面。
选择平面:鼠标右键在网格上选择三个点可以定义一个平面
布尔-网格切割
网格切割:用参考网格来切割网格。
网格切割-FillSplitHoles:是否用参考网格的切割部分来填充网格切割后形成的空洞。填充的空洞边界需要是单联通的,并且是切断的。所谓切断的,就是切口出有两条几何重合的切割边界。如下图所示,左边的就没有切断,右边是切断的。如果切割边界不满足补洞条件,则不做填充。
网格切割-Fill2Sides:网格切割形成的空洞有两部分,这个选项是是否把两部分都填充了。如果不选择两边,则只用参考网格切割部分的网格去填充其中一面。
布尔-布尔
并:布尔运算并(如下图2结果)。布尔运算需要封闭的网格输入
交:布尔运算交(如下图3结果)
差:布尔运算差(如下图4结果).
implicit:是否使用隐式曲面的计算方法。如果是,则需要设置Resolution, Radius. Blend类型有Smooth, Round, Sharp, Chamfer类型,如图所示
布尔-叠加:把参考网格和原网格合并。
曲率:基于曲率计算的特征线检测。Ratio-显示特征线比例(特征线根据权重排序,显示比例Ratio的特征线)。
二面角:基于网格边二面角检测特征线。Angle-二面角阈值。二面角大于阈值的边为特征边。
分割:基于特征线的网格分割。Details-值越大,分割越细,范围(0.5, 1.0]
分割-分割:根据用户设定的分割数量,自动分割网格区域。注意,分割数量不是分割硬约束,分割算法会根据实际情况自动计算分割数量。
分割-计算凹槽特征线:用户在网格上选择一个顶点,设置选择半径大小(r=mesh_boundingbox_size * 参数),然后程序会自动在用户选择的区域内计算一条凹槽特征线。紫色区域为用户选择的区域,可以通过设置参数大小来改变选择区域的大小。一般情况下,只要这个选择范围刚好覆盖凹槽特征线即可。
如果一次点击不能满足要求,则可以多次选择:
“+”:如果切割线有部分没有选到,可以点击这个按钮进入增加选点模式。然后算法会根据多个点来计算切割线。
“-”:如果切割线圈到了多余的部分,则可点击这个按钮进入去掉背景模式。
分割-标记分割:基于标记点的网格分割。用户在网格上拾取标记点,不同标记点有不同的分割ID,算法根据标记点自动分割网格。
“+”:鼠标右键加点模式。
“-”:鼠标右键减点模式。
随机:随机生成标记点。
计算:根据标记点分割网格。Dist-是否根据距离来分割。
Refine:细化分割结果,比如把多边界部分细化成多个单边界部分。
拓扑:优化分割边界线拓扑。
光滑:光滑分割边界线。
“-”:收缩分割结果。SRatio-ShrinkRatio, 收缩比例。
选择:从左至右按钮依次是:右键方框选择,右键方框取消选择,删除选择,是否忽略背面,返回右键平移,取消所有选择
Connected Region: 右键框选时,是否把网格连通部分都选上
如果您有任何疑问和建议,欢迎发email: