一种基于三维模型内部点阵信息提取杆体中心线的方法技术

技术编号:38464702 阅读:10 留言:0更新日期:2023-08-11 14:41
本发明专利技术属于机械设计领域,特别涉及一种基于三维模型内部点阵信息提取杆体中心线的方法。所述方法包括如下步骤:S1、提取杆体横截面半径为R的杆体模型的外表面及包围盒信息;S2、在包围盒内生成初始点阵;S3、提取杆体模型内部的点及其与杆体模型外表面的最近点;S4、计算步骤S3提取的点阵子集中各点对应的杆体截面的圆心O的坐标;S5、对所有的点O进行曲线拟合,获得杆体模型中心线。本发明专利技术能够实现非直杆体三维模型中心线的快速提取,特别适合应用于处理形状较为复杂的杆体设计环境中。于处理形状较为复杂的杆体设计环境中。于处理形状较为复杂的杆体设计环境中。

【技术实现步骤摘要】
一种基于三维模型内部点阵信息提取杆体中心线的方法


[0001]本专利技术属于机械设计领域,特别涉及一种基于三维模型内部点阵信息提取杆体中心线的方法。

技术介绍

[0002]包括UG(Unigraphics NX)等在内的诸多三维建模软件不能有效地提取非直杆体三维模型的中心线骨架。其提取非直杆体三维模型骨架时,需要将模型分解成单独的直段(圆柱段)和非直段,针对直段(圆柱段)可以快速提取其中心线,针对非直段杆体的中心线提取,需要首先提取杆体两端面的中心点坐标以及过中心点的法向量,作过两个中心点并与法向量相切的弧即为非直段杆体的中心线,重复上述过程,以此提取完成杆体各段中心线,最终可以得到完整的杆体中心线,但是该方法工作量大、耗时长、重复率高、效率低。

技术实现思路

