一种3D打印子任务调度方法和装置与流程

文档序号:11250699阅读:628来源:国知局
一种3D打印子任务调度方法和装置与流程

本发明涉及3d打印技术领域,特别涉及一种3d打印子任务调度方法和装置。



背景技术:

3d打印,属于快速成形技术的一种,它是一种数字模型文件为基础,运用粉末状金属或塑料等可粘合材料,通过逐层堆叠累积的方式来构造物体的技术,即“积层造形法”。过去其常在模具制造、工业设计等领域被用于制造模型,现正逐渐用于一些产品的直接制造。特别是一些高价值应用,比如髋关节或牙齿,或一些飞机零部件,已经有使用这种技术打印而成的零部件,意味着“3d打印”这项技术的普及。

3d打印技术最突出的优点是无需机械加工或任何模具,就能直接从计算机图形数据中生成任何形状的零件,从而极大地缩短产品的研制周期,提高生产率和降低生产成本。

现有的3d打印机一般只能打印一个产品的某个简单的零件或一个简单的产品,而且基本上都是单一材料的简单构件,如塑料或树脂材料制作的模型,或者金属零件等。对于更加复杂的产品比如房子、汽车,甚至一把由木头、金属和塑料材料制作的椅子,目前的3d打印技术却无能为力。



技术实现要素:

有鉴于此,本申请提供一种3d打印子任务调度方法和装置,能够在节约材料、机器损耗和时间情况下,打印结构复杂,材料种类多的产品。

为解决上述技术问题,本申请的技术方案是这样实现的:

一种3d打印子任务调度方法,该方法包括:

根据打印任务的结构和组成材料将该打印任务划分为n个打印子任务,确定存在执行先后顺序的打印子任务之间存在依赖关系;并根据各打印子任务的依赖关系确定各打印子任务的优先级;其中,被依赖的打印子任务优先被执行;

开始执行该打印任务时,将优先级最高的打印子任务分配给材料适配的打印机,使该打印机进行打印;

确定用于打印该打印任务的各打印机的工作状态;

当确定任一打印机的工作状态为空闲状态时,将不依赖当前正在打印的打印子任务的、打印材料与该打印机打印材料适配的,且优先级最高的打印子任务,分配给该打印机使该打印机进行打印;直到所有打印子任务执行完成。

一种3d打印子任务调度装置,该装置包括:任务划分单元、优先级确定单元和任务调度单元;

所述任务划分单元,用于根据打印任务的结构和组成材料将该打印任务划分为n个打印子任务;

所述优先级确定单元,用于确定存在执行先后顺序的所述任务划分单元划分的打印子任务之间存在依赖关系;根据各打印子任务的依赖关系确定各打印子任务的优先级;其中,被依赖的打印子任务优先被执行;

所述任务调度单元,用于开始执行该打印任务时,将所述优先级确定单元确定的优先级最高的打印子任务分配给材料适配的打印机,使该打印机进行打印;确定用于打印该打印任务的各打印机的工作状态;当确定任一打印机的工作状态为空闲状态时,将不依赖当前正在打印的打印子任务的、打印材料与该打印机打印材料适配的,且优先级最高的打印子任务,分配给该打印机使该打印机进行打印;直到所有打印子任务执行完成。

由上面的技术方案可知,本申请中通过将复杂结构,多材料组成的产品划分为多个子打印任务,按照各打印子任务之间的依赖关系,确定优先级,并在执行任务调度时,尽量使用能够使用的打印机,并行执行各打印子任务,从而能够在节约材料、机器损耗和时间情况下,打印结构复杂,材料种类多的产品。

附图说明

图1为本申请实施例中子任务关系图;

图2为本申请实施例中3d打印子任务调度流程示意图;

图3为本申请实施例中应用于上述技术的装置结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。

一个复杂的产品往往由不同的构件组成,而每一个构件的组成材料具有特殊性,需要特定的3d打印机来生产;而且这些构件之间往往存在复杂的依赖关系,比如某个构件的打印需要另一个或一组构件都已经完成的情况下才能进行。

这就涉及到一组不同的3d打印机,一组不同的3d打印子任务,形成了3d打印子任务的调度问题。如何进行3d打印子任务的调度,使得不同的打印机能够有效地协作打印一个不同构件、不同材料构成的复杂的产品,并极大地节约材料、机器损耗和时间尤其重要,本申请正是解决这一问题。下文为了描述方便,3d打印机均使用打印机来描述,即本申请实施例中的打印机均为3d打印机,3d打印任务描述为打印任务,3d打印子任务描述为打印子任务。

本申请实施例中提供的3d打印子任务调度方案需预先进行如下配置:

针对要打印的产品,如一把椅子、一辆小汽车等,作为一个打印任务;

首先,根据该打印任务的结构和组成材料将该打印任务划分为n个打印子任务。n为大于1的整数。

在划分打印子任务时,如针对一把椅子,按结构划分,如划分为靠背、扶手、支架、轮子等;

按材料划分,如不锈钢、塑料、化纤、木头等;每个打印子任务对应的材料不同;

