CN103838907A - 基于stl模型的曲面切割轨迹获得方法 - Google Patents
基于stl模型的曲面切割轨迹获得方法 Download PDFInfo
- Publication number
- CN103838907A CN103838907A CN201310416921.1A CN201310416921A CN103838907A CN 103838907 A CN103838907 A CN 103838907A CN 201310416921 A CN201310416921 A CN 201310416921A CN 103838907 A CN103838907 A CN 103838907A
- Authority
- CN
- China
- Prior art keywords
- coordinate
- cut surface
- tri patch
- value
- curved surface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Numerical Control (AREA)
Abstract
本发明涉及一种基于STL模型的曲面切割轨迹获得方法。本方法的操作步骤如下:1)根据模型的最高点和最低点确定所有切割面坐标集合;2)定位切割面:用三角面片坐标根据散列函数去定位对应的切割面在坐标集合中的索引值,通过此索引值得到存在交点的切割面坐标;3)计算切割面与三角面片的交点得到截交线;4)对截交线进行排序得到切割轨迹;本方法在分层过程中每个三角面片只被访问一次,且不需对读入的三角面片建立复杂的拓扑结构。得到的曲面切割轨迹通过偏置后可用来生成数控环切加工的刀具路径。
Description
技术领域
本发明专利涉及一种新的STL(三角面片模型表面表达格式)模型快速曲面切割轨迹获得方法,其适用于基于STL模型的环切数控加工路径的生成。
背景技术
由于CAD/CAM技术和逆向工程技术的发展,STL文件越来越多地直接应用于数控加工。其一般过程包括图1所示的五个阶段。本算法实现从STL模型得到初始曲面切割轨迹的过程,即如何快速对STL模型进行分层,并连接得到有序的分层数据。
常见的STL模型分层算法主要是遍历模型中三角面片集合来判断三角面片是否与切割面存在截交线。此方法遇到较大的STL模型时处理时间长且在STL模型存在错误的情况下容易造成分层时获得切割轨迹失败。
发明内容
发明的目的在于针对已有技术存在的缺陷,提供一种基于STL模型的曲面切割轨迹获得方法,该方法较为简便,操作时间较短,易获成功,得到的曲面切割轨迹通过偏置后可用来生成数控环切加工的刀具路径。为达到上述目的,本发明的构思是:以前方法都是搜索STL模型中的三角面片,寻找与切割面存在焦点的三角面片。本方法刚好相反,其先确定所有切割面坐标集合,然后用三角面片坐标去搜寻对应的切割面并计算截交线。为方便此搜寻过程,本算法将切割面坐标表达为一种类似散列表的数据结构。为方便讨论,我们以平行Z轴的平面对STL文件进行分层,其它轴的分层方法类似。并建立如下所示的命名约定:
(4) ,分别表示第i个三角面片第j个点(x, y, z)坐标;
实现步骤如下:
第一步:切割面的获得和类散列表的建立
散列表存储各层切割面坐标。为建立散列表,首先需要得到切割范围,即max{Z}和min{Z},此步骤可在STL读入过程中完成。由于我们以平行z轴的平面为切割平面,则切割平面的公式为:
我们从min{Z}开始对A进行切割,假设分层间隔为d,则可用式(2)的散列函数来确定散列表各项:
(2)
(2)由于每一个切割平面都会对应一组切割结果,因此还需要给散列表每一项加上一个指针,以指向切割结果对应的容器,上述方式可用图2所示结构表示。
第二步:定位切割面
定位切割面的过程是从A中按存储顺序分别取三角面片,在T中通过散列函数快速定位切割面。
由于T中每一si都有其对应的序号i,因此只要确定i的值,就可以得到切割坐标si的值,我们知道直线与三角面片相交有如图3中a~i所示的9种情况。
我们以第j个三角面片为例,如第j个三角面片与si存在交点则必定满足式(3)。
联立式2得到式4。
(4)
即
由于i为整数,因此我们取,只要此时满足式(5)即可。另外,还有存在大三角面片的情况,即三角面片可能被多个切割平面切割到,如图3中j所示。此时仍然是先求得第一个i值,然后对i进行自加1运算,并通过公式进行判断是否满足要求即可。重复上述过程直到式(5)中的条件不满足为止。其流程图如图4所示。
第三步:计算切割面与三角面片的交点得到截交线
其中ZS为切割平面坐标,(x0,y0,z0),(x1,y1,z1)为与切割面存在交点的边的两端点坐标。
第四步:环的连接
按上述方法切割完成后,得到的是无序的线段序列,一般此无序序列可连接成一个到多个独立的环。实现过程中分别对每一层进行环的链接,并通过比较每一层线段之间是否具有相同的端点来进行,并去掉重复的端点。
假设每一层中无序序列为S1,排序后的有序序列为S2。排序过程为:在S1中任意取一线段L1:,放到S2中,然后在S1中查找与L1具有同一顶点的线段L2:,此时由于点已经存在于S2中,因此只需在S1中取出L2并将点存入S2中,然后再以作为新的查找对象,在S1中进行查找。直到找不到具有相同端点的情况。
若此时S1中仍然存在未排序的线段,则说明存在多个环的情况。则继续此过程直到S1为空。
此时得到的曲面切割轨迹,对其进行偏置后即可生成数控环切加工的刀具轨迹。
根据上述发明构思,本发明采用下述技术方案:
一种基于STL模型的曲面切割轨迹获得方法,其特征在于操作步骤如下:
1)根据模型的最高点和最低点确定所有切割面坐标集合;
2)定位切割面:用三角面片坐标根据散列函数去定位对应的切割面在坐标集合中的索
引值,通过此索引值得到存在交点的切割面坐标;
3)计算切割面与三角面片的交点得到截交线;
4)对截交线进行排序得到切割轨迹;其适用的STL模型为CATIA,UG等CAD软件生成
的任何形状的满足STL标准格式的三角面片表面模型。
所述步骤1)根据最高点和最低点确定所有切割面坐标集合是采用公式
其中d为分层厚度,min{Z}为最低点坐标Z值,表示第j个三角面片三个顶点Z坐标的最小值, i表示所求的切割面的索引值;当三角面片可能被多个切割平面切割到时,对i进行自加1运算,并通过公式进行判断,,当公式满足时即得到新的索引值,重复此过程直到此公式不满足为止,其中表示第j个三角面片三个顶点Z坐标的最大值,表示所得的第i层切割面的Z值坐标。
其中为切割平面坐标,(x0,y0,z0),(x1,y1,z1)为三角面片中与切割面存在交点的边的两端点坐标。
所述步骤4)对截交线进行排序得到切割轨迹的实现方式是分别对每一层进行环的连
接,并通过比较每一层线段之间是否具有相同的端点来进行,并去掉重复的端点;假设每一层中无序序列为S1,排序后的有序序列为S2,排序过程为,在S1中任意取线段L1:,放到S2中,然后在S1中查找与L1具有同一顶点的线段L2:,此时由于点已经存在于S2中,因此只需在S1中取出L2并将点存入S2中,然后再以作为新的查找对象,在S1中进行查找,直到找不到具有相同端点的情况;若此时S1中仍然存在未排序的线段则说明存在多个环的情况,则继续此过程直到S1为空。
本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著技术进步:本发明是先确定所有切割面坐标集合,然后用三角面片坐标去搜寻对应的切割面并计算截交线。为方便此搜寻过程,本算法将切割面坐标表达为一种类似散列表的数据结构。本方法在分层过程中每个三角面片只被访问一次,且不需对读入的三角面片建立复杂的拓扑结构。本方法较为简便,操作时间较短,易获成功。
附图说明
图1是STL环切加工数控代码生成的过程。
图2是本算法在分层过程中采用的散列表结构图。
图3是三角面片与切割面相交的各种情况。
图4是截交线的计算的程序流程图。
图5是交点与三角面片相交的关系实例。
图6是STL模型例子的OpenGL显示 。
图7是STL分层后的表面轮廓的OpenGL显示和加工样件。
具体实施方式
本发明的优选实施例,结合附图详细说明如下:
参见图6,本基于STL模型的曲面切割轨迹获得方法,分层厚度为0.01,本方法的实现步骤如下:
1. 读入该STL模型文件,在各个三角面片的读入过程中,对该模型各三角面片坐标值进
得i的值,并获得其对应的切割面的坐标。比如STL文件中一面片坐标为{(0.89 , 0.02 , 16.00), (1.15 , 0.02 , 21.00), (1.61 , 2.96 , 21.00)},其最低z值坐标为16.00,则=1401,根据此索引得到与此三角面片相交的截平面坐标为z=16.01。此时直接计算截平面与三角面片的交点即可。
再对i进行自加1运算得到i=1402,通过此索引得到新的截平面坐标为z=16.02,而三角面片最大z值为21.00>16.02,因此仍然满足要求,直到当i值为1901时,此时截平面坐标为z=21.01,已大于三角面片最大z值,表示此时所有与此三角面片相交的截平面都已处理完。
3.重复步骤2,直到STL文件中所有三角面片都已经被遍历过一次。此时会得到所有交线的集合。
4.通过上述步骤得到的是无序的线段的集合,此时,通过步骤四中所述方法进行环的连接即可得到最终结果。通过此算法实现的结果见图7(a)所示,其为图6中STL文件为分层后的表面轮廓的OpenGL显示。
对生成的切割轨迹进行偏置后即可得到数控环切加工路径,图7(b)为加工样件。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (5)
1.一种基于STL模型的曲面切割轨迹获得方法,其特征在于操作步骤如下:
1)根据模型的最高点和最低点确定所有切割面坐标集合;
2)定位切割面:用三角面片坐标根据散列函数去定位对应的切割面在坐标集合中的索
引值,通过此索引值得到存在交点的切割面坐标;
3)计算切割面与三角面片的交点得到截交线;
4)对截交线进行排序得到切割轨迹;其适用的STL模型为CATIA,UG等CAD软件生成
的任何形状的满足STL标准格式的三角面片表面模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310416921.1A CN103838907A (zh) | 2013-09-13 | 2013-09-13 | 基于stl模型的曲面切割轨迹获得方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310416921.1A CN103838907A (zh) | 2013-09-13 | 2013-09-13 | 基于stl模型的曲面切割轨迹获得方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103838907A true CN103838907A (zh) | 2014-06-04 |
Family
ID=50802400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310416921.1A Pending CN103838907A (zh) | 2013-09-13 | 2013-09-13 | 基于stl模型的曲面切割轨迹获得方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103838907A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104392030A (zh) * | 2014-11-12 | 2015-03-04 | 常州工学院 | 一种基于stl三维模型的曲面加工方法 |
CN104525668A (zh) * | 2014-11-12 | 2015-04-22 | 常州工学院 | 一种多点成形加工曲面的冲头调形方法 |
CN106446472A (zh) * | 2016-11-16 | 2017-02-22 | 清华大学 | 数控加工几何仿真中基于stl模型的交线环求取算法 |
CN107037738A (zh) * | 2016-11-16 | 2017-08-11 | 清华大学 | 数控加工几何仿真中基于stl模型的材料去除算法 |
CN109325316A (zh) * | 2018-11-15 | 2019-02-12 | 南京理工大学 | 基于共点焊接排序的stl模型高效并行切层方法 |
CN109934923A (zh) * | 2017-12-15 | 2019-06-25 | 中国科学院沈阳自动化研究所 | 适用于生物材料3d打印的模型分层以及轨迹填充方法 |
CN110356008A (zh) * | 2019-07-03 | 2019-10-22 | 浙江大学 | 一种基于哈希表的散乱线段快速拼接方法 |
CN115555914A (zh) * | 2022-09-26 | 2023-01-03 | 上海铼钠克数控科技有限公司 | 数控加工刀轨路径的规划方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101225507A (zh) * | 2008-01-25 | 2008-07-23 | 北京邮电大学 | 基于stl文件的曲面切割轨迹获得方法 |
US20080246762A1 (en) * | 2005-12-28 | 2008-10-09 | Toyota Jidosha Kabushiki Kaisha | Method for Generating Three-Dimensional Shape Data, Apparatus for Generating Three-Dimensional Shape Data, and Three-Dimensional Shape Data Generating Program |
CN103064343A (zh) * | 2012-12-19 | 2013-04-24 | 华南理工大学 | 一种面向复杂曲面加工的轨迹生成方法及其轨迹生成系统 |
-
2013
- 2013-09-13 CN CN201310416921.1A patent/CN103838907A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080246762A1 (en) * | 2005-12-28 | 2008-10-09 | Toyota Jidosha Kabushiki Kaisha | Method for Generating Three-Dimensional Shape Data, Apparatus for Generating Three-Dimensional Shape Data, and Three-Dimensional Shape Data Generating Program |
CN101225507A (zh) * | 2008-01-25 | 2008-07-23 | 北京邮电大学 | 基于stl文件的曲面切割轨迹获得方法 |
CN103064343A (zh) * | 2012-12-19 | 2013-04-24 | 华南理工大学 | 一种面向复杂曲面加工的轨迹生成方法及其轨迹生成系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104392030B (zh) * | 2014-11-12 | 2017-05-03 | 常州工学院 | 一种基于stl三维模型的曲面加工方法 |
CN104525668A (zh) * | 2014-11-12 | 2015-04-22 | 常州工学院 | 一种多点成形加工曲面的冲头调形方法 |
CN104392030A (zh) * | 2014-11-12 | 2015-03-04 | 常州工学院 | 一种基于stl三维模型的曲面加工方法 |
CN106446472B (zh) * | 2016-11-16 | 2019-05-21 | 清华大学 | 数控加工几何仿真中基于stl模型的交线环求取方法 |
CN107037738A (zh) * | 2016-11-16 | 2017-08-11 | 清华大学 | 数控加工几何仿真中基于stl模型的材料去除算法 |
CN106446472A (zh) * | 2016-11-16 | 2017-02-22 | 清华大学 | 数控加工几何仿真中基于stl模型的交线环求取算法 |
CN107037738B (zh) * | 2016-11-16 | 2019-09-27 | 清华大学 | 数控加工几何仿真中基于stl模型的材料去除方法 |
CN109934923A (zh) * | 2017-12-15 | 2019-06-25 | 中国科学院沈阳自动化研究所 | 适用于生物材料3d打印的模型分层以及轨迹填充方法 |
CN109934923B (zh) * | 2017-12-15 | 2022-10-11 | 中国科学院沈阳自动化研究所 | 适用于生物材料3d打印的模型分层以及轨迹填充方法 |
CN109325316A (zh) * | 2018-11-15 | 2019-02-12 | 南京理工大学 | 基于共点焊接排序的stl模型高效并行切层方法 |
CN109325316B (zh) * | 2018-11-15 | 2020-05-26 | 南京理工大学 | 基于共点焊接排序的stl模型高效并行切层方法 |
CN110356008A (zh) * | 2019-07-03 | 2019-10-22 | 浙江大学 | 一种基于哈希表的散乱线段快速拼接方法 |
CN115555914A (zh) * | 2022-09-26 | 2023-01-03 | 上海铼钠克数控科技有限公司 | 数控加工刀轨路径的规划方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103838907A (zh) | 基于stl模型的曲面切割轨迹获得方法 | |
CN111709092B (zh) | 一种基于有限元单元节点的子午线轮胎胎面花纹有限元自动建模方法 | |
CN105242538B (zh) | 基于图层的零件多加工工序mbd模型及实现方法 | |
CN105354353A (zh) | 一种基于mbd模型的加工特征识别和建模方法 | |
CN102306396A (zh) | 一种三维实体模型表面有限元网格自动生成方法 | |
CN101515168B (zh) | 产品三角网格模型的环切粗加工nc刀轨生成方法 | |
CN104091005B (zh) | 一种架空送电线路工程测量内外业一体化系统 | |
CN101403909B (zh) | 三角网格细分曲面nc刀轨生成方法 | |
CN106903889A (zh) | 一种stl模型的快速切片算法 | |
CN102013114B (zh) | 一种基于Microstation v8i的城市快速建模方法 | |
CN109325316B (zh) | 基于共点焊接排序的stl模型高效并行切层方法 | |
CN102881039A (zh) | 基于激光三维扫描数据的树木三维矢量模型构建方法 | |
CN106910140B (zh) | 一种基于svg格式电力系统接线图网络拓扑分析的方法 | |
CN110955934B (zh) | 面向加工实时监控的切削仿真实现方法 | |
CN103077255B (zh) | 核电站3d模型识别方法和系统 | |
CN110795835A (zh) | 一种基于自动同步建模的三维工序模型逆向生成方法 | |
CN104143214A (zh) | 一种电子地图多边形三角剖分方法与装置 | |
CN114398691B (zh) | 一种轮胎模具二维视图智能设计方法及设备 | |
CN105785919B (zh) | 点云五轴无全局干涉刀轴矢量可行域计算方法 | |
CN105631465A (zh) | 一种基于密度峰值的高效层次聚类方法 | |
CN104090945A (zh) | 一种地理空间实体构建方法及系统 | |
CN104537254B (zh) | 一种基于社会统计数据的精细化制图方法 | |
CN104778308B (zh) | 飞机结构型材的识别方法和装置 | |
CN102678879A (zh) | 一种非圆齿轮的齿廓数值获取方法 | |
CN106780722B (zh) | 一种同种异态森林场景构建方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140604 |