曲面拟合(Point cloud to NURBS)
是一个运行在 Windows系统上的独立的应用程序。该软件可以通过单击一个按钮将NURBS曲面拟合到点云。软件有以下几个特色:
1.导入.点云文件,格式包括.pts, .xyz,.txt, .stl, .obj, .rsf ;
2.将点云/网格拟合成NURBS曲面;
3.将曲面导出为.igs文件;
4.拟合精度可控。可指定点与曲面之间的最大偏差阀值;
5.可控曲面平滑度。曲面的平滑度可有5级调整级别;
6. 处理大规模数据。目标曲面控制点数量可达到300X300,使程序能够适应大比例尺数据,例如用于测量的地形模型;
7.点云生成网格;将网格数据导出为.stl文件。
8.易于使用。只需单击一个按钮即可从点云创建曲面。
主要功能:
1. 在网格上动态描线并及时生成曲面.
对话框:
点击工具条图标后您将看到一下对话框:
参数说明:
2.在网格上生成曲线.
3.拾取网格上的4条曲线生成曲面并使曲面逼近网格.
对话框:
工具条图标:或者菜单“曲面->四线生成面"
参数说明:
4.点云拟合曲面.
工具条图标:或者菜单“曲面->点云拟合曲面"
曲面拟合对话框参数说明: |
|
拟合方向:
拟合方向(dx,y,dz)是拟合平面的法线。该方向用作拟合解决方案中的工作空间。拟合方向决定了曲面的质量。通常,程序将计算曲面拟合的最佳方向。
但是,有时在某些情况下可能会很糟糕。拟合方向允许用户更改方向(dx、dy、dz)以获得更好的曲面生成。
旋转轴:用于调整曲面形态。可以分别绕N, U, V三个 方向旋转, 重新生成新的曲面。 绕N旋转时, 曲面拟合方向不变,可以调节曲面UV线的走向; 绕U或者V旋转时, 曲面拟合方向会改变,可以优化曲面拟合的位置;
角度(度):设定每次旋转的角度值。 按下右边向上的箭头按钮,曲面沿逆时针方向旋转;按下右边向下的箭头按钮,曲面沿顺时针方向旋转。
控制点数目:设置 U 向和 V 向的曲面控制点,该控制点数目将作为曲面拟合计算的初始数目。这是可选的,程序将默认计算合理的曲面控制点数目。
曲面次数:指定 U 向和 V 向的曲面次数,默认数为 U=3 和 V=3,最大次数为 U=8 和 V=8。
延伸:曲面在U方向和V方向的延伸值。用户视需要确定延伸值的大小。
最大偏差:点与面之间最大偏差的阈值。级别包括:无约束、0.5、0.1、0.0、0.001、0.05、0.3、1.0、0.0001;
光滑度:曲面光滑度因子,选择一个光滑度等级来控制表面光滑度质量。级别包括:最高、高、中、低、最低;
计 算:每次按下“计算”按钮时程序的计算次数, 计算次数越多, 偏差值会越小。
应用:单击此按钮可创建适合点云的曲面。成功拟合曲面后,您可以选择更小的“最大偏差”数并继续单击此选项以获取更高精度。
报告:单击此按钮可将每个点和表面之间的偏差值保存为 .txt 文件作为报告。
|
|
学习视频1:怎样在曲面拟合过程中调整曲面的控制点数目,曲面次数,曲面延伸值,曲面光滑度?怎样提高曲面拟合点云的精度 ?以下这个视频整体进行了演示说明。
点云拾取控制框参数说明:
|
折线:此选项用于选择点云子集进行局部曲面拟合。用户在画图区画出多边形选择需要的点云子集拟合曲面。用法:按下鼠标左键,画图区会记下该点,移动鼠标到下一个合适的位置,再按下鼠标左键,画图区会将当前点与上一个点形成线段,如此反复,形成框住目标点云子集的多边形,按下鼠标右键,多边形内的点云子集将被选中,曲面自动生成。调整对画框中的参数,对该曲面进行调整。
排除已选:选中此按钮,对那些已被选中的点云子集进一步进行多边形拾取,以将不合理的点云从选择集中移除。 |
5.网格拟合曲面.
工具条图标:或者菜单“曲面->网格拟合曲面"
对话框参数说明:
|
拓扑形状 : 网格模型的拓扑形状选项。如果你的网格模型在拓扑意义上象平面(这在数学上将表现为和平面拓扑同胚),就选择 "平面" ; 如果你的网格模型在拓扑意义上像圆柱 , 就选择"圆柱".
设置控制点 : 这个复选框可让用户设置曲面的初始控制网格点值,如设置成 u = 43, v = 23 。这个按扭可为用户生成一个初始曲面,用户可在此基础上控制并生成曲面。如果用户输入合理的控制点数目将有助于曲面生成速度的加快。
当然,用户也可不关心这个复选框,网格控制点数目也会自动生成。
曲面次数 : 设置曲面在U-方向和V-方向的次数。
曲面延伸 : 设置曲面在U-方向和V-方向的延伸距离,可使曲面尺度大过网格模型。
最大偏差 : 曲面与网格间的最大偏离阀值。
光滑因子 : 控制曲面的光滑度。
计算: 点击这个按扭生成曲面。在曲面生成后,如果曲面与网格间的误差太大,通过修改 最大偏差 值并再次点击此按扭得到一张新的误差达到预定值的曲面。
|
6.点云生成网格.
工具条图标:或者菜单“网格->平面拓扑点云构建网格"
对话框参数说明:(无对话框)
7. 曲线蒙皮生成曲面.
对话框:
工具条图标:或者菜单“曲面->曲线蒙皮面":
参数说明:
8.数据导出 (试用日期结束后此功能需要付费注册后激活)
将曲面导出为.igs文件;将网格导出为.stl文件;导出为RESURF文件定义格式.rsf;
教程1:如何将点云拟合成NURBS曲面
第1步:打开示例文件skidoo.xyz。您将看到点云模型,如下图所示。
第2步:单击菜单“曲面->点云拟合曲面”,将显示对话框。“拉伸方向”和“控制点编号”的某些参数已自动计算出来,您可以指定您认为更好的新参数值,或直接单击“应用”按钮创建新曲面。单击“应用”按钮后,等待一段时间,将生成拟合曲面。
底部RESURF输出消息报告“最大偏差:0.162620;平均偏差:0.018632'。这意味着点和曲面之间的最大偏差为0.16262,平均偏差为0.018632。
通过点击菜单"查看->模式->显示点集", 取消点集显示, 可以查看曲面, 也可以旋转查看曲面:
第三步:进一步提高拟合精度。选择最大偏差设置为0.1,继续单击”计算“按钮。曲面会更新。
Resurf输出消息报告公差,如下图所示:
报告告诉用户点和曲面之间的最大偏差为0.084428,低于规定的阈值0.1。
第4步:单击“报告”按钮将偏差值保存为.txt文件。报告文件的格式为“点id、点(x、y、z)、曲面上的投影点(x、y、z)、uv值(u、v)、偏差距离”。
步骤5:关闭对话框。单击菜单“查看->模式->显示曲面控制点”,可以看到曲面控制点网格。
步骤6:单击菜单“文件->保存”,将曲面另存为.igs文件。
教程2:如何通过调整“拟合方向”改善曲面
步骤1:打开示例文件expfunctional.txt。您将看到点云模型,如下图所示。
步骤2:单击菜单“曲面->点云拟合曲面”,对话框显示。“拟合方向”和“控制点数目”的某些参数已自动计算出来,您可以给定您认为更好的新参数值,或直接单击“计算”按钮创建新曲面。单击“计算”按钮后,等待一段时间,将生成拟合曲面。下图是在单击带有默认参数值的““计算”按钮后创建的。但是,
由于默认的“拟合方向”矢量(0.864,0.002,-0.503)对于该模型不合理,因此该曲面不好。对点云模型进行观测后。最佳“拟合方向”应为(0,0,1.0),因此我们需要将“拟合方向”设置为(0,0,1.0)并重新装配曲面, 您也可以通过旋转寻找最优方向。
步骤3:将拟合方向设置为(0,0,1.0)(参见下图),继续单击“计算”按钮。曲面将更新。
下图显示了更新后的曲面,结果得到了改进。
程序在输出消息对话框中报告最大偏差和平均偏差:
步骤4:单击菜单“文件->保存”,将曲面另存为.igs文件。