一种基于三维模型的无序拆装方法与流程

文档序号:17643296发布日期:2019-05-11 00:49阅读:469来源:国知局
一种基于三维模型的无序拆装方法与流程

本发明涉及模具制造控制技术领域,具体的说是一种基于三维模型的无序拆装方法。



背景技术:

在实现模具的无序拆装过程中,由于拆装组合的可能性比较多,往往需要很多判断才能实现,而且这部分代码还没办法复用,就算是整合了一部分的相同点优化了逻辑,但是在遇到一些特殊步骤的情况下就需要去修改整体的代码,或者在编写步骤配置文件的时候由于不能做到结构的一目了然,也会浪费时间、精力。

基于此,针对上述现状中存在的局限性,本发明提出了一种基于三维模型的无序拆装方法。



技术实现要素:

本发明的目的在于针对已有技术存在的缺陷,提供一种基于三维模型的无序拆装方法,解决无法复用,代码繁杂的问题。

本发明解决其技术问题所采用的技术方案是:

一种基于三维模型的无序拆装方法,包括以下步骤:

s1、创建一个足够承载每个步骤所有内容的类;

s2、使用json格式来创建配置文件,初始化将json字符串转化成类对象作为储存数据并加载,并根据类对象设置相互依赖关系;

s3、创建所有步骤、已拆装步骤和可拆装步骤字典,关联场景物体;

s4、根据步骤的依赖项和被依赖项来判断当前的步骤状态,初始化赋值并添加到字典,以记录拆装进度,其中,步骤状态包括依赖项、被依赖项、或依赖项以及或被依赖项;

s5、在拆装时查找当前步骤是存在于哪个字典中,然后根据配置写逻辑与执行步骤,直到可拆装步骤为空,安装完毕。

进一步地,所述步骤s4还包括:根据已配置好的数据,遍历所有的步骤,获取到该步骤中和场景有关联的物体,并保存在所有步骤字典中。

进一步地,所述步骤s5中查找字典依赖项和被依赖项的逻辑为:

遍历所有步骤字典,在其中遍历一个步骤的被依赖项,如果这个步骤的被依赖项没有被储存,就储存起来;如果该步骤的被依赖项的依赖项没有被储存,就打印提示信息后储存起来。

进一步地,所述步骤s5中查找字典或依赖项和或被依赖项的逻辑为:

如果存在或的关系,需要遍历这个步骤的或依赖项,找到未完成的,将它们的或被依赖项中的该步骤移除掉;

遍历当前步骤的被依赖项,判断这个被依赖项的依赖项是否都执行完成了,如果是,就将这个被依赖项加入到可拆装步骤字典中;

如果存在或的关系,要判断该步骤的或被依赖项,如果有判断它们是否已经拆装了,如果没有拆装,就将它们加入到可拆装步骤字典中。

进一步地,所述步骤s5中执行步骤具体为:

遍历步骤s4中执行过后的所有步骤字典,查找其中没有依赖项的步骤,将这些步骤保存到可拆装步骤字典中;

遍历可拆装步骤字典,启动这些步骤的拆装功能,对该步骤在步骤s4中关联到的物体进行操作;

在执行完了一个拆装操作之后,将该步骤的拆装状态设置为已拆装,并将它从可拆装字典中移除,加入到已拆装字典中。

与现有技术相比,本发明的有益效果是:本发明技术方案简洁,可复用性强,配置文件清晰明了。

附图说明

图1为本发明一个实施例中无序安装的整体流程示意图;

图2为本发明一个实施例中无序安装的流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

发明实施例提供了一种基于三维模型的无序拆装方法,包括以下步骤:

s1、创建一个足够承载每个步骤所有内容的类;

s2、使用json格式来创建配置文件,初始化将json字符串转化成类对象作为储存数据并加载,并根据类对象设置相互依赖关系;

s3、创建所有步骤、已拆装步骤和可拆装步骤字典,关联场景物体;

s4、根据步骤的依赖项和被依赖项来判断当前的步骤状态,初始化赋值并添加到字典,以记录拆装进度,其中,步骤状态包括依赖项、被依赖项、或依赖项以及或被依赖项;

s5、在拆装时查找当前步骤是存在于哪个字典中,然后根据配置写逻辑与执行步骤,直到可拆装步骤为空,安装完毕。

