一种基于动态加工元—建模树矩阵的中间工序模型动态显示
及轻量化存储方法技术领域
本发明属于计算机辅助设计领域,涉及的是中间工序模型动态显示及轻量化存储
方法,通过将动态加工元与建模树关联,仅需1次建模操作便可在一个设计模型文件中动态
显示当前排序下的中间工序模型以及工序改变情况下的中间工序模型,通过动态加工元—
建模树矩阵的建立实现了中间状态模型的动态显示及轻量化存储。
背景技术
三维工序模型快速建立是三维数字化工艺设计的基本要求,传统工序模型生成方
式实际上是由人工重复零件建模过程获得,增大大影响了设计效率。大量学者就智能的进
行中间工序模型进行了研究。
在特征识别和三维工艺设计技术的基础上,丁丁等提出中间工序模型的概念和中
间工序模型自动生成的模型恢复方法,根据各个加工特征的工艺方法和工艺参数,按照零
件的加工路线自动生成中间工序模型(详细文献:丁丁,张旭,斯铁冬等.三维工艺设计中基
于加工特征的工序模型生成技术[J].兵工自动化,2013,32(6):31-35,39.),刘金锋,倪中
华,刘晓军等根据机加工零件模型加工特征的生成方式及特点,将加工特征分为凹陷特征、
凸起特征和过渡特征,运用半空间思想获取制造特征体并保存;获取所有制造特征体后生
成零件毛坯模型,与获取的制造特征体进行布尔操作,快速创建工序间模型(详细文献:刘
金锋,倪中华,刘晓军等.三维机加工工艺工序间模型快速创建方法[J].计算机集成制造系
统,2014,20(7):1546-1552.)。石云飞等介绍了一个面向工艺语义的三维工序模型自动生
成系统,并实现了切削加工工艺过程可视化仿真,反映了零件毛坯模型向设计模型演变的
过程(详细文献:石飞云,张树生,成斌等.工艺语义驱动的序列三维模型构建系统[J].计算
机集成制造系统,2009,15(11):2134-2141.)。
然而,目前对中间工序模型的建模停留在建模阶段,且都是在排序一定的情况下,
生成对应的多个工序模型文件,当工序模型的数量较多时或当工步、工序排序改变后, 必
须重新再进行设计,效率低,对需要经常修改工步、工序的模型十分不方便,且尚未有对整
个加工流程中的工序模型与建模关系的研究,也没有对工序模型轻量化存储的相关研究。
发明内容
本发明的目的是针对各工序模型无法动态显示,工步、工序模型修改后原来的中
间工序模型失效导致设计效率低,以及当一个零件存在大量工序导致工序模型存储不方便
的问题,设计了一种基于动态加工元—建模树矩阵的中间工序模型动态显示及轻量化存储
方法。
本发明的技术方案:
一种基于动态加工元—建模树矩阵的中间工序模型动态显示及轻量化存储方法,
其特征在于:首先通过参数化建模建立动态加工元属性集,逆序将设计模型恢复至毛坯模
型的同时通过动态加工元名将每一个动态加工元与建模树中新增的建模节点关联,创建动
态加工元并建立其动态加工元—建模树矩阵,通过对建模树的抑制与显示在一个设计模型
文件中动态显示当前排序下的中间工序模型以及工序改变情况下的中间工序模型,当工步
工序变化的时候自动调整矩阵,实现中间状态模型的动态显示及轻量化存储。
所述的动态加工元是由静态加工元属性集与建模操作属性集构成,面向每一次加
工操作的,包含加工所需要的工艺信息以及该加工元的加工操作对应的三维建模信息的实
体。
所述的参数化建模是根据识别的加工特征自动生成每个动态加工元的参数化属
性集Adyn={静态加工元信息属性集Asta,建模操作属性集Amod}。其中静态加工元信息属性集
Asta={加工特征属性集Asta-feat、工艺信息属性集Asta-tec},建模操作属性集Amod}={建模几
何面组、建模方法、建模参数}。建模几何面组与Asta-feat中的加工特征组成面相关联,建模方
法与Asta-feat中的加工特征类型以及Asta-tec中的加工阶段相关联,如当简单孔特征分为钻—
扩—精铰三个加工操作,共3个动态加工元,精铰阶段与扩阶段对应的建模方法为孔面直径
的调整,钻孔阶段对应的建模方法为孔面的删除。建模参数与Asta-tec中的加工余量相关联。
这样,建模操作属性集与静态加工元属性集就关联了从而形成动态加工元属性集。
所述的毛坯模型恢复方法是:倒序遍历已经过排序的动态加工元列表,根据每一
个 动态加工元所对应的加工面、加工特征类型、加工阶段获得每个动态加工元的建模几何
面组、建模方法以及建模参数,使得模型恢复至该动态加工元的前序状态,遍历结束时恢复
成毛坯模型。
所述的动态显示工序模型是:在一个文件中动态显示任意工序模型,当工步或工
序排序改变时,不需要进行任意操作仍可动态显示当前排序下的任何一个工序模型。
所述的动态显示工序模型,其方法步骤如下:
第一步:通过动态加工元名在恢复成毛坯模型的同时关联每个动态加工元及在建
模树中新增的节点,这些新增节点就是该动态加工元在恢复到加工前序状态所需的建模操
作集合,
第二步:将动态加工元聚类为工步、工序,通过抑制某一工序前(包括该工序)所包
含的所有动态加工元对应的建模树节点,恢复显示该工序后所有动态加工元所对应的建模
数节点,获得当前工序加工后的工序模型。对某一个动态加工元对应建模节点的抑制相当
于把模型置于该动态加工元加工后的状态,对某一个动态加工元对应建模节点的恢复显示
相当于把模型置于该动态加工元加工的前序状态。
第三步:当改变工步或工序的排序改变,由于动态加工元与建模树的关联关系没
有改变,仍可动态显示当前排序下任意一个工序模型。
所述的动态加工元—建模树矩阵,其特征是:矩阵M的大小n×m,n为动态加工元的
总个数,m为建模树中节点的总个数,将每一个动态加工元所对应的三维模型与建模树关
联,遍历当前动态加工元下的建模树节点,若节点被抑制,矩阵中的值为0,若未被抑制,矩
阵的值为1。矩阵从上至下,每行新增的“0”代表该当前动态加工元的建模操作节点,这样,
当遍历完所有动态加工元后,就完成了动态加工元—建模树矩阵的创建。
所述的当工步工序变化的时候矩阵的自动调整,其步骤是:
第一步:首先读取已经保存的矩阵文件,获得未改变前的动态加工元—建模树矩
阵,
第二步:记两个改变的工步或工序中最后一个动态加工元的序号分别问x和y,则
交换矩阵中第x行与第y行的所有值,
第三步:矩阵M从第x行开始一直搜索到第y行,假设现在搜索到第i行第j列的“0”
值属于当前动态加工元(矩阵从上至下,每行新增的“0”代表该当前动态加工元 的建模操
作节点),比较其余行中对应节点,假设比较到第k行,若k>i且M[k][j]==1,则将1改为0,
若k<i且M[k][j]==0,则将0改为1,当遍历完第x行到第y行后,完成了矩阵的修改,保存矩
阵。
所述的基于矩阵的动态显示及轻量化存储是:动态加工元—建模树矩阵将动态加
工元与建模树进行了关联,矩阵的每一行就代表了一个动态加工元,这样,能通过矩阵动态
在一个文件中显示任何工序模型,轻量化存储是指中间状态模型无关建模的几何信息,通
过二进制矩阵的形式进行了存储,将多个中间状态模型的信息存储在一个二进制文件中,
改变了多个工序模型多个部件文件的传统方法,仅保留一个设计模型文件。
本发明的有益效果是:
本发明的方法仅需1次建模操作便可在一个设计模型文件中动态显示当前排序下
的中间工序模型以及工序改变情况下的中间工序模型,通过创建动态加工元—建模树矩阵
实现了中间状态模型的动态显示及轻量化存储,改变了多个工序模型多个部件文件的传统
方法,仅保留一个设计模型文件以及一个二进制文件。
附图说明
图1为结构件加工特征部分加工阶段所对应的建模操作方法。
图2为恢复成毛坯模型前后的实例三维模型。
图3为恢复成毛坯模型前后的建模树。
图4为双击“工序14”的建模树、动态加工元列表、工序列表、三维模型。
图5为双击“工序2”的建模树、动态加工元列表、工序列表、三维模型。
图6为改变排序前动态加工元—建模树矩阵前三行最后一部分。
图7为改变排序后双击“工序2”的建模树、动态加工元列表、工序列表、三维模型。
图8为为改变排序后动态加工元—建模树矩阵前三行最后一部分。
图9为基于动态加工元—建模树矩阵的中间状态模型动态显示。
图10为整个算法的流程图。
图11为几何建模树列表以及矩阵、工序的关联关系图。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
一种基于动态加工元—建模树矩阵的中间工序模型动态显示及轻量化存储方法,
它包括以下步骤:
步骤(1):对每一个动态加工元的静态加工元属性集以及建模属性集进行参数化
建模,图1给出了结构件加工特征部分加工阶段所对应的建模操作方法。
步骤(2):根据建立的每个动态加工元的建模操作属性集,倒序遍历已经过排序的
动态加工元列表,根据每一个动态加工元所对应的加工面、加工特征类型、加工阶段获得每
个动态加工元的建模几何面组、建模方法以及建模参数,使得模型恢复至该动态加工元的
前序状态,遍历结束时恢复成毛坯模型,恢复成毛坯模型的同时关联每个动态加工元及在
建模树中新增的节点,这些新增节点就是该动态加工元在恢复到加工前序状态所需的建模
操作集合。遍历前的建模树、三维模型如图2a、图3a所示,建模节点从“拉伸1”—“拉伸37”;
遍历后建模树、三维模型如图2b、图3b所示,建模节点从“调整面大小153”—“替换面276”。
步骤(3):将动态加工元聚类为工步、工序,通过抑制某一工序前(包括该工序)所
包含的所有动态加工元对应的建模树节点,恢复显示该工序后所有动态加工元所对应的建
模数节点,获得当前工序加工后的工序模型。对某一个动态加工元对应建模节点的抑制相
当于把模型置于该动态加工元加工后的状态,对某一个动态加工元对应建模节点的恢复显
示相当于把模型置于该动态加工元加工的前序状态。例如双击图4中工序14,工序列表中工
序14最后一个为工步1的最后一个动态加工元为“粗开腔5”,在动态加工元排序列表中找到
对应的为序号20,则在序号20之前的动态加工元所对应的建模节点均被抑制,图4中建模树
中“移动面259-替换面276均被抑制”,右图即为工序14的工序模型。再比如双击图5的工序
2,工序列表工序2最后一个为工步的最后一个动态加工元为“精铣外轮廓”,在动态加工元
排序列表中找到对应的为序号2,则在序号2之前的动态加工元所对应的建模节点均被抑
制,图5中建模树中“偏置区域268-替换面276”被抑制,而上一步因为双击工序14导致抑制
的且排在序号1之后的动态加工元所对应的建模节点被恢复显示,建模树并没有改变,右图
即为工序2的工序模型。
步骤(4):创建动态加工元—建模树矩阵,矩阵M的大小n×m,n为动态加工元的总
个数,m为建模树中节点的总个数,将每一个动态加工元所对应的三维模型与建模树关联,
遍历当前动态加工元下的建模树节点,若节点被抑制,矩阵中的值为0,若未 被抑制,矩阵
的值为1。矩阵从上至下,每行新增的“0”代表该当前动态加工元的建模操作节点,这样,当
遍历完所有动态加工元后,就完成了动态加工元—建模树矩阵的创建。当前动态加工元排
序下的动态加工元—建模树矩阵前三行最后一部分如图6所示,矩阵第一行就表示建模树
中建模序号,可以发现,矩阵的第三行表示序号为2的动态加工元对应的中间状态模型,矩
阵最后部分一共9个“0”,与图5中建模树最后部分抑制的节点数相一致,关系图如图2所示。
步骤(5):改变动态加工元、工步、工序的排序,由于每一个动态加工元都有自己的
建模操作属性集,相当于建模树已经与动态加工元关联,所以无需再进行任何建模操作即
可动态显示任意工序排序下的工序模型以及任意中间工序模型。例如调整动态加工元列表
中序号为0和序号为2的位置,原本步骤(3)中的“精铣外轮廓”排到了序号0的位置,原本序
号0的“粗铣筋顶”排到了序号2的位置,如图7所示,工序列表中“粗铣筋顶”由原来的工序1
变成了工序2部分,双击工序2,右图即为调整后的工序模型。
步骤(6):修改动态加工元、工步、工序后矩阵的自动调整:调整后的矩阵如图8所
示,矩阵变化流程如下:黑体字表示属于该动态加工元在建模树中的抑制节点:
![]()
交换动态加工元序号0和序号2,矩阵第一行与第二行互换
![]()
矩阵M从第x行开始一直搜索到第y行,假设现在搜索到第i行第j列的“0”值属于当
前动态加工元(矩阵从上至下,每行新增的“0”代表该当前动态加工元的建模操作节点,红
色表示),比较其余行中对应节点,假设比较到第k行,若k>i且M[k][j]==1,则将1改为0,
若k<i且M[k][j]==0,则将0改为1,当遍历完第x行到第y行后,完成了矩阵的修改,保存矩
阵
调整后矩阵如下:
![]()
与图8一致。
步骤(7):基于矩阵的动态显示及轻量化存储:如图9所示,为导入矩阵文件后的对
话框列表,双击“序号2”,三维模型以及建模树中节点的抑制情况与图5一致,双击“序号
20”,三维模型以及建模树中节点的抑制情况与图4一致,实现了整个中间状态模型的动态
显示及轻量化存储。
整个算法流程如图10所示,图11表示几何建模树列表以及矩阵、工序的关联关系。
本发明未涉及部分与现有技术相同或可采用现有技术加以实现。