[发明专利]基于STL模型的曲面切割轨迹获得方法在审
申请号: | 201310416921.1 | 申请日: | 2013-09-13 |
公开(公告)号: | CN103838907A | 公开(公告)日: | 2014-06-04 |
发明(设计)人: | 黄小虎;姚远;娄伟;张林剑;胡庆夕 | 申请(专利权)人: | 上海大学 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 上海上大专利事务所(普通合伙) 31205 | 代理人: | 何文欣 |
地址: | 200444*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 stl 模型 曲面 切割 轨迹 获得 方法 | ||
技术领域
本发明专利涉及一种新的STL(三角面片模型表面表达格式)模型快速曲面切割轨迹获得方法,其适用于基于STL模型的环切数控加工路径的生成。
背景技术
由于CAD/CAM技术和逆向工程技术的发展,STL文件越来越多地直接应用于数控加工。其一般过程包括图1所示的五个阶段。本算法实现从STL模型得到初始曲面切割轨迹的过程,即如何快速对STL模型进行分层,并连接得到有序的分层数据。
常见的STL模型分层算法主要是遍历模型中三角面片集合来判断三角面片是否与切割面存在截交线。此方法遇到较大的STL模型时处理时间长且在STL模型存在错误的情况下容易造成分层时获得切割轨迹失败。
发明内容
发明的目的在于针对已有技术存在的缺陷,提供一种基于STL模型的曲面切割轨迹获得方法,该方法较为简便,操作时间较短,易获成功,得到的曲面切割轨迹通过偏置后可用来生成数控环切加工的刀具路径。为达到上述目的,本发明的构思是:以前方法都是搜索STL模型中的三角面片,寻找与切割面存在焦点的三角面片。本方法刚好相反,其先确定所有切割面坐标集合,然后用三角面片坐标去搜寻对应的切割面并计算截交线。为方便此搜寻过程,本算法将切割面坐标表达为一种类似散列表的数据结构。为方便讨论,我们以平行Z轴的平面对STL文件进行分层,其它轴的分层方法类似。并建立如下所示的命名约定:
(1) ,T表示散列表,S0~Sn为散列表的值;
(2) , i表示第个三角面片,A为三角面片的集合;
(3) ,分别表示三角面片第j个点(x, y, z)坐标;
(4) ,分别表示第i个三角面片第j个点(x, y, z)坐标;
(5) , Z表示模型中所有点z坐标的集合;
(6) [x]表示对x进行取整运算,max{}表示取最大值,min{}表示取最小值,mid{}表示取中间值。
实现步骤如下:
第一步:切割面的获得和类散列表的建立
散列表存储各层切割面坐标。为建立散列表,首先需要得到切割范围,即max{Z}和min{Z},此步骤可在STL读入过程中完成。由于我们以平行z轴的平面为切割平面,则切割平面的公式为:
(1)
我们从min{Z}开始对A进行切割,假设分层间隔为d,则可用式(2)的散列函数来确定散列表各项:
(2)
(2)由于每一个切割平面都会对应一组切割结果,因此还需要给散列表每一项加上一个指针,以指向切割结果对应的容器,上述方式可用图2所示结构表示。
第二步:定位切割面
定位切割面的过程是从A中按存储顺序分别取三角面片,在T中通过散列函数快速定位切割面。
由于T中每一si都有其对应的序号i,因此只要确定i的值,就可以得到切割坐标si的值,我们知道直线与三角面片相交有如图3中a~i所示的9种情况。
我们以第j个三角面片为例,如第j个三角面片与si存在交点则必定满足式(3)。
(3)
联立式2得到式4。
(4)
即
(5)
由于i为整数,因此我们取,只要此时满足式(5)即可。另外,还有存在大三角面片的情况,即三角面片可能被多个切割平面切割到,如图3中j所示。此时仍然是先求得第一个i值,然后对i进行自加1运算,并通过公式进行判断是否满足要求即可。重复上述过程直到式(5)中的条件不满足为止。其流程图如图4所示。
第三步:计算切割面与三角面片的交点得到截交线
得到的值后,可通过公式(6)计算切平面与三角面片的交点来得到截交线:
(6)
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海大学,未经上海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310416921.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:爬缆机器人
- 下一篇:一种用于钢柜生产的多层模具架