在具体实现时,结构划分的细致程度根据打印机的能力和数量确定,最优的情况为:打印子任务的数量n不小于用于打印该任务的打印机的数量。

也可以根据实际应用调整,如某种材料的打印机多,可以将该种材料对应的打印任务拆分为数量多一点的打印子任务,即,相同材料可以划分多个打印子任务,以最终节省打印时间为原则。

其次,确定存在执行先后顺序的打印子任务之间存在依赖关系。

若打印子任务1与打印子任务2在执行时,存在先后顺序,则打印子任务1与打印子任务2之间存在依赖关系,被依赖的打印子任务优先被执行。

如打印一把到,刀柄使用塑料打印,刀的主体使用不锈钢打印,则刀柄的打印依赖刀的主体的打印,则需要先打印刀的主体,再在刀的主体上打印刀柄。

假设支架的打印,需依赖轮子的打印,则支架和轮子之间存在依赖关系,被依赖的轮子需优先被打印。

最后,根据各打印子任务的依赖关系确定各打印子任务的优先级;其中,被依赖的打印子任务优先被执行。

本申请实施例中给出优先级确定关系具体如下:

将各打印子任务按照依赖关系配置子任务关系图。参见图1,图1为本申请实施例中子任务关系图。在该子任务关系图中,若第一打印子任务与第二打印子任务之间存在依赖关系,且第一打印子任务依赖第二打印子任务,则将第二打印子任务指向第一打印子任务;如打印子任务i与打印子任务e之间存在依赖关系,且打印子任务e的执行依赖打印子任务i的执行,因此,图1中存在打印子任务i指向打印子任务e的箭头。

根据各打印子任务的依赖关系确定各子任务的优先级,包括:

步骤a、为不依赖其它子任务的打印子任务配置初始化优先级值;

步骤b、将分配优先级的打印子任务与优先级的对应关系存储,并从子任务关系图中删除当前存储的打印子任务;

步骤c、确定当前子任务关系图中是否存在打印子任务,如果是,为当前子任务关系图中不依赖其它打印子任务的打印子任务配置大于前一次删除的打印子任务的优先级值;执行步骤b;否则,结束优先级分配;其中,优先级值大的优先级小。

图1中打印子任务i、j、k、l、g、h和d为不依赖其它子任务的打印子任务,配置初始化优先级值,如1;将打印子任务i、j、k、l、g、h和d与优先级值1存储;并将子任务关系图中的打印子任务i、j、k、l、g、h和d删除;

确定当前子任务关系图中还存在打印子任务,则为当前子任务关系图中不依赖其它打印子任务的打印子任务(e、f、c)配置大于前一次删除的打印子任务(i、j、k、l、g、h和d)的优先级值,如2,在实际应用中,只要值大于前一次设置的值即可;将打印子任务e、f、c与优先级值2存储,并将子任务关系图中的打印子任务e、f、c删除。

确定当前子任务关系图中还存在打印子任务b和a,则为当前子任务关系图中不依赖其它打印子任务的打印子任务b配置大于前一次删除的打印子任务(e、f、c)的优先级值,如3;将打印子任务b与优先级值3存储,并将子任务关系图中的打印子任务b删除。

确定当前子任务关系图中还存在打印子任务a,则为当前子任务关系图中不依赖其它打印子任务的打印子任务(a)配置大于前一次删除的打印子任务(b)的优先级值,如4;将打印子任务a与优先级值4存储,并将子任务关系图中的打印子任务a删除。

确定当前子任务关系图中不存在打印子任务,则结束优先级的配置。

下面结合附图,详细说明本申请实施例中实现3d打印子任务调度的过程。为了描述方便,本申请实施例中执行配置,以及调度的设备称为调度设备。

参见图2,图2为本申请实施例中3d打印子任务调度流程示意图。具体步骤为:

步骤201,该调度设备开始执行该打印任务时,将优先级最高的打印子任务分配给材料适配的打印机,使该打印机进行打印。

若使用3台打印机执行该打印任务,当前存在4个优先级最高的打印子任务待打印,则将其中3个材料适配的打印子任务分别分配给3个打印机同时进行打印。

本申请具体实施例中,将打印子任务分配给打印机时,可以通过与打印机通信的方式分配打印任务,也可以通过人工通知、操作的方式进行打印任务的分配。

步骤202,确定用于打印该打印任务的各打印机的工作状态。

步骤203,该调度设备当确定任一打印机的工作状态为空闲状态时,将不依赖当前正在打印的打印子任务的、打印材料与该打印机打印材料适配的,且优先级最高的打印子任务,分配给该打印机使该打印机进行打印;直到所有打印子任务执行完成。

所有子任务打印完成时,要打印的任务即可完成,如打印一把椅子,则所有子任务打印完成时,椅子被打印出来。

本步骤中,针对一空闲状态的打印机,为该打印机选择分配的打印子任务时,先在未执行的打印子任务中,选择不依赖当前正在打印的打印子任务的打印子任务,以图1为例,假设当前打印子任务i、j和h已打印完成,打印子任务k和g正在打印,打印子任务l、d、e、f、c、b和a未打印。

在未打印的子任务中选择不依赖于正在打印的打印子任务l、d和f。

假设打印子任务l和f对应的打印材料与该打印机适配,则排除打印子任务d;

在打印子任务l和f中选择优先级高的,由于打印子任务l优先级高于打印子任务f,因此,将打印子任务l分配给该打印机执行。

以此类推,即遵循步骤203中的调度规则,直到所有打印子任务均执行完成。

总的来说,本申请在执行各打印子任务时,遵循如下规则:

如果某台3d打印机空着,而恰好此时又有某项子任务可以开始做且材料适配,即该打印机能打印能够该打印子任务对应的部件,那么不允许这台3d打印机闲置。一般情况为打印机打印的材料与打印子任务对应的材料相同,也不排除打印机进行了改进,也能够兼容打印该子任务对应的材料。

当某台3d打印机正在执行某个子任务时,中间不允许插入其它的子任务。即不会中断正在工作的打印机的打印任务。

在任何时刻,如果某台3d打印机闲置,就将当前未打印的子任务中优先级最高的子任务中选择一个分配给它进行打印。

本申请中根据打印任务的结构和组成材料将该打印任务划分为n个打印子任务时,还可以进一步确定各打印子任务执行所需要的时间;

调度设备将与该打印机打印的材料适配的,且未执行的打印子任务中优先级最高的打印子任务,分配给该打印机使该打印机进行打印时,若优先级相同的打印子任务个数大于1时,优先打印执行所需要的时间长的打印子任务。

以图1为例,假设当前未执行的打印子任务为打印子任务b、c和a。且打印子任务b和c对应的材料相同,若当前监测到处于空闲状态的打印机能够打印的材料与打印子任务b和c对应的材料适配,且执行打印子任务b需要的时间大于打印子任务c需要的时间,则将打印子任务b分配给该打印机执行。

基于同样的发明构思,本申请还提出一种3d打印子任务调度装置。参见图3,图3为本申请实施例中应用于上述技术的装置结构示意图。该装置包括:任务划分单元301、优先级确定单元302和任务调度单元303;

任务划分单元301,用于根据打印任务的结构和组成材料将该打印任务划分为n个打印子任务;

优先级确定单元302,用于确定存在执行先后顺序的任务划分单元301划分的打印子任务之间存在依赖关系;根据各打印子任务的依赖关系确定各打印子任务的优先级;其中,被依赖的打印子任务优先被执行;

任务调度单元303,用于开始执行该打印任务时,将优先级确定单元302确定的优先级最高的打印子任务分配给材料适配的打印机,使该打印机进行打印;确定用于打印该打印任务的各打印机的工作状态;当确定任一打印机的工作状态为空闲状态时,将不依赖当前正在打印的打印子任务的、打印材料与该打印机打印材料适配的,且优先级最高的打印子任务,分配给该打印机使该打印机进行打印;直到所有打印子任务执行完成。

较佳地,

任务划分单元301,具体用于根据打印任务的结构和组成材料将该打印任务划分为n个打印子任务时,确定各打印子任务执行所需要的时间;

任务调度单元303,具体用于将不依赖当前正在打印的打印子任务的、打印材料与该打印机打印材料适配的,且优先级最高的打印子任务,分配给该打印机使该打印机进行打印时,若优先级相同的打印子任务个数大于1时,优先打印执行所需要的时间长的打印子任务。

较佳地,

优先级确定单元302,进一步用于将各打印子任务按照依赖关系配置子任务关系图,在该子任务关系图中,若第一打印子任务与第二打印子任务之间存在依赖关系,且第一打印子任务依赖第二打印子任务,则将第二打印子任务指向第一打印子任务;根据各打印子任务的依赖关系确定各子任务的优先级时,为不依赖其它打印子任务的打印子任务配置初始化优先级值;将分配优先级的打印子任务与优先级的对应关系存储,并从子任务关系图中删除当前存储的打印子任务;确定当前子任务关系图中是否存在打印子任务,如果是,为当前子任务关系图中不依赖其它打印子任务的打印子任务配置优先级值大于前一次删除的子任务的优先级值;执行将分配优先级的打印子任务与优先级的对应关系存储,并从子任务关系图中删除当前存储的打印子任务操作;否则,结束优先级分配操作;其中,优先级值大的优先级小。

较佳地,

n为大于1的整数,且不小于用于打印该任务的打印机的数量。

综上所述,本申请通过将复杂结构,多材料组成的产品划分为多个子打印任务,按照各打印子任务之间的依赖关系,确定优先级,并在执行任务调度时,尽量使用能够使用的打印机,并行执行各打印子任务,从而能够在节约材料、机器损耗和时间情况下,打印结构复杂,材料种类多的产品。

本申请实施例中提出3d打印子任务的概念及划分方法,子任务的执行有一定的并行性,提高3d打印的生产效率。基于图优化理论提出3d打印子任务的优先级的确定方法。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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