[0003]针对上述技术问题,本专利技术的目的是提供一种基于三维模型内部点阵信息提取杆体中心线的方法,能够实现非直杆体三维模型中心线的快速提取,特别适合应用于处理形状较为复杂的杆体设计环境中。
[0004]为了实现上述目的,本专利技术提供了如下技术方案:
[0005]一种基于三维模型内部点阵信息提取杆体模型中心线的方法,包括如下步骤:
[0006]S1、提取杆体横截面半径为R的杆体模型的外表面及包围盒信息;
[0007]S1.1、提取杆体模型上半径R的非平面的面特征,即获得杆体模型外表面;
[0008]S1.2、采用AABB包围盒,沿杆体模型所在绝对坐标系的X轴、Y轴、Z轴三个方向构建一个能将杆体模型完全包围的最小长方体,记录为xmin,ymin,zmin,xmax,ymax,zmax;
[0009]S2、在包围盒内生成初始点阵;
[0010]在xmin,ymin,zmin到xmax,ymax,zmax的包围盒区域内创建初始点阵,各点之间的间距设定为n
×
R;n为系数,n≤0.5;R为杆体模型的半径;
[0011]S3、提取杆体模型内部的点及其与杆体模型外表面的最近点;
[0012]遍历步骤S2生成的初始点阵中的所有点,过初始点阵中的点做杆体模型外表面的垂线,如果过该点的垂线所在直线能够与杆体模型外表面相交于另外两点,该点与另外两点之间的距离不相等且距离之和等于杆体直径,则提取该点并建立点阵子集;同时提取另外两点中与该点之间的距离最短的点,即点阵子集中点与杆体模型外表面的最近距离点;
[0013]S4、计算步骤S3提取的点阵子集中各点对应的杆体截面的圆心O的坐标;
[0014]x0=x2‑
k(x2‑
x1)
[0015]y0=y2‑
k(y2‑
y1)
[0016]z0=z2‑
k(z2‑
z1)
[0017]式中,x0、y0、z0为圆心O的空间坐标,k为一个常数,x1、y1、z1为点阵子集中点的坐标,x2、y2、z2为点阵子集中点与杆体模型外表面的最近距离点坐标;
[0018]S5、对所有的点O进行曲线拟合,获得杆体模型中心线。
[0019]与现有技术相比,本专利技术的有益效果在于:
[0020]本专利技术的基于三维模型内部点阵信息提取杆体中心线的方法,能够有效地提取杆体,特别是非直杆体的中心线上的点,这些点与杆体原始中心线的误差远小于三维建模软件的默认公差。对计算得到的点进行曲线拟合结果现实拟合曲线与原始曲线之间的公差同样小于默认公差,该方法满足实际设计需求。
附图说明
[0021]图1为本专利技术实施例构建的杆体模型AABB包围盒示意图;
[0022]图2为本专利技术实施例在包围盒区域内创建初始点阵示意图;
[0023]图3为本专利技术实施例提取杆体模型内部的点示意图;
[0024]图4为本专利技术杆体截面的空间坐标系。
具体实施方式
[0025]下面结合附图和实施例对本专利技术进行进一步说明。
[0026]一种基于三维模型内部点阵信息提取杆体模型中心线的方法,包括如下步骤:
[0027]S1、提取杆体横截面半径为R的杆体模型的外表面及包围盒信息;
[0028]S1.1、提取杆体模型上半径R的非平面的面特征,即获得杆体模型外表面;
[0029]S1.2、采用AABB包围盒,沿杆体模型所在绝对坐标系的X轴、Y轴、Z轴三个方向构建一个能将杆体模型完全包围的最小长方体(如图1所示),记录为xmin,ymin,zmin,xmax,ymax,zmax;
[0030]本专利技术实施例利用UG软件的UF_MODL_ask_bounding_box函数记录包围盒在X轴、Y轴、Z轴三个方向的最小值和最大值。
[0031]S2、在包围盒内生成初始点阵;
[0032]在xmin,ymin,zmin到xmax,ymax,zmax的包围盒区域内创建初始点阵,各点之间的间距设定为n
×
R;n为系数,n≤0.5;R为杆体模型的半径;
[0033]本专利技术实施例利用UG软件的UF_CURVE_create_point命令,在包围盒区域内创建初始点阵,如图2所示。
[0034]S3、提取杆体模型内部的点及其与杆体模型外表面的最近点;
[0035]遍历步骤S2生成的初始点阵中的所有点,过初始点阵中的点做杆体模型外表面的垂线,如果过该点的垂线所在直线能够与杆体模型外表面相交于另外两点,该点与另外两点之间的距离不相等且距离之和等于杆体直径,则提取该点并建立点阵子集;同时提取另外两点中与该点之间的距离最短的点,即点阵子集中点与杆体模型外表面的最近距离点;
[0036]例如,过初始点阵中的点A做杆体模型外表面的垂线,如果过该点A的垂线所在直线能够与杆体模型外表面相交于点B和点D,|AB|≠|AD|且|AB|+|AD|=2R,则提取点A;同时提取|AB|和|AD|中长度最短的点B或点D。
[0037]本专利技术实施例利用UG软件的UF_MODL_ask_minimum_dist_3函数计算各点与杆体模型外表面之间的垂直距离;提取距离不相等且距离之和等于直径的点,即为杆体模型内部的点,结果如图3所示。
[0038]S4、计算步骤S3提取的点阵子集中各点对应的杆体截面的圆心O的坐标;
[0039]例如,点B为点阵子集中点A与杆体模型外表面的最近距离点,如图4所示,基于空间坐标系,过最近距离点B作平行于z轴的直线交xoy面于点C,过点A作直线分别交OC、BC于点A

、B

,且AA

、AB

分别垂直于OC与BC;所以

OBC、

ABB



OAA

相似。
[0040]则有:
[0041][0042][0043]可以推导出圆心O的空间坐标为:
[0044]x0=x2‑
k(x2‑...

【技术保护点】

【技术特征摘要】
1.一种基于三维模型内部点阵信息提取杆体模型中心线的方法,其特征在于,所述方法包括如下步骤:S1、提取杆体横截面半径为R的杆体模型的外表面及包围盒信息;S1.1、提取杆体模型上半径R的非平面的面特征,即获得杆体模型外表面;S1.2、采用AABB包围盒,沿杆体模型所在绝对坐标系的X轴、Y轴、Z轴三个方向构建一个能将杆体模型完全包围的最小长方体,记录为xmin,ymin,zmin,xmax,ymax,zmax;S2、在包围盒内生成初始点阵;在xmin,ymin,zmin到xmax,ymax,zmax的包围盒区域内创建初始点阵,各点之间的间距设定为n
×
R;n为系数,n≤0.5;R为杆体模型的半径;S3、提取杆体模型内部的点及其与杆体模型外表面的最近点;遍历步骤S2生成的初始点阵中的所有点,过初...

【专利技术属性】
技术研发人员:周敏赵峥
申请(专利权)人:中国农业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1