具体实施时,所述步骤s4还包括:根据已配置好的数据,遍历所有的步骤,获取到该步骤中和场景有关联的物体,并保存在所有步骤字典中。

具体实施时,所述步骤s5中查找字典依赖项和被依赖项的逻辑为:

遍历所有步骤字典,在其中遍历一个步骤的被依赖项,如果这个步骤的被依赖项没有被储存,就储存起来;如果该步骤的被依赖项的依赖项没有被储存,就打印提示信息后储存起来。

具体实施时,所述步骤s5中查找字典或依赖项和或被依赖项的逻辑为:

如果存在或的关系,需要遍历这个步骤的或依赖项,找到未完成的,将它们的或被依赖项中的该步骤移除掉;

遍历当前步骤的被依赖项,判断这个被依赖项的依赖项是否都执行完成了,如果是,就将这个被依赖项加入到可拆装步骤字典中;

如果存在或的关系,要判断该步骤的或被依赖项,如果有判断它们是否已经拆装了,如果没有拆装,就将它们加入到可拆装步骤字典中。

具体实施时,所述步骤s5中执行步骤具体为:

遍历步骤s4中执行过后的所有步骤字典,查找其中没有依赖项的步骤,将这些步骤保存到可拆装步骤字典中;

遍历可拆装步骤字典,启动这些步骤的拆装功能,对该步骤在步骤s4中关联到的物体进行操作;

在执行完了一个拆装操作之后,将该步骤的拆装状态设置为已拆装,并将它从可拆装字典中移除,加入到已拆装字典中。

作为本发明一个较佳的实施例,如图1和图2所示,无序拆装分为无序安装和无序拆卸,两者逻辑相同,这里以无序安装为例进行说明。将整个安装逻辑分为:数据配置和安装逻辑。

1、数据配置

创建一个足够承载每个步骤所有内容的类(参数例如有现实、隐藏物体,依赖项和被依赖项,使用的工具,安装时拿取得零件,步骤前、后执行的方法等等),将该类作为数据配置类。

2、安装逻辑

2_1、创建三个字典,分别是:所有步骤字典、已安装步骤字典以及可安装步骤字典;

2_2、根据已配置好的数据,遍历所有的步骤,将该步骤中和场景有关联的物体获取到,并保存在所有步骤字典中;

2_3、在判断一个是否能够安装时,会用到步骤中的几个字段,我称它们分别是:依赖项,被依赖项,或依赖项,或被依赖项。依赖项和被依赖项是一般情况下用到的,在遇到一些特殊情况,比如说有a、b、c三个零件,a和b的安装时机是并列的,c有可能安装在a上,也有可能安装在b上,这种时候会用到或依赖项和或被依赖项这两个字段;

2_4、在执行完2_2中的操作之后,遍历所有步骤字典,然后在其中遍历一个步骤的被依赖项,如果这个步骤的被依赖项没有被储存,就储存起来;如果该步骤的被依赖项的依赖项没有被储存,就打印提示信息后储存起来。通过这个遍历,可以校验数据配置的完整性,并储存步骤的相互依赖关系。通过这个依赖关系,在得到一个步骤的时候,就能够得到这个步骤所依赖的步骤和被它依赖的步骤;

2_5、遍历2_4执行过后的所有步骤字典,查找其中没有依赖项的步骤,将这些步骤保存到可安装步骤字典中;

2_6、遍历可安装步骤字典,启动这些步骤的安装功能,对该步骤在2_2中关联到的物体进行操作;

2_7、在执行完了一个安装操作之后,将该步骤的安装状态设置为已安装,并将它从可安装步骤字典中移除,加入到已安装步骤字典b中;

2_8、如果存在或的关系,需要遍历这个步骤的或依赖项,找到未完成的,将它们的或被依赖项中的该步骤移除掉;

2_9、然后遍历当前步骤的被依赖项,判断这个被依赖项的依赖项是否都执行完成了,如果是,就将这个被依赖项加入到可安装步骤字典中;

2_10、如果存在或的关系,要判断该步骤的或被依赖项,如果有判断它们是否已经安装了,如果没有安装,就将它们加入到可安装步骤字典中;

2_11、然后执行2_6,如此循环,直到可安装步骤为空,就是所有步骤都安装完成,安装完毕。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1