CN113580577B - 3d打印文件生成方法、装置、计算机设备和存储介质 - Google Patents
3d打印文件生成方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113580577B CN113580577B CN202110861434.0A CN202110861434A CN113580577B CN 113580577 B CN113580577 B CN 113580577B CN 202110861434 A CN202110861434 A CN 202110861434A CN 113580577 B CN113580577 B CN 113580577B
- Authority
- CN
- China
- Prior art keywords
- slice
- area
- supporting area
- suspension
- supporting
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000010146 3D printing Methods 0.000 title abstract description 10
- 239000000725 suspension Substances 0.000 claims abstract description 208
- 238000007639 printing Methods 0.000 claims abstract description 185
- 238000004590 computer program Methods 0.000 claims description 16
- 238000007667 floating Methods 0.000 claims description 13
- 239000000463 material Substances 0.000 abstract description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000001816 cooling Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007710 freezing Methods 0.000 description 4
- 230000008014 freezing Effects 0.000 description 4
- 239000004626 polylactic acid Substances 0.000 description 3
- 238000000465 moulding Methods 0.000 description 2
- 229920000747 poly(lactic acid) Polymers 0.000 description 2
- 238000009751 slip forming Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 239000000853 adhesive Substances 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/30—Auxiliary operations or equipment
- B29C64/386—Data acquisition or data processing for additive manufacturing
- B29C64/393—Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/10—Processes of additive manufacturing
- B29C64/106—Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material
- B29C64/118—Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material using filamentary material being melted, e.g. fused deposition modelling [FDM]
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
- B33Y50/02—Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/10—Additive manufacturing, e.g. 3D printing
Abstract
本申请涉及一种3D打印文件的生成方法、装置、计算机设备和存储介质,方法包括:获取待打印模型中的各悬空面;根据各悬空面确认对应的支撑区域的打印路径,并设定支撑区域的打印速度,以使支撑区域在支撑区域的打印速度下沿打印路径打印时连续冷却成型;支撑区域处于悬空状态且用于使对应的悬空面在打印时不下沉;根据设定好打印速度的支撑区域的打印路径和待打印模型的各层切片,生成打印文件。由于支撑区域在设定好的打印速度下打印时会连续冷却成型,即降低了支撑区域出现下沉的概率,从而降低了支撑区域支撑的对应的悬空面出现下沉的概率,且由于支撑区域是处于悬空状态的,降低了支撑的体积,从而降低了支撑所耗用的材料且提高了打印速度。
Description
技术领域
本申请涉及3D打印技术领域,特别是涉及一种3D打印文件生成方法、装置、计算机设备和存储介质。
背景技术
在计算机数字技术智能化的推动下三维(three-dimensional,3D)打印技术应用的领域越来越广,3D打印是先对模型进行切片并生成切片文件,再根据切片文件来打印一层层的粘合材料来制造三维的物体。由于模型的多样性,模型的某些位置会存在悬空即某些位置的下部无支撑,在打印时无支撑的位置可能会出现下沉的问题,所以对于悬空的位置通常需要添加支撑;目前添加支撑的方法是,从模型上需要添加支撑的位置点向工作空间底部或位于需要添加支撑的位置点下方的模型上的位置生成垂直的支撑,但是这样生成的支撑较多,影响了打印速度和造成了打印材料的浪费。
发明内容
基于此,有必要针对上述技术问题,提供一种3D打印文件的方法、装置、计算机设备和存储介质。
本申请实施例提供了一种3D打印文件的生成方法,包括:获取待打印模型中的各悬空面;根据各所述悬空面确认对应的支撑区域的打印路径,并设定所述支撑区域的打印速度,以使所述支撑区域在支撑区域的所述打印速度下沿所述打印路径打印时连续冷却成型;其中,所述支撑区域处于悬空状态且用于使对应的悬空面在打印时不下沉;根据设定好所述支撑区域的打印速度的支撑区域的打印路径和待打印模型的各层切片,生成打印文件。
本申请实施例提供了一种3D打印文件的生成装置,包括:获取模块,用于获取待打印模型中的各悬空面;速度设定模块,用于根据各所述悬空面确认对应的支撑区域的打印路径,并设定所述支撑区域的打印速度,以使所述支撑区域在所述支撑区域的打印速度下沿所述打印路径打印时连续冷却成型;其中,所述支撑区域处于悬空状态且用于使对应的悬空面在打印时不下沉;生成模块,用于根据设定好所述支撑区域的打印速度的支撑区域的打印路径和所述待打印模型的各层切片,生成打印文件。
本申请实施例还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述所述的3D打印文件的生成方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的3D打印文件的生成方法。
另外,所述根据各所述悬空面确认对应的支撑区域的打印路径,包括:遍历各所述悬空面,获取与当前遍历到的悬空面处于相同高度的未悬空面;判断所述当前遍历到的悬空面和与所述当前遍历到的悬空面处于相同高度的未悬空面之间是否存在交点,若是,根据所述当前遍历到的悬空面,确认所述当前遍历到的悬空面对应的支撑区域中与所述当前遍历到的悬空面接触的目标切片,若否,根据所述当前遍历到的悬空面确认支撑子区域,且将所述当前遍历到的悬空面和与所述当前遍历到的悬空面处于相同层数的未悬空面进行连接得到连接子区域,根据所述支撑子区域和所述连接子区域,确认所述当前遍历到的悬空面对应的支撑区域中与所述当前遍历到的悬空面接触的目标切片;根据所述目标切片和偏移的距离,得到所述支撑区域的各层切片;根据所述支撑区域的各层切片和分别与各层切片处于相同高度的未悬空面的轮廓的交点,和所述支撑区域的各层切片,确认所述当前遍历到的悬空面对应的支撑区域的打印路径。通过这样的方法,得到的支撑区域的打印路径较简单,可以较快的生成打印文件。
另外,所述根据所述支撑区域的各层切片和分别与各层切片处于相同高度的未悬空面的轮廓的交点,和所述支撑区域的各层切片,确认所述当前遍历到的悬空面对应的支撑区域的打印路径,包括:获取所述目标切片和与所述目标切片处于相同高度的未悬空面的轮廓的交点,并判断所述目标切片上的点中是否包括目标点,其中,所述目标点的纵坐标不属于所述目标切片和与所述目标切片处于相同高度的未悬空面的轮廓的交点的纵坐标的子集,和/或,所述目标点的横坐标不属于所述目标切片和与所述目标切片处于相同高度的未悬空面的轮廓的交点的横坐标的子集;若是,根据所述目标切片和与所述目标切片处于相同高度的未悬空面的轮廓的交点,将所述目标切片划分为第一支撑区域和第二支撑区域,根据所述目标切片的第一支撑区域和第二支撑区域得到所述支撑区域的各层切片的第一支撑区域和第二支撑区域;其中,所述目标切片的第二支撑区域包括所述目标点;对于所述支撑区域的各层切片,设定以所述支撑区域的切片的第一支撑区域和与所述支撑区域的切片处于相同高度的未悬空面的轮廓的交点为所述支撑区域的切片的第一支撑区域的打印起始点,打印所述支撑区域的切片的第一支撑区域,再以所述支撑区域的切片的第一支撑区域、与所述支撑区域的切片处于相同高度的未悬空面的轮廓和所述支撑区域的切片的第二支撑区域的交点为所述支撑区域的切片的第二支撑区域的打印起始点打印所述支撑区域的切片的第二支撑区域,得到所述当前遍历到的悬空面对应的支撑区域的打印路径。通过这样的方法,使第一支撑区域的打印起始点和第二支撑区域的打印起始点均是合理的着力点,从合理的着力点生成的打印路径较合理,进一步降低了支撑区域出现下沉的概率。
另外,所述根据所述目标切片和偏移距离,得到所述支撑区域的各层切片,包括:确认所述当前遍历到的悬空面所在的悬空区域的厚度;其中,所述悬空区域是指与所述当前遍历到的悬空面的投影重合且距离工作空间底部最远的面和所述当前遍历到的悬空面之间所形成的区域;判断所述悬空区域的厚度是否小于所述偏移距离,若是,将所述目标切片所在的位置作为第一位置,且将所述目标切片向远离所述工作空间底部方向移动所述悬空区域的厚度所在的位置作为第二位置,若否,将所述目标切片所在的位置作为第一位置,且将所述目标切片向远离所述工作空间底部方向移动所述偏移距离所在的位置作为第二位置;将所述第一位置和所述第二位置形成的区域作为支撑区域,根据所述支撑区域得到所述支撑区域的各层切片。通过这样的方法,可以使第二位置更加的合理,且此时可以将待打印模型本身的一部分作为支撑区域,这样可以进一步的降低支撑所耗用的材料且进一步提高打印速度。
另外,所述根据所述目标切片和偏移距离,得到所述支撑区域的各层切片,包括:将所述目标切片所在的位置作为第一位置,且将所述目标切片向靠近工作空间底部方向移动所述偏移距离所在的位置作为第二位置;将所述第一位置和所述第二位置形成的区域作为支撑区域,根据所述支撑区域得到所述支撑区域的各层切片。通过这样的方法,利用待打印模型之外的支撑区域去支撑悬空面,支撑区域和待打印模型之间的交集较少,在生成打印文件时不需要对支撑区域的打印路径和待打印模型的各层切片进行较多的合并计算,使得后续生成打印文件时的速度的较快。
另外,所述获取待打印模型中的各悬空面,包括:对待打印模型进行分层切片,得到各层切片;对第n层切片的投影和第(n+1)层切片的投影进行异或运算;其中,n为所述待打印模型的切片所在的层数,n为正整数;若运算结果为所述第(n+1)层切片的投影大于所述第n层切片的投影,根据所述第(n+1)层切片的投影和所述第n层切片的投影的差值,获取待打印模型的各悬空面。通过计算得到的各悬空面较准确,且异或运算较简单,可以较快的通过计算得到各悬空面。
另外,所述偏移距离通过以下方式获取得到:根据所述当前遍历到的悬空面所在的悬空区域的厚度,确定偏移距离。由于最终生成的支撑区域是需要支撑悬空面所在的悬空区域的,所以根据悬空区域的高度确定的偏移距离较合理,进一步降低打印无支撑位置出现下沉的概率。
另外,所述待打印模型的各层切片的打印速度大于所述支撑区域的打印速度。由于在进行打印时,待打印模型均是存在支撑的,在打印待打印模型时并不要求连续冷却成型,所以待打印模型的打印速度可以大于支撑区域的打印速度,这样可以进一步提高打印速度。
另外,所述打印速度通过以下方式确认:根据打印耗材的凝固点,确认支撑区域的打印速度。由于支撑区域的打印速度的设定是为了让支撑区域在打印时连续冷却成型,而冷却成型是与打印耗材的凝固点有关的,所以通过打印耗材的凝固点确认的支撑区域的打印速度更加的合理。
上述打印文件的生成方法、装置、计算机设备和存储介质,获取待打印模型中的各悬空面;根据各悬空面确认对应的支撑区域的打印路径,并设定支撑区域的打印速度,以使支撑区域在支撑区域的打印速度下沿打印路径打印时连续冷却成型;其中,支撑区域处于悬空状态且用于使对应的悬空面在打印时不下沉;根据设定好支撑区域的打印速度的支撑区域的打印路径和待打印模型的各层切片,生成打印文件。由于支撑区域在设定好支撑区域的的打印速度下打印时会连续冷却成型,即降低了支撑区域出现下沉的概率,从而降低了支撑区域支撑的对应的悬空面出现下沉的概率,且由于支撑区域是处于悬空状态的,相交于向工作空间底部或位于需要添加支撑的位置点的下方的模型上的位置生成垂直的支撑,降低了支撑的体积,从而降低了支撑所耗用的材料且提高了打印速度。
附图说明
图1为本申请第一实施例的3D打印文件的生成方法的流程图;
图2为本申请第一实施例的待打印模型的示意图;
图3为本申请第一实施例的待打印模型的正视图;
图4为本申请第一实施例的另一个待打印模型的正视图;
图5为图4中Q处的放大图;
图6为本申请第一实施例中步骤101的一种具体实现方式的流程图;
图7为本申请第一实施例中第n层切片的投影和第(n+1)层切片的投影的示意图;
图8为本申请第一实施例中根据各悬空面确认对应的支撑区域的打印路径的一种具体实现方式的流程图;
图9为本申请第一实施例中步骤1026的一种具体实现方式的流程图;
图10为本申请第一实施例中另一个待打印模型的正视图;
图11为本申请第一实施例中包括悬空面b和悬空面c对应的支撑区域的待打印模型的正视图;
图12为本申请第一实施例中步骤1026的另一种具体实现方式的流程图;
图13为本申请第一实施例中包括悬空面b和悬空面c对应的支撑区域的待打印模型的正视图;
图14为本申请第一实施例中步骤1027的一种具体实现方式的流程图;
图15为本申请第一实施例的悬空面a的俯视图;
图16为本申请第一实施例的一种划分第一支撑区域和第二支撑区域的目标切片的示意图;
图17为本申请第一实施例的另一种划分第一支撑区域和第二支撑区域的目标切片的示意图;
图18为本申请第一实施例的悬空面b的俯视图;
图19为本申请第一实施例中包括各悬空面对应的支撑区域的待打印模型的正视图;
图20为图19中V处的放大图;
图21为本申请第一实施例中包括各悬空面对应的支撑区域的待打印模型的正视图;
图22为图21中l处的放大图;
图23为本申请第二实施例的3D打印文件的生成装置的结构示意图;
图24为本申请第三实施例的计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请第一实施例涉及一种3D打印文件的生成方法,应用于计算机设备,如:电脑、手机等。本实施例的打印文件的生成方法的流程图如图1所示,包括:
步骤101,获取待打印模型中的各悬空面。
具体地说,计算机设备中的切片软件接收到导入的待打印模型后,将待打印模型放置在工作空间上,其中,工作空间是指打印待打印模型的打印机的打印平台在切片软件中所形成的空间,包括X轴方向、Y轴方向和Z轴方向,工作空间底部是指X轴和Y轴形成的平面。待打印模型中的悬空面是指下方不存在其他切片且不与工作空间底部接触的那一部分切片中靠近工作空间底部的那一面,未悬空面是指下方存在其他切片或与工作空间底部接触的那一部分切片中靠近工作空间底部的那一面,即除了悬空面之外的均为未悬空面,另外,以下所说的面均是指切片中靠近工作空间底部的那一面的全部区域或部分区域;如图2和图3所示,图2为待打印模型的示意图,图3为待打印模型的正视图,为了便于说明,将待打印模型划分为A、B、C、D几个区域,其中,图中的a、b、c、d处均为悬空面,图中的i、j处均为未悬空面。如图4和图5所示,图4为另一个待打印模型的正视图,图5为图4中Q处的放大图,其中,q1、q2、q3、q4为Q处的悬空面。
在一个例子中,获取待打印模型中的各悬空面的流程图如图6所示,包括:
步骤1011,对待打印模型进行分层切片,得到各层切片。
步骤1012,对第n层切片的投影和第(n+1)层切片的投影进行异或运算;其中,n为正整数。
步骤1013,若运算结果为第(n+1)层切片的投影大于第n层切片的投影,根据第(n+1)层切片的投影和第n层切片的投影的差值,获取待打印模型的各悬空面。
具体地说,计算机设备中的切片软件接收到导入的待打印模型后,对待打印模型进行水平分层切片,可以知道的是,水平分层切片的方向与水平面之间的夹角为零;对待打印模型进行分层切片后可以得到各层切片。对第n层切片的投影和第(n+1)层切片的投影进行异或运算,若运算结果为第(n+1)层切片的投影大于第n层切片的投影,则投影的差值对应的第n层中的区域为悬空面,根据连通性得到各悬空面,若运算结果为第(n+1)层切片的投影小于或等于第n层切片的投影,则第(n+1)层不存在悬空面;由于第一层切片与工作空间底部存在接触,不需要进行支撑,所以从第2层开始确认是否存在悬空面,对第1层切片的投影和第2层切片的投影进行异或运算,若运算结果为第2层切片的投影大于第1层切片的投影,则投影的差值对应的第2层中的区域为悬空面,若运算结果为第2层切片的投影小于或等于第1层切片的投影,则第2层不存在悬空面,按照上述方法进行确认,直至(n+1)的取值为最高层切片的层数。如图7所示,为第n层切片的投影和第(n+1)层切片的投影的示意图,椭圆形为第(n+1)层切片的投影,长方形为第n层切片的投影,将两层切片的投影进行求异或运算,获取两层切片中互不重复的区域即图中的阴影区域为第(n+1)层切片的投影和第n层切片的投影的差值,根据差值可以获取到第(n+1)层切片的各悬空面,根据连通性可知左边的阴影区域为一个悬空面,上边的阴影区域为一个悬空面,下边的阴影区域为一个悬空面,右边的阴影区域为一个悬空面。通过计算得到的各悬空面较准确,且异或运算较简单,可以较快的通过计算得到各悬空面。
在一个例子中,由于用户可以通过观察知道待打印模型中的各悬空面,在用户直接在待打印模型上选定各悬空面之后,计算机设备接收用户的选定,获取待打印模型中的各悬空面。通过这样的方法,计算机设备不需要进行相应的计算即可得到各悬空面,减轻了计算机设备的运行负担。
步骤102,根据各悬空面确认对应的支撑区域的打印路径,并设定支撑区域的打印速度,以使支撑区域在支撑区域的打印速度下沿打印路径打印时连续冷却成型;其中,支撑区域处于悬空状态且用于使对应的悬空面在打印时不下沉。
具体地说,以聚乳酸(polylacticacid,PLA)耗材、直径为0.4mm的喷嘴按照10mm/s的速度进行移动为例进行说明,在这样的打印速度下,从喷嘴中挤出的PLA耗材不会连续冷却成型即耗材还是熔融状态,若此时没有支撑,熔融状态下的PLA耗材就会出现下沉,也就是说,按照喷嘴的正常打印速度进行打印时,生成的支撑区域会下沉即支撑区域无法与热床平行,这样在支撑区域上方的悬空面在打印时也会出现下沉,所以为了使生成的支撑区域与热床平行,需要设定支撑区域的打印速度,使支撑区域在设定好的支撑区域的打印速度下沿打印路径打印时连续冷却成型,即降低了支撑区域出现下沉的概率,其中,直径为0.4mm的喷嘴在打印支撑区域时的打印速度可以设定为5mm/s。支撑区域是用于使对应的悬空面在打印时不下沉的,降低了支撑区域支撑的对应的悬空面出现下沉的概率,为了使对应的悬空面在打印时不下沉,支撑区域的投影需要大于对应的悬空面的投影,且支撑区域需要有一个着力点,则支撑区域需要与未悬空面存在连接,可以理解的是,支撑区域上的点在Z轴方向的坐标可以均相同,也可以存在不同。
在一个例子中,支撑区域的打印速度通过以下方式确认:根据打印耗材的凝固点,确认支撑区域的打印速度。由于支撑区域的打印速度的设定是为了让支撑区域在打印时连续冷却成型,而冷却成型是与打印耗材的凝固点有关的,所以通过打印耗材的凝固点确认的支撑区域的打印速度更加的合理。
在一个例子中,除了设定支撑区域的打印速度,还设定打印暂停时长,以使支撑区域在打印速度和打印暂停时长下沿打印路径打印时连续冷却成型。具体地说,在打印支撑区域时,使支撑区域在打印速度下沿打印路径移动预设距离后暂停打印暂停时长,其中,预设距离是打印耗材在悬空打印时成型的极限长度;再继续在打印速度下沿打印路径移动预设距离后暂停打印暂停时长,以此进行打印,直至打印完支撑区域。由于在打印中会暂停一段时长,这样可以使已打印的支撑区域的硬度更高,进一步降低打印无支撑位置出现下沉的概率。
在一个例子中,根据各悬空面确认对应的支撑区域的打印路径的流程图如图8所示,包括:
步骤1021,遍历一个悬空面。
步骤1022,获取与当前遍历到的悬空面处于相同高度的未悬空面。
具体地说,根据当前遍历到的悬空面的高度,获取与当前遍历到的悬空面处于相同高度的任意一个未悬空面,其中,当前遍历到的悬空面的高度是指悬空面上的点到工作空间底部的距离;以图2和图3为例进行说明,当前遍历到的悬空面为悬空面a,获取与悬空面a处于相同高度的任意一个未悬空面为未悬空面i或未悬空面j,等等。
在一个例子中,可以获取与当前遍历到的悬空面的距离最近的处于相同高度的未悬空面,以图2和图3为例进行说明,当前遍历到的悬空面为悬空面a,与悬空面a距离最近的处于相同高度的未悬空面为未悬空面i。在此种情况下,可以缩短支撑区域的打印路径,从而提高待打印模型的打印速度。
步骤1023,判断当前遍历到的悬空面和与当前遍历到的悬空面处于相同高度的未悬空面之间是否存在交点。若是,先进入步骤1024,再进入步骤1026,若否,先进入步骤1025,再进入步骤1026。
步骤1024,根据当前遍历到的悬空面,确认当前遍历到的悬空面对应的支撑区域中与当前遍历到的悬空面接触的目标切片。
步骤1025,根据当前遍历到的悬空面确认支撑子区域,且将当前遍历到的悬空面和与当前遍历到的悬空面处于相同层数的未悬空面进行连接得到连接子区域,根据支撑子区域和连接子区域,确认当前遍历到的悬空面对应的支撑区域中与当前遍历到的悬空面接触的目标切片。
具体地说,由于模型的多样性,悬空面和与悬空面处于相同高度的未悬空面之间可能存在连接,也可能不存在连接,悬空面和与悬空面处于相同高度的未悬空面之间是否存在连接可以通过悬空面和与悬空面处于相同高度的未悬空面之间是否存在交点进行判断。
若当前遍历到的悬空面和与当前遍历到的悬空面处于相同高度的未悬空面之间存在交点,则当前遍历到的悬空面和和与当前遍历到的悬空面处于相同高度的未悬空面之间存在连接,如图2和图3中的悬空面a和与悬空面a处于相同高度的未悬空面i之间存在连接,此时根据当前遍历到的悬空面,可以确认出当前遍历到的悬空面的形状,由于悬空面对应的支撑区域需要使对应的悬空面在打印时不下沉,所以支撑区域的形状需要不小于当前遍历到的悬空面的形状,即支撑区域中与当前遍历到的悬空面接触的目标切片可以与悬空面的形状相同,也可以是包括悬空面的形状,且目标切片与处于相同高度的未悬空面之间的交点包括悬空面与处于相同高度的未悬空面之间的交点,也就是说,悬空面上的点是支撑区域中的目标切片上的点的子集,这样就可以根据当前遍历到的悬空面确认出悬空面对应的支撑区域中与当前遍历到的悬空面接触的目标切片,且此时得到的支撑区域是从未悬空面上的点开始去生成支撑的。
若当前遍历到的悬空面和与当前遍历到的悬空面处于相同高度的未悬空面之间不存在交点,则当前遍历到的悬空面和与当前遍历到的悬空面处于相同高度的未悬空面之间不存在连接,如图2和图3中的悬空面c和处于相同高度的未悬空面之间不存在连接,但是支撑区域需要从未悬空面上的点开始去生成支撑区域,所以先根据当前遍历到的悬空面确认支撑子区域,由于悬空面对应的支撑区域需要使对应的悬空面在打印时不下沉,所以支撑子区域的形状需要不小于当前遍历到的悬空面,即支撑子区域中的形状可以与当前遍历到的悬空面的形状相同,也可以是包括当前遍历到的悬空面;再将当前遍历到的悬空面和与当前遍历到的悬空面处于相同层数的未悬空面进行连接得到连接子区域,连接子区域的大小可以根据实际需要进行设定,且连接子区域边缘的线中存在弧线和/或直线;再获取支撑子区域和连接子区域的并集形成的区域,确认当前遍历到的悬空面对应的支撑区域中与当前遍历到的悬空面接触的目标切片不小于并集形成的区域。在一个例子中,支撑子区域和连接子区域的交线中最大值,与当前遍历到的悬空面中与交线平行的线中的最大值相等,这样可以使得打印路径较简单。
在一个例子中,将所述当前遍历到的悬空面和与所述当前遍历到的悬空面处于相同层数的未悬空面进行连接得到连接子区域,包括:将所述当前遍历到的悬空面和与所述当前遍历到的悬空面处于相同层数的未悬空面以直线进行连接得到连接子区域。通过这样的方法,由于连接子区域边缘的线是以直线进行连接得到的,这样在打印连接子区域时的打印路径较短,从而缩短了支撑区域的打印路径,这样可以提高打印的速度。
步骤1026,根据目标切片和偏移距离,得到支撑区域的各层切片。
具体地说,将目标切片所在的位置作为第一位置,将目标切片移动偏移距离得到的位置作为第二位置,第一位置和第二位置形成的区域作为支撑区域,根据支撑区域和切片的厚度可以得到支撑区域的各层切片,即偏移距离是指目标切片移动的距离,也是支撑区域的厚度。
在一个例子中,根据目标切片和偏移距离,得到支撑区域的各层切片的流程图如图9所示,包括:
步骤10261,确认当前遍历到的悬空面所在的悬空区域的厚度;其中,悬空区域是指与当前遍历到的悬空面的投影重合且距离工作空间底部最远的面和当前遍历到的悬空面之间的区域。
具体地说,悬空面所在的悬空区域是指与悬空面的投影重合且距离工作空间底部最远的面和当前遍历到的悬空面之间的区域,该区域沿z轴方向的高度即为悬空区域的厚度,如图2和图3所示,悬空面a所在的悬空区域为A,悬空区域的厚度为h3,悬空面b所在的悬空区域为C,悬空区域的厚度为h2,悬空面c所在的悬空区域为D,悬空区域的厚度为h1、悬空面d所在的悬空区域为C,悬空区域的厚度为h2;如图10所示,为另一个待打印模型的正视图,为了便于说明,将待打印模型划分为E、F、G、H几个区域,其中,图中的k、w、r处均为悬空面,悬空面k所在的悬空区域为H,悬空区域的厚度为h5,悬空面w所在的悬空区域为H,悬空区域的厚度为h5,悬空面r所在的悬空区域为F,悬空区域的厚度为h4。
步骤10262,判断悬空区域的厚度是否小于偏移距离。若是,进入步骤10263,若否,进入步骤10264。
步骤10263,将目标切片所在的位置作为第一位置,且将目标切片向远离工作空间底部方向移动悬空区域的厚度所在的位置作为第二位置。
步骤10264,将目标切片所在的位置作为第一位置,且将目标切片向远离工作空间底部方向移动偏移距离所在的位置作为第二位置。
步骤10265,将第一位置和第二位置形成的区域作为支撑区域,根据支撑区域得到支撑区域的各层切片。
在一个例子中,偏移距离可以根据实际需要进行设定,各悬空面对应的偏移距离可以相同,例如:偏移距离可以预先设定为5mm,各悬空面对应的偏移距离可以不同,例如:与工作空间底部的距离小于预设高度的悬空面对应的偏移距离可以预先设定为5mm,与工作空间底部的距离小于预设高度的悬空面对应的偏移距离可以预先设定为8mm。
在一个例子中,偏移距离通过以下方式获取得到:根据当前遍历到的悬空面所在的悬空区域的厚度,确定偏移距离。具体地说,可以预先建立悬空区域的厚度和偏移距离的对应关系,根据对应关系确认偏移距离,也可以预先建立悬空区域的厚度和偏移距离的函数关系,根据函数关系计算偏移距离;可以理解的是,悬空区域的厚度越大,偏移距离越大;另外,当前遍历到的悬空面所在的悬空区域的厚度在上文中进行了介绍,在此不再赘述。由于最终生成的支撑区域是需要支撑悬空面所在的悬空区域的,所以根据悬空区域的高度确定的偏移距离较合理,进一步降低打印无支撑位置出现下沉的概率。
当悬空区域的厚度小于偏移距离时,将目标切片所在的位置作为第一位置,且将目标切片向远离工作空间底部方向即向上移动偏移距离作为第二位置,将第一位置和第二位置形成的区域作为支撑区域,此时支撑区域的厚度大于悬空区域的厚度,高于悬空区域部分的支撑区域是无用的,造成材料的浪费,所以当悬空区域的厚度小于偏移距离时,将目标切片所在的位置作为第一位置,且将目标切片向远离工作底部方向移动悬空区域的高度所在的位置作为第二位置,将第一位置和第二位置形成的区域作为支撑区域,根据支撑区域和切片的厚度可以得到支撑区域的各层切片,此时支撑区域的厚度和悬空区域的厚度是一样的,如图11所示,为包括悬空面b和悬空面c对应的支撑区域的待打印模型的正视图,悬空面b所在的悬空区域C的厚度h2小于偏移距离,则悬空面b对应的支撑区域为图中位于上方的阴影区域。当悬空区域的厚度不小于偏移距离时,将目标切片所在的位置作为第一位置,且将目标切片向远离工作方向底部即向上移动偏移距离,将第一位置和第二位置形成的区域作为支撑区域,此时支撑区域的厚度小于悬空区域的厚度,在得到支撑区域之后,根据支撑区域和切片的厚度可以得到支撑区域的各层切片,如图11所示,悬空面c所在的悬空区域D的厚度h1不小于偏移距离,则悬空面c对应的支撑区域为图中位于下方的阴影区域。通过这样的方法,可以使第二位置更加的合理,且此时可以将待打印模型本身的一部分作为支撑区域,这样可以提高模型的光滑度,且进一步的降低支撑所耗用的材料和进一步提高打印速度。
在一个例子中,根据目标切片和偏移距离,得到支撑区域的各层切片的流程图如图12所示,包括:
步骤10266,将目标切片所在的位置作为第一位置,且将目标切片向靠近工作空间底部方向移动偏移距离所在的位置作为第二位置。
步骤10267,将第一位置和第二位置形成的区域作为支撑区域,根据支撑区域得到支撑区域的各层切片。
在一个例子中,偏移距离可以根据实际需要进行设定,各悬空面对应的偏移距离可以相同,例如:偏移距离可以预先设定为5mm,各悬空面对应的偏移距离可以不同,例如:与工作空间底部的距离小于预设高度的悬空面对应的偏移距离可以预先设定为5mm,与工作空间底部的距离小于预设高度的悬空面对应的偏移距离可以预先设定为8mm。
在一个例子中,偏移距离通过以下方式获取得到:根据当前遍历到的悬空面所在的悬空区域的厚度,确定偏移距离。
将目标切片所在的位置作为第一位置,将目标切片向靠近工作空间底部方向即向下移动偏移距离所在的位置作为第二位置,将第一位置和第二位置形成的区域作为支撑区域,在得到支撑区域之后,根据支撑区域和切片的厚度可以得到支撑区域的各层切片,如图13所示,为包括悬空面b和悬空面c对应的支撑区域的待打印模型的正视图,悬空面b对应的支撑区域为图中位于上方的阴影区域,悬空面c对应的支撑区域为图中位于下方的阴影区域。通过这样的方法,利用待打印模型之外的支撑区域去支撑悬空面,支撑区域和待打印模型之间的交集较少,在生成打印文件时不需要对支撑区域的打印路径和待打印模型的各层切片进行较多的合并计算,使得后续生成打印文件时的速度的较快。
在一个例子中,根据目标切片和偏移距离,得到支撑区域的各层切片,包括:将目标切片所在的位置作为第一位置,且将目标切片向远离工作空间底部方向移动偏移距离所在的位置作为第二位置;将第一位置和第二位置形成的区域作为支撑区域,根据支撑区域得到支撑区域的各层切片。
步骤1027,根据支撑区域的各层切片和分别与各层切片处于相同高度的未悬空面的轮廓的交点,和支撑区域的各层切片,确认当前遍历到的悬空面对应的支撑区域的打印路径。
在一个例子中,根据支撑区域的各层切片和分别与各层切片处于相同高度的未悬空面的轮廓的交点,和支撑区域的各层切片,确认当前遍历到的悬空面对应的支撑区域的打印路径的流程图如图14所示,包括:
步骤10271,获取目标切片和与目标切片处于相同高度的未悬空面的轮廓的交点,并判断目标切片上的点中是否包括目标点,其中,目标点的纵坐标不属于目标切片和与目标切片处于相同高度的未悬空面的轮廓的交点的纵坐标的子集,和/或,目标点的横坐标不属于目标切片和与目标切片处于相同高度的未悬空面的轮廓的交点的横坐标的子集。若是,先进入步骤10272,再进入步骤10273,若否,进入步骤10274。
具体地说,由于工作空间包括X轴方向、Y轴方向和Z轴方向,所以位于工作空间上的待打印模型和支撑区域上的点的坐标均可以确定出来,则可以得到目标切片上的点的坐标,与目标切片处于相同高度的未悬空面的轮廓上点的坐标,相同坐标的点为目标切片和与目标切片处于相同高度的未悬空面的轮廓的交点,若目标点的纵坐标不属于目标切片和与目标切片处于相同高度的未悬空面的轮廓的交点的纵坐标的子集,和/或,目标点的横坐标不属于目标切片和与目标切片处于相同高度的未悬空面的轮廓的交点的横坐标的子集,则目标切片上的点中包括目标点。
步骤10272,根据目标切片和与目标切片处于相同高度的未悬空面的轮廓的交点,将目标切片划分为第一支撑区域和第二支撑区域,根据目标切片的第一支撑区域和第二支撑区域得到支撑区域的各层切片的第一支撑区域和第二支撑区域;其中,目标切片的第二支撑区域包括目标点。
步骤10273,对于支撑区域的各层切片,设定以支撑区域的切片的第一支撑区域和与支撑区域的切片处于相同高度的未悬空面的轮廓的交点为支撑区域的切片的第一支撑区域的打印起始点,打印支撑区域的切片的第一支撑区域,再以支撑区域的切片的第一支撑区域、与支撑区域的切片处于相同高度的未悬空面的轮廓和支撑区域的切片的第二支撑区域的交点为支撑区域的切片的第二支撑区域的打印起始点打印支撑区域的切片的第二支撑区域,得到当前遍历到的悬空面对应的支撑区域的打印路径。
具体地说,以图2和图3中的悬空面a为例进行说明,如图15所示,为悬空面a的俯视图,此时悬空面a为目标切片,获取到目标切片a和与目标切片a处于相同高度的未悬空面的轮廓的交点为边mh和边gf上的点,由于目标切片a上的epho形成的区域上的点的纵坐标不属于边mh和边gf上的点的纵坐标的子集,且目标切片a上的epho形成的区域上的点的横坐标坐标不属于边mh和边gf上的点的横坐标的子集,则目标切片a上的点中包括目标点。
根据目标切片a和与目标切片a处于相同高度的未悬空面的轮廓的交点即边mh和边gf上的点,将目标切片a划分为第一支撑区域和第二支撑区域,其中,目标切片a的第二支撑区域包括目标点,如图16所示,为一种划分第一支撑区域和第二支撑区域的目标切片的示意图,其中,阴影部分为第一支撑区域,如图17所示,为另一种划分第一支撑区域和第二支撑区域的目标切片的示意图,其中,阴影部分为第一支撑区域。
在得到目标切片a的第一支撑区域和第二支撑区域之后,可以得到第一支撑区域和第二支撑区域的分割线,从分割线对支撑区域进行切割,可以得到支撑区域的各层切片的第一支撑区域和第二支撑区域。对于支撑区域的各层切片,以支撑区域的切片a为例进行说明,如图16所示,获取切片a的第一支撑区域和与切片a处于相同高度的未悬空面的轮廓的交点为边mh上的点,选取边mh上的任意一个点为切片a的第一支撑区域的打印起始点,打印切片a的第一支撑区域,再打印完切片a的第一支撑区域之后,获取切片a的第一支撑区域、与切片a处于相同高度的未悬空面的轮廓和支撑区域的切片的第二支撑区域的交点即边og上的点,选取边og上的任意一个点为切片a的第二支撑区域的打印起始点,打印切片a的第二支撑区域,按照上述进行设定,可以得到切片a的打印路径,对当前遍历到的悬空面对应的支撑区域的各层切片均按照上述进行设定,可以得到当前遍历到的悬空面对应的支撑区域的打印路径。
步骤10274,对于支撑区域的各层切片,设定以支撑区域的切片和与支撑区域的切片处于相同高度的未悬空面的轮廓的交点为打印起始点,打印支撑区域的切片,得到当前遍历到的悬空面对应的支撑区域的打印路径。
具体地说,以图2和图3中的悬空面b为例进行说明,如图18所示,为悬空面b的俯视图,此时悬空面b为目标切片,获取目标切片b和与目标切片b处于相同高度的未悬空面的轮廓的交点为边sx上的点,此时目标切片b形成的区域sxyt上的点的纵坐标属于边sx上的点的纵坐标的子集,目标切片b形成的区域sxyt上的点的横坐标属于边sx上的点的横坐标的子集,则目标切片b上的点不包括目标点。
对于支撑区域的各层切片,如图18所示,获取切片b和与切片b处于处于相同高度的未悬空面的轮廓的交点为边sx上的点,选取边sx上的任意一个点为切片b的打印起始点,打印切片b,按照上述进行设定,可以得到切片b的打印路径,对当前遍历到的悬空面对应的支撑区域的各层切片均按照上述进行设定,可以得到当前遍历到的悬空面对应的支撑区域的打印路径。
通过这样的方法,使第一支撑区域的打印起始点和第二支撑区域的打印起始点均是合理的着力点,从合理的着力点生成的打印路径较合理,进一步降低了支撑区域出现下沉的概率。
步骤1028,是否遍历完各悬空面。若是,进入步骤10210,若否,先进入步骤1029,再进入步骤1022。
步骤1029,遍历下一个悬空面。
步骤10210,得到各悬空面对应的支撑区域的打印路径。
当遍历完各悬空面时,可以得到各悬空面对应的支撑区域,如图19和20所示,图19为包括各悬空面对应的支撑区域的待打印模型的正视图,图20为图19中V处的放大图,图中的阴影区域为支撑区域,可以理解的是,各悬空面对应的偏移距离相同;如图21和图22所示,为包括各悬空面对应的支撑区域的待打印模型的正视图,图22为图21中l处的放大图,图中的阴影区域为支撑区域,可以理解的是,各悬空面对应的偏移距离不同。
通过这样的方法,得到的支撑区域的打印路径较简单,可以较快的生成打印文件。
步骤103,根据设定好打印速度的支撑区域的打印路径和待打印模型的各层切片,生成打印文件。
具体地说,待打印模型的各层切片是需要对待打印模型进行水平分层切片得到的,此时可以知道待打印模型的各层切片的gcode指令;由于设定好打印速度的支撑区域上的点和待打印模型的各层切片上的点可能存在交集,所以对于交集中的点,保留支撑区域上的点,即将各层切片的gcode指令中交集中的点的指令去除,将设定好打印速度的支撑区域的打印路径加入到待打印模型的各层切片的gcode指令中,即可得到打印文件。
在一个例子中,待打印模型的各层切片的打印速度大于支撑区域的打印速度。由于在进行打印时,待打印模型均是存在支撑的,在打印待打印模型时并不要求连续冷却成型,所以待打印模型的打印速度可以大于支撑区域的打印速度,这样可以进一步提高打印速度。
在一个例子中,待打印模型的各层切片的打印速度等于支撑区域的打印速度。
本实施例中,获取待打印模型中的各悬空面;根据各悬空面确认对应的支撑区域的打印路径,并设定支撑区域的打印速度,以使支撑区域在打印速度下沿打印路径打印时连续冷却成型;其中,支撑区域处于悬空状态且用于使对应的悬空面在打印时不下沉;根据设定好打印速度的支撑区域的打印路径和待打印模型的各层切片,生成打印文件。由于支撑区域在设定好的打印速度下打印时会连续冷却成型,即降低了支撑区域出现下沉的概率,从而降低了支撑区域支撑的对应的悬空面出现下沉的概率,且由于支撑区域是处于悬空状态的,相较于向工作空间或位于需要添加支撑的位置点的下方的模型上的位置生成垂直的支撑,降低了支撑的体积,从而降低了支撑所耗用的材料且提高了打印速度。
本申请第二实施例涉及一种3D打印文件的生成装置,打印文件的生成装置的结构示意图如图23所示,包括:
获取模块201,用于获取待打印模型中的各悬空面。
速度设定模块202,用于根据各悬空面确认对应的支撑区域的打印路径,并设定支撑区域的打印速度,以使支撑区域在支撑区域的打印速度下沿打印路径打印时连续冷却成型;其中,支撑区域处于悬空状态且用于使对应的悬空面在打印时不下沉。
生成模块203,用于根据设定好支撑区域的打印速度的支撑区域的打印路径和待打印模型的各层切片,生成打印文件。
在一个例子中,所述根据各所述悬空面确认对应的支撑区域的打印路径,包括:遍历各所述悬空面,获取与当前遍历到的悬空面处于相同高度的未悬空面;判断所述当前遍历到的悬空面和与所述当前遍历到的悬空面处于相同高度的未悬空面之间是否存在交点,若是,根据所述当前遍历到的悬空面,确认所述当前遍历到的悬空面对应的支撑区域中与所述当前遍历到的悬空面接触的目标切片,若否,根根据所述当前遍历到的悬空面确认支撑子区域,且将所述当前遍历到的悬空面和与所述当前遍历到的悬空面处于相同层数的未悬空面进行连接得到连接子区域,根据所述支撑子区域和所述连接子区域,确认所述当前遍历到的悬空面对应的支撑区域中与所述当前遍历到的悬空面接触的目标切片;根据所述目标切片和偏移距离,得到所述支撑区域的各层切片;根据所述支撑区域的各层切片和分别与各层切片处于相同高度的未悬空面的轮廓的交点,和所述支撑区域的各层切片,确认所述当前遍历到的悬空面对应的支撑区域的打印路径。
在一个例子中,所述根据所述支撑区域的各层切片和分别与各层切片处于相同高度的未悬空面的轮廓的交点,和所述支撑区域的各层切片,确认所述当前遍历到的悬空面对应的支撑区域的打印路径,包括:获取所述目标切片和与所述目标切片处于相同高度的未悬空面的轮廓的交点,并判断所述目标切片上的点中是否包括目标点,其中,所述目标点的纵坐标不属于所述目标切片和与所述目标切片处于相同高度的未悬空面的轮廓的交点的纵坐标的子集,和/或,所述目标点的横坐标不属于所述目标切片和与所述目标切片处于相同高度的未悬空面的轮廓的交点的横坐标的子集;若是,根据所述目标切片和与所述目标切片处于相同高度的未悬空面的轮廓的交点,将所述目标切片划分为第一支撑区域和第二支撑区域,根据所述目标切片的第一支撑区域和第二支撑区域得到所述支撑区域的各层切片的第一支撑区域和第二支撑区域;其中,所述目标切片的第二支撑区域包括所述目标点;对于所述支撑区域的各层切片,设定以所述支撑区域的切片的第一支撑区域和与所述支撑区域的切片处于相同高度的未悬空面的轮廓的交点为所述支撑区域的切片的第一支撑区域的打印起始点,打印所述支撑区域的切片的第一支撑区域,再以所述支撑区域的切片的第一支撑区域、与所述支撑区域的切片处于相同高度的未悬空面的轮廓和所述支撑区域的切片的第二支撑区域的交点为所述支撑区域的切片的第二支撑区域的打印起始点打印所述支撑区域的切片的第二支撑区域,得到所述当前遍历到的悬空面对应的支撑区域的打印路径。
在一个例子中,所述根据所述目标切片和偏移距离,得到所述支撑区域的各层切片,包括:确认所述当前遍历到的悬空面所在的悬空区域的厚度;其中,所述悬空区域是指与所述当前遍历到的悬空面的投影重合且距离工作空间底部最远的面和所述当前遍历到的悬空面之间所形成的区域;判断所述悬空区域的厚度是否小于所述偏移距离,若是,将所述目标切片所在的位置作为第一位置,且将所述目标切片向远离所述工作空间底部方向移动所述悬空区域的厚度所在的位置作为第二位置,若否,将所述目标切片所在的位置作为第一位置,且将所述目标切片向远离所述工作空间底部方向移动所述偏移距离所在的位置作为第二位置;将所述第一位置和所述第二位置形成的区域作为支撑区域,根据所述支撑区域得到所述支撑区域的各层切片。
在一个例子中,所述根据所述目标切片和偏移距离,得到所述支撑区域的各层切片,包括:将所述目标切片所在的位置作为第一位置,且将所述目标切片向靠近工作空间底部方向移动所述偏移距离所在的位置作为第二位置;将所述第一位置和所述第二位置形成的区域作为支撑区域,根据所述支撑区域得到所述支撑区域的各层切片。
在一个例子中,所述获取待打印模型中的各悬空面,包括:对待打印模型进行分层切片,得到各层切片;对第n层切片的投影和第(n+1)层切片的投影进行异或运算;其中,n为正整数;若运算结果为所述第(n+1)层切片的投影大于所述第n层切片的投影,根据所述第(n+1)层切片的投影和所述第n层切片的投影的差值,获取待打印模型的各悬空面。
在一个例子中,所述偏移距离通过以下方式获取得到:根据所述当前遍历到的悬空面所在的悬空区域的厚度,确定偏移距离。
在一个例子中,所述待打印模型的各层切片的打印速度大于所述支撑区域的打印速度。
在一个例子中,所述打印速度通过以下方式确认:根据打印耗材的凝固点,确认支撑区域的打印速度。
关于装置的具体限定可以参见上文中对于方法的限定,在此不再赘述。上述装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请第三实施例提供了一种计算机设备,该计算机设备可以是终端,如:电脑、手机等,其内部结构图可以如图24所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种3D打印文件的生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图24中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个例子中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
本申请第四实施例提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个例子中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种3D打印文件的生成方法,其特征在于,包括:
获取待打印模型中的各悬空面;
根据各所述悬空面确认对应的支撑区域的打印路径,并根据打印耗材的凝固点设定所述支撑区域的打印速度,以使所述支撑区域在所述支撑区域的打印速度下沿所述打印路径打印时连续冷却成型;其中,所述支撑区域处于悬空状态且用于使对应的悬空面在打印时不下沉;
根据设定好所述支撑区域的打印速度的支撑区域的打印路径和待打印模型的各层切片,生成打印文件;
其中,所述根据各所述悬空面确认对应的支撑区域的打印路径,包括:
遍历各所述悬空面,获取与当前遍历到的悬空面处于相同高度的未悬空面;
判断所述当前遍历到的悬空面和与所述当前遍历到的悬空面处于相同高度的未悬空面之间是否存在交点,若是,根据所述当前遍历到的悬空面,确认所述当前遍历到的悬空面对应的支撑区域中与所述当前遍历到的悬空面接触的目标切片,若否,根据所述当前遍历到的悬空面确认支撑子区域,且将所述当前遍历到的悬空面和与所述当前遍历到的悬空面处于相同层数的未悬空面进行连接得到连接子区域,根据所述支撑子区域和所述连接子区域,确认所述当前遍历到的悬空面对应的支撑区域中与所述当前遍历到的悬空面接触的目标切片;
根据所述目标切片和偏移距离,得到所述支撑区域的各层切片;
根据所述支撑区域的各层切片和分别与各层切片处于相同高度的未悬空面的轮廓的交点,和所述支撑区域的各层切片,确认所述当前遍历到的悬空面对应的支撑区域的打印路径。
2.根据权利要求1所述的3D打印文件的生成方法,其特征在于,所述根据所述支撑区域的各层切片和分别与各层切片处于相同高度的未悬空面的轮廓的交点,和所述支撑区域的各层切片,确认所述当前遍历到的悬空面对应的支撑区域的打印路径,包括:
获取所述目标切片和与所述目标切片处于相同高度的未悬空面的轮廓的交点,并判断所述目标切片上的点中是否包括目标点,其中,所述目标点的纵坐标不属于所述目标切片和与所述目标切片处于相同高度的未悬空面的轮廓的交点的纵坐标的子集,和/或,所述目标点的横坐标不属于所述目标切片和与所述目标切片处于相同高度的未悬空面的轮廓的交点的横坐标的子集;
若是,根据所述目标切片和与所述目标切片处于相同高度的未悬空面的轮廓的交点,将所述目标切片划分为第一支撑区域和第二支撑区域,根据所述目标切片的第一支撑区域和第二支撑区域得到所述支撑区域的各层切片的第一支撑区域和第二支撑区域;其中,所述目标切片的第二支撑区域包括所述目标点;
对于所述支撑区域的各层切片,设定以所述支撑区域的切片的第一支撑区域和与所述支撑区域的切片处于相同高度的未悬空面的轮廓的交点为所述支撑区域的切片的第一支撑区域的打印起始点,打印所述支撑区域的切片的第一支撑区域,再以所述支撑区域的切片的第一支撑区域、与所述支撑区域的切片处于相同高度的未悬空面的轮廓和所述支撑区域的切片的第二支撑区域的交点为所述支撑区域的切片的第二支撑区域的打印起始点打印所述支撑区域的切片的第二支撑区域,得到所述当前遍历到的悬空面对应的支撑区域的打印路径。
3.根据权利要求1所述的3D打印文件的生成方法,其特征在于,所述根据所述目标切片和偏移距离,得到所述支撑区域的各层切片,包括:
确认所述当前遍历到的悬空面所在的悬空区域的厚度;其中,所述悬空区域是指与所述当前遍历到的悬空面的投影重合且距离工作空间底部最远的面和所述当前遍历到的悬空面之间的区域;
判断所述悬空区域的厚度是否小于所述偏移距离,若是,将所述目标切片所在的位置作为第一位置,且将所述目标切片向远离所述工作空间底部方向移动所述悬空区域的厚度所在的位置作为第二位置,若否,将所述目标切片所在的位置作为第一位置,且将所述目标切片向远离所述工作空间底部方向移动所述偏移距离所在的位置作为第二位置;
将所述第一位置和所述第二位置形成的区域作为支撑区域,根据所述支撑区域得到所述支撑区域的各层切片。
4.根据权利要求1所述的3D打印文件的生成方法,其特征在于,所述根据所述目标切片和偏移距离,得到所述支撑区域的各层切片,包括:
将所述目标切片所在的位置作为第一位置,且将所述目标切片向靠近工作空间底部方向移动所述偏移距离所在的位置作为第二位置;
将所述第一位置和所述第二位置形成的区域作为支撑区域,根据所述支撑区域得到所述支撑区域的各层切片。
5.根据权利要求1所述的3D打印文件的生成方法,其特征在于,所述获取待打印模型中的各悬空面,包括:
对待打印模型进行分层切片,得到各层切片;
对第n层切片的投影和第(n+1)层切片的投影进行异或运算;其中,n为所述待打印模型的切片所在的层数,n为正整数;
若运算结果为所述第(n+1)层切片的投影大于所述第n层切片的投影,根据所述第(n+1)层切片的投影和所述第n层切片的投影的差值,获取待打印模型的各悬空面。
6.根据权利要求1所述的3D打印文件的生成方法,其特征在于,所述偏移距离通过以下方式获取得到:
根据所述当前遍历到的悬空面所在的悬空区域的厚度,确定偏移距离。
7.根据权利要求1所述的3D打印文件的生成方法,其特征在于,所述待打印模型的各层切片的打印速度大于所述支撑区域的打印速度。
8.一种3D打印文件的生成装置,其特征在于,包括:
获取模块,用于获取待打印模型中的各悬空面;
速度设定模块,用于根据各所述悬空面确认对应的支撑区域的打印路径,并根据打印耗材的凝固点设定所述支撑区域的打印速度,以使所述支撑区域在所述支撑区域的打印速度下沿所述打印路径打印时连续冷却成型;其中,所述支撑区域处于悬空状态且用于使对应的悬空面在打印时不下沉;
生成模块,用于根据设定好所述支撑区域的打印速度的支撑区域的打印路径和所述待打印模型的各层切片,生成打印文件;
其中,所述根据各所述悬空面确认对应的支撑区域的打印路径,包括:
遍历各所述悬空面,获取与当前遍历到的悬空面处于相同高度的未悬空面;
判断所述当前遍历到的悬空面和与所述当前遍历到的悬空面处于相同高度的未悬空面之间是否存在交点,若是,根据所述当前遍历到的悬空面,确认所述当前遍历到的悬空面对应的支撑区域中与所述当前遍历到的悬空面接触的目标切片,若否,根据所述当前遍历到的悬空面确认支撑子区域,且将所述当前遍历到的悬空面和与所述当前遍历到的悬空面处于相同层数的未悬空面进行连接得到连接子区域,根据所述支撑子区域和所述连接子区域,确认所述当前遍历到的悬空面对应的支撑区域中与所述当前遍历到的悬空面接触的目标切片;
根据所述目标切片和偏移距离,得到所述支撑区域的各层切片;
根据所述支撑区域的各层切片和分别与各层切片处于相同高度的未悬空面的轮廓的交点,和所述支撑区域的各层切片,确认所述当前遍历到的悬空面对应的支撑区域的打印路径。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现根据权利要求1至7中任一所述的3D打印文件的生成方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的3D打印文件的生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110861434.0A CN113580577B (zh) | 2021-07-29 | 2021-07-29 | 3d打印文件生成方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110861434.0A CN113580577B (zh) | 2021-07-29 | 2021-07-29 | 3d打印文件生成方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113580577A CN113580577A (zh) | 2021-11-02 |
CN113580577B true CN113580577B (zh) | 2024-03-15 |
Family
ID=78251499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110861434.0A Active CN113580577B (zh) | 2021-07-29 | 2021-07-29 | 3d打印文件生成方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113580577B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114559660B (zh) * | 2022-03-01 | 2023-06-30 | 深圳市创想三维科技股份有限公司 | 模型支撑点设置方法、装置、电子设备及可读存储介质 |
CN114986650B (zh) * | 2022-05-23 | 2023-10-13 | 东莞中科云计算研究院 | 3d打印随形支撑生成方法、装置及随形支撑结构 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4999143A (en) * | 1988-04-18 | 1991-03-12 | 3D Systems, Inc. | Methods and apparatus for production of three-dimensional objects by stereolithography |
CN105904729A (zh) * | 2016-04-22 | 2016-08-31 | 浙江大学 | 一种基于倾斜分层的无支撑三维打印方法 |
CN108422669A (zh) * | 2018-02-06 | 2018-08-21 | 中国人民解放军海军工程大学 | 一种基于3d打印过程规划的支撑打印方法 |
WO2018233866A1 (de) * | 2017-06-20 | 2018-12-27 | Amsis Gmbh | Verfahren zur additiven fertigung von mindestens einem bauteil, stützstruktur oder element einer stützstruktur, bauteil mit derselben/demselben und anlage zur durchführung eines derartigen verfahrens |
CN109774116A (zh) * | 2017-11-14 | 2019-05-21 | 上海微电子装备(集团)股份有限公司 | 一种3d打印装置和打印方法 |
CN112936870A (zh) * | 2021-02-01 | 2021-06-11 | 深圳市创想三维科技有限公司 | 3d打印方法及支撑结构、装置、设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10775770B2 (en) * | 2017-06-22 | 2020-09-15 | Autodesk, Inc. | Building and attaching support structures for 3D printing |
-
2021
- 2021-07-29 CN CN202110861434.0A patent/CN113580577B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4999143A (en) * | 1988-04-18 | 1991-03-12 | 3D Systems, Inc. | Methods and apparatus for production of three-dimensional objects by stereolithography |
CN105904729A (zh) * | 2016-04-22 | 2016-08-31 | 浙江大学 | 一种基于倾斜分层的无支撑三维打印方法 |
WO2018233866A1 (de) * | 2017-06-20 | 2018-12-27 | Amsis Gmbh | Verfahren zur additiven fertigung von mindestens einem bauteil, stützstruktur oder element einer stützstruktur, bauteil mit derselben/demselben und anlage zur durchführung eines derartigen verfahrens |
CN109774116A (zh) * | 2017-11-14 | 2019-05-21 | 上海微电子装备(集团)股份有限公司 | 一种3d打印装置和打印方法 |
CN108422669A (zh) * | 2018-02-06 | 2018-08-21 | 中国人民解放军海军工程大学 | 一种基于3d打印过程规划的支撑打印方法 |
CN112936870A (zh) * | 2021-02-01 | 2021-06-11 | 深圳市创想三维科技有限公司 | 3d打印方法及支撑结构、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113580577A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113580577B (zh) | 3d打印文件生成方法、装置、计算机设备和存储介质 | |
US9434109B2 (en) | Three-dimensional printing method | |
CN109408001B (zh) | 多模型的3d打印方法、装置、3d打印设备和存储介质 | |
US20190134914A1 (en) | Compensating for shrinking of objects in 3d printing | |
CN109226759A (zh) | 铺粉式激光3d打印的扫描路径设置方法、装置及控制设备 | |
CN105339173A (zh) | 修改对象的基层 | |
CN109727312A (zh) | 点云标注方法、装置、计算机设备和存储介质 | |
US20170337748A1 (en) | Three-dimensional data generation device, three-dimensional shaping device, and non-transitory computer readable medium | |
US20190018908A1 (en) | Information processing apparatus, medium, information processing method, and modeling system | |
CN110918988B (zh) | 一种激光扫描路径规划方法及增材制造方法 | |
CN108790180B (zh) | 多振镜扫描控制方法、装置、计算机设备和存储介质 | |
JP2021501071A (ja) | 構造体積取得方法及び装置、非一時的なコンピュータ可読記憶媒体並びにプリンタ | |
CN114013045B (zh) | 3d打印文件的生成方法、装置、计算机设备及存储介质 | |
CN113591300B (zh) | 3d打印文件的生成方法、装置、计算机设备和存储介质 | |
CN113752561B (zh) | 3d打印文件的生成方法、装置、计算机设备和存储介质 | |
CN104890233A (zh) | 立体打印装置及其打印头控制方法 | |
CN113386356A (zh) | 打印起始点的确定方法、装置、计算机设备和存储介质 | |
CN114789555A (zh) | 用于3d打印机的方法、装置、3d打印机和存储介质 | |
US11941758B2 (en) | Processing merged 3D geometric information | |
CN109079136B (zh) | 一种3d打印方法 | |
KR101778721B1 (ko) | 3d 프린터의 인쇄 헤드 사용량 조절 방법 및 제어 장치 | |
CN104608391A (zh) | 一种确定立体列印机的列印方向的方法及系统 | |
CN110524883B (zh) | 基于双激光器的扫描路径规划方法、装置以及三维物体制造设备 | |
WO2023098490A1 (zh) | 3d打印文件的生成方法、装置、终端和存储介质 | |
WO2023193808A1 (zh) | 用于3d打印的方法、装置、设备、存储介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |