1.一种自动识别螺栓CAD工程制图的方法,其特征在于,具体按照以下步骤实施:步骤1、利用dxfllib-3.17.0库读取多螺栓图文件,将所有数据以及CAD文件基本信息保存至计算机内存中;步骤2、根据多螺栓图文件中螺栓球半径与所有的螺栓球球心坐标将整个多螺栓图文件分割为多个单螺栓图文件;所述步骤2具体如下:步骤2.1、获取螺栓半径:先将所有圆、圆弧、标注圆弧的半径R由小到大进行排序并且遍历一遍,每次都计算相邻两半径的比值b r ,b r 的计算公式: 其中,R[]代表所有圆、圆弧、标注圆弧的半径排序后的序列,i代表遍历过程中当前在序列中的位置;步骤2.2、确定所有圆心坐标:遍历所有具有圆心的数据实例,包括圆、圆弧在内,保存所有圆心坐标;步骤2.3、划分单螺栓数据:以圆心坐标代表螺栓,将具有圆心信息的数据对象划分给具有相同圆心的螺栓,以构建每一个单螺栓的数据集合,将直线对象的中点坐标作为代表该直线位置的坐标(x,y)、文本对象的插入点坐标作为代表该文本对象位置的坐标(x,y),将所有直线对象与文本对象分配到不同螺栓的数据集合中,最终得到多个单螺栓图信息的数据集合,其中同一个集合中的所有数据对象都是用来描述同一个单螺栓图的信息;所述步骤2.1中当b r <2且b r >1.15时,则认为多螺栓文件内所有螺栓球的半径为R[i+1],所述步骤2.2中当两圆心坐标的x轴、y轴相差均小于0.2R时,则认为两者为相同圆心;所述步骤2.3中若直线对象或文本对象的坐标与某螺栓圆心坐标(r x ,r y )满足如下关系中任意一条:(1)|r x -x|<1.7333R(2)若r y >y,则需有r y -y<2.333R(3)若r y <y,则需有y-r y <1.85R,则将该直线对象或文本对象划分给该螺栓,其中,R表示步骤2.1中所得到的半径,x表示该直线对象或文本对象的横坐标,y表示该直线对象或文本对象的纵坐标;步骤3、对步骤2中得到的所有单螺栓图文件进行数据标准化;所述步骤3具体如下:统一同一螺栓包含对象的所有圆心坐标:将标注圆弧转换为普通圆弧数据,即用圆心坐标、起始弧度、终止弧度、半径所表示的圆弧;对描述水平角之间夹角为圆的数据对象,依据圆外的角度文本信息,将其更改为圆弧数据;根据圆弧的半径用阈值法将圆弧分为螺栓圆弧与孔间圆弧;将表示螺栓的圆、螺栓圆弧对象的颜色设置为颜色A;将孔间圆弧对象的颜色设置为颜色B;将多段线对象转换为直线对象,即水平孔直线设置颜色为颜色A,然后将上述单螺栓数据以及CAD文件基本信息保存为CAD文件;步骤4、利用dxflib-3.17.0库读取所述步骤3得到的标准化后的单螺栓图文件中的所有文本与直线信息,并对每一个单螺栓图文件进行步骤5、步骤6,得到单个螺栓球的加工模板文件;步骤5、处理和组合步骤4中所得到的单个螺栓球的文本与直线信息,最终得到单个螺栓球的加工信息;步骤6、按照固定格式生成模板文件:首先根据实际加工所需的模板文件格式,对所识别出的所有信息进行输出,得到模板文件;其次按照机器所需的模板文件格式,对所识别出的所有信息进行输出,得到模板文件。
2.根据权利要求1所述的一种自动识别螺栓CAD工程制图的方法,其特征在于,所述步骤1中,数据包括直线对象、文本对象、圆弧对象、球对象;CAD文件基本信息包括:多螺栓图文件:初始输入的螺栓图文件,其中包括了多个螺栓的信息;螺栓图文件:将多螺栓图文件分割而成的包含单个螺栓信息的文件;螺栓球半径:根据文件中圆弧对象半径得到的所有螺栓球的半径;螺栓球球心坐标:根据文件中圆弧对象圆心坐标得到的每个螺栓球的球心坐标;普通圆弧:文件中大部分的圆弧对象,包含起始角、终止角、圆心坐标信息;标记圆弧:在某些文件中有特殊标记的圆弧,在系统使用过程中需要将其转换普通圆弧对象;角度文本:文件中用来表示角度的文本信息;水平角度文本:角度文本中用来表示两孔之间水平角的文本信息;垂直角度文本:角度文本中用来表示两孔之间垂直角的文本信息;螺栓圆弧:用来表示螺栓球球体的圆弧;孔间圆弧:用来表示两孔之间角度的圆弧;水平孔直线:表示一个垂直角为0°的孔的位置的直线对象;孔规格文本:表示孔规格的文本信息。
3.根据权利要求2所述的一种自动识别螺栓CAD工程制图的方法,其特征在于,所述步骤5具体如下:步骤5.1、依照孔间圆弧的半径为界限,将角度文本对象区分为水平角度文本对象和垂直角度文本对象;将描述水平角之间夹角的弧线的半径作为分割线,计算所有角度文本对象的插入点和圆心之间的距离,将距离大于半径的角度文本对象标记为描述垂直角的文本对象,将距离小于半径的角度文本对象标记为描述两孔之间水平角的度数的信息;步骤5.2、将图中孔间圆弧与水平角对应组合起来,通过描述水平角之间夹角的弧线的起始角度与终止角度来寻找水平角文本,当文本的插入点被夹在一条弧线起始角度与终止角度之间则视为文本的角度是在描述该弧线所表示的角度,将角度文本与弧线的信息绑定在一起;步骤5.3、根据预先设定的基准度数和弧线信息,得到所有可能存在孔的水平角位置的集合T,基准度数为0°、45°、90°、135°、180°、225°、270°、315°;步骤5.4、根据水平孔直线对象得到垂直角为0°的孔的角度信息,使用水平孔直线对象的插入点坐标(x,y)、倾斜角度t、长度l,计算出水平孔直线对象的中点坐标 创建一个垂直度数为0的垂直角文本对象,将计算得到的中点坐标作为新创建的文本对象的插入点位置;步骤5.5、根据垂直角文本对象的插入点位置,将垂直角度数和水平角度数组合为一个孔的完整位置信息,根据所有垂直角的插入点坐标(x,y)与圆心坐标(a,b)计算每一个垂直角文本的水平角度数 对于每一个垂直角,遍历步骤5.3中得到的水平角集合T中所有的水平角,其中与该垂直角文本对象的水平角度数相距最近的,作为该垂直角的精确水平角信息,由此得到所有孔的水平角与垂直角信息,得到孔的信息的集合N;步骤5.6、将所有孔规格文本对象与孔一一对应,没有孔规格信息的孔,规格设为“M 20 ”,将步骤5.5得到的集合N中所有孔的规格设置为M 20 ;根据所有孔规格文本的插入点坐标(x,y)与圆心坐标(a,b)计算每一个孔规格文本的水平角度数 对于每一个孔规格,遍历集合N中所有孔的水平角,寻找与该孔规格文本的水平角度数相距最近的孔,并将这个孔的规格信息设为该规格文本的所代表的孔规格;步骤5.7、读取单螺栓图文件中的螺栓编号、生产数量、生产规格信息,并判断是否出现顶孔:读取单螺栓图文件下方的文本,得到此螺栓的螺栓编号、生产数量、生产规格与孔数,当文本中孔数与识别出的孔的数量相差为2时,在孔集合N中加入一个水平角为0°、垂直角为90°的孔,并且通过阈值法检测是否存在描述该孔规格的孔规格文本,如果有,记录该信息,如果没有,设置其规格为“M 20 ”,最终得到描述单个螺栓的全部信息,用于后续的模板文件生成。
4.根据权利要求3所述的一种自动识别螺栓CAD工程制图的方法,其特征在于,所述步骤5.3中采用广度优先搜索,按照弧线间的连接关系,将记录两孔之间夹角度数的信息组合成为记录孔位置的水平角信息,避免缺弧线的问题。