尽可能连续的基于挤压的表面模型制造

🦌🦌🦌宝子们好,今天我们来看一个关于外壳打印的路径优化问题。同样的,红色的是术语、橙色的是方法、绿色的是算法过程,这次多加了紫色,是文章的创新点或目标等。废话不多说,上论文 ~ ( •̀ ω •́ )✧

🦌🦌🦌读论文

我们的框架显著提高了制造效率和打印的表面质量,具有尽可能连续的打印工具路径。我们还提出了一种几何准则OPP,将输入表面分解为具有平坦和弯曲无碰撞路径的最小数量的连续打印块。与由Ultimaker Cura软件生成的只有平面切片层的832个断开的打印工具路径(左)相比(不同的颜色表示不同的连接路径,红线表示转移移动),我们的框架产生了四个连续的沉积路径以及平面和弯曲的切片层,以确保更高的打印质量(右)和高效的制造过程(34.3分钟对17.7分钟)。

🐨🐨摘要

本文提出了一个计算框架,用于优化3D打印机上表面模型的连续性。提出了一种名为One-Path Patch(OPP)的几何准则,用于将输入表面分解为最少数量的连续打印补丁,并生成尽可能连续的打印路径。与Ultimaker Cura软件生成的832个不连续打印路径相比,我们的框架能够产生四个连续的打印路径,显著提高了打印质量和打印效率。

🐨🐨1 引言

表面或壳体模型在结构设计中广泛使用,因为它们在表示结构形状时效率很高,并且具有较小的重量和适当的热导率等理想功能。在现代增材制造(AM)的背景下,与实体形式相比,壳体在材料消耗和制造时间方面更具成本效益。

左:Hergel等人[2019]生成的严格连续路径。我们通过将原始表面稍微加厚为具有有效体积的模型,将这种方法定制为表面模型。然而,冗余的非模型结构仍然需要用来连接模型的独立组件(见顶视图)。右图:由于使用了弯曲层,我们的工具路径是完全连续的,不需要额外的路径

我们的目标是为曲面模型开发一种尽可能连续(ACAP)的刀具路径,使转移移动的数量最小化。关键思想是我们提出的一个单路径贴片(OPP)准则来表示一个表面贴片,该表面贴片可以在平坦层和弯曲层的组合上连续的刀具路径上打印。提出了一种自下而上的OPP合并算法,将给定的壳体模型分解为最小数量的OPP,从而生成ACAP刀具路径。本文对文献做出了以下贡献:

  • 我们引入了OPP,这是一种原始的制造感知标准约束,用于表示在基于平面层和弯曲层的打印方案中可以沿着一条路径打印的外壳表面斑块。

  • 我们提出了一种将给定壳体表面分解为最小数量的OPP并生成ACAP无碰撞刀具路径的算法。

  • 我们将我们的技术作为在三轴挤压打印平台上以ACAP方式打印外壳模型的通用计算框架。

🐨🐨2 相关工作

🐼切片和路径规划

在AM中,切片器用于将模型转换为工具路径。目前可用的切片算法使用几何操作将模型划分为一堆平面层

🐼弯曲层打印

与传统的平面层相比,弯曲层在单个层内包含动态的z值,并且在AM中具有优异的特性。它们包括减轻楼梯缺陷、提高表面光滑度、加强打印模型和减少打印时间。提出的第一种打印弯曲层的方法被称为弯曲层熔融沉积建模(CLFDM) [Chakraborty et al. 2008]。行业标准的切片软件Ultimaker Cura [Ultimaker 2021]也涉及在表面模型中打印弯曲层,而不是实体模型,以产生螺旋状的网格外轮廓,这在花瓶或圆柱体等简单形状上效果很好。Ezair等人[2018]提出了一种算法,该算法根据给定体积的几何特征生成覆盖曲线。Etienne等人[2019]使用了一种不同的方法,优化参数化以获得表面光滑的顶部。由此产生的工具路径被映射回初始域,而不需要拆分或重新排序。我们将这种方法应用于合并弯曲opp的方法中。研究人员最近将基于弯曲层的打印应用于多轴打印机。Dai等人[2018],Li等人[2021],Xu等人[2019]通过使用额外的dof以无支撑的方式制造实体模型,设计了弯曲的刀具路径。Chen等人[2019a]提出了一种允许变厚度层的CLFDM切片算法。Fang等人[2020]引入了一种基于场的优化框架来生成弯曲层以增强3d打印模型。在本文中,我们主要关注三轴打印机平台。

🐼薄壳制造

制造薄壳正在引起越来越多的关注,因为它比封闭模型缩短了制造时间。轻质壳体模型因此被广泛应用。在制造粘性浆料材料时,如粘土和混凝土,这种优势进一步增强,挤压量大,沉积率高。由于转移移动引起的伪影,材料沉积的连续性对壳模型至关重要。大多数研究都使用多轴平台并结合弯曲层来打印外壳。Mitropoulou等人[2020]提出了一种用于单壳表面机器人FDM打印的非平面分层路径设计方法。Bhatt等[2020]提出了在三自由度构建平台和三自由度挤压工具上构建壳体薄件的分层切片和刀路规划算法。混凝土外壳的打印引起了数字制造和建筑跨学科领域的研究兴趣。Burger等人[2020]使用单壳作为混凝土浇筑的模具,Anton等人[2019]提出了一种设计工具,用于生产使用弯曲层进行连续挤压的定制混凝土柱。Bhooshan等人[2020]也强调了用于工具路径生成的交互式壳体建模和集成建模。

🐼制造分解

许多研究集中在制造模型分解上。模型分解的目标包括满足约束的制造模型、提高表面质量、减少支撑结构的数量或完全避免它们,以及减少打印时间。

🐼陶瓷打印

陶瓷材料近年来在AM中引起了兴趣。它们可以减少传统陶瓷行业中生产几何复杂形状所需的流程和资源数量,从而为建筑装饰和艺术提供新的想法和应用。

🐨🐨3 概述

给定一个满足支撑结构约束的薄壳模型M我们的算法旨在实现最大路径连续性,即通过将M分解为最少数量的表面补丁来实现连续打印。为了叙述方便,我们将可打印的表面贴片定义为可以通过使用单个路径打印的贴片。

对于PC-MPC问题,这里的关键思想是应用一个过度分割,然后是一个自下而上的合并过程。我们首先通过使用均匀分布的平面刨床对M进行切片(第4.1节)。每个切片的元素可以被认为是单个可打印的表面贴片。通过使用一组短连接路径,可以将来自相互相邻的切片元件的多条打印路径连接成一条路径。这意味着我们可以通过合并小的初始补丁来减少可打印补丁的数量(第4.2节)。我们还观察到,弯曲的切片层可以在为平面层的多个单独的可打印表面斑块生成连续打印路径方面非常有效。通过将尽可能多的平面层替换为弯曲的切片层,可以进一步减少可打印斑块的数量(第4.3节)。

合并准则是自下而上合并和替换弯曲层过程的主要挑战我们需要制定“亚表面补丁”,这些补丁可以合并成单个可打印的补丁,也可以被弯曲层替换。我们引入OPP作为合并准则(第3.2节)。在最后一步,我们规划每个OPP的路径,然后对其进行后优化处理,以提高其平滑度和间距(第4.4节)。请注意,我们通过考虑喷嘴的大小来避免打印机和打印层之间潜在的全局碰撞(第5节),我们算法的流水线如下图所示:

ACAP算法概述:给定表面模型和可行方向,我们沿Z轴水平切片,并用图(a)表示依赖关系,其中每个节点表示分段或轮廓,每个边表示节点之间的依赖关系。对输入模型进行初始分解,每个分解的贴片都可以连续打印。它们的依赖关系如(b)所示。在此之后,我们将小补丁合并为更大的、单个的、可打印的补丁,这可能会产生多个最优合并解决方案(c)。我们通过应用弯曲层(d)进一步减少每个解决方案的补丁数量。对于具有最少补丁数量的最优合并解决方案,我们为每个补丁生成工具路径并分配它们之间的打印顺序(e)。

🐼制造的约束

在这项工作中,我们考虑了制造的三个限制条件第一个限制了层厚度的可行范围。第二个是为了避免挤压装置(喷嘴、挤压机和托架)和打印部件之间的碰撞,同时沿着弯曲层上的路径操作工具。第三个约束描述了基于解耦的完整模型和支撑结构制造策略的几何要求。

🦝厚度约束:非常薄的层容易挤在一起,因为它们受到材料流动性的影响。这样的过度堆积会导致材料表面出现伪影。相反,非常厚的层会导致堆积不足,从而使相邻层不能很好地粘合。

🦝斜率角的约束:在Etienne等人[2019]的工作中,对碰撞的约束建模为一个倒锥,以禁止已经打印的部件进入其中。从禁止锥中提取打印路径斜率角度的局部约束为θmax= min(θ喷嘴,θ物体)。与其通过忽略后者的平面出口而将打印机视为尖锥形喷嘴,我们建议通过将喷嘴表示为圆柱体和截锥体的组合来使下图的公式更加精确。我们做了一个有趣的观察,当喷嘴上坡和下坡运动时,可能发生的碰撞是不同的,当它上坡运动时(左),它可能会与打印的部分发生碰撞,因为出口右侧的点(绿点)最接近下面打印的层。这种碰撞可以通过将路径的倾斜角度限制在θ出口来避免。当喷嘴下坡(右)时,需要将其抬高t,以避免右侧点的层间碰撞出口(绿点)和当前层的侧面。对于下坡运动的情况,不需要定义任何倾斜角度,因为喷嘴是凸起的。最后,我们将路径的坡角上界设为θmax= min(θ喷嘴,θ物体,θ出口)。注意,这是一个局部约束。由于打印模型的高度超过喷嘴的长度而造成的全局碰撞没有考虑在内。解决这个问题的方法在第5节中提供。

曲线路径的坡度角约束:喷嘴是圆柱体和截锥形(紫色)的组合。我们保守地将其简化为截锥来计算角度。θnozzle 表示喷嘴尖端与水平面之间的夹角。θobject= tan^−1 * h/e,其中h为车厢与喷嘴尖端之间的垂直距离,e为已打印物体的最大XY范围。θoutlet= tan^−1 * w/t,其中w为喷嘴半径,t为参考层的厚度,左右箭头分别表示喷嘴上坡和下坡。

🦝支撑结构约束:我们对表面模型的支撑结构施加限制,因为它们会降低表面的质量[Hergel et al. 2019]。对于非自支撑的表面模型,我们将完整模型的制造与支撑结构的制造解耦,也就是说,我们预打印支撑结构并在制造过程中安装它们。这就要求支撑结构位于地面上,并形成与打印方向相关的高度场体积。这是因为放置在模型上的支撑结构可能会导致打印外壳承受太大的重量。我们将这样的模型分解成多个小块,并在制作完成后进行组装(本文后面会给出一个例子)。

🐼One-Path Patch

我们的目标是通过将外壳的输入模型分解为最小数量的可打印opp来最大化连续性。我们首先将线段定义为具有两个端点的层的组件,将轮廓定义为没有端点的封闭组件。对于打印方向,歧形表面贴片是一个可打印的OPP,条件是(1)存在一组切片层,其中与打印方向正交的每一层与贴片相交形成单个片段,或者(轮廓)(2)得到的相交片段/轮廓满足制造约束。我们特意选择了低分辨率层的高度,以使打印路径更加可见。根据切片层可以定义三种类型的OPP:(I)只有平面层,(II)只有弯曲层,(III)I和II的组合。它们分别称为I-OPP、II-OPP和III-OPP,如图5所示。opp的弯曲层考虑了厚度和坡角的约束。

对于类型 I , OPP准则等价于它的单调性,如下图中的(1,4)所示。对于第二类,OPP的固有几何性质很难确定,单调性成为一个充分但不必要的条件。在下图中,(3,5,7)是一个OPP,但不是单调的。这表明具有弯曲层的单个OPP可以覆盖应用多个i -OPP的区域。

可以沿着由平面层(1,4),弯曲层(2,3,5,7)以及平面和弯曲层(6,8,9)组合生成的单个工具路径打印的opp插图。一个OPP可以通过使用不同的策略(1,2)来切片。

我们可以直接提取弯曲层并评估制作的两个标准来确定P是否为II-OPP。CurviSlicer似乎是一个完美的匹配,因为它试图使尽可能多的区域变平,以尽量减少阶梯[Etienne等人,2019]。然而,阶梯最小化并不总是等同于连续性最大化,并且对作为CurviSlicer输入的目标平坦区域很敏感,如下图所示。两个I-/II-OPP可以合并为一个II-OPP(详情见第3.3节)。介绍了一种自底向上的壳模型OPP合并方法最小化opp的数量。在此过程中,生成iii - opp(如第一张图中的(6,8,9)所示)(第4.3节)。

说明阶梯最小化不等同于连续性最大化。左边部分显示了CurviSlicer的结果与目标平坦区域(最初尝试在特定斜率下平坦所有区域;红色部分)。它只能将部分目标平面区域拉平,以避免违反对层厚的约束。所得层不能产生OPP层。右侧显示了我们方法的OPP层和特定的目标平面区域。请注意,与CurviSlicer相反,由于对支撑结构的约束,向下的区域可以作为目标平面区域(第3.1节)。

作为路径生成的基本元素,OPP具有三个关键属性,最大限度地提高基于挤出的打印的连续性:

  • (1) OPP准则是根据特定的印刷方向来定义的。如图所示,沿着给定打印方向(左)的OPP可能不是沿着另一个方向(右)的OPP。

  • (2)即使在相同的打印方向下,OPP的有效切片策略也可能不是唯一的。在图5中,(1)和(2)显示了两种可以应用平面和弯曲切片层的切片层。与平面层相比,弯曲层总是产生更少的阶梯,且优先级更高。

  • (3)两个OPP可以合并为一个OPP,两个OPP (a和B)可以通过叠加和弯曲两种操作合并,如图7所示。叠加表明:(1)OPP A的底层Ab位于其相邻OPP B的顶层Bt之上,(2)Ab和Bt可以通过其两个端点连接。弯曲表示3.3节的合并操作。在第4.3节中使用了两种操作来最小化OPP的数量。

🐼弯曲操作

该操作的输入由两个I/ ii - opp (A和B)组成,它们可以通过堆叠最初合并。曲线运算输出合并后的OPP (C)及其切片层。假设OPP A位于B上方,如图7所示。注意,曲线不能应用于只有闭合轮廓的两个OPP。

这里的基本思想是生成一个修改版本的CurviS- licer来为合并的OPP C提取弯曲层。有两个关键问题:(1)我们如何确定C的顶部/底部目标平面面积?以及(2)我们如何保证满足制作上的约束?我们通过结合A和b的上/下目标平面区域来回答第一个问题,我们检测对C的上/下目标平面区域的斜率角度的约束,然后提取出中的弯曲层利用改进的CurviSlicer在它们之间进行连接,从而满足制作约束。

使用堆叠操作(a, b)和弯曲操作(c, d)合并两个opp的示意图。(a)和(b)不能通过弯曲层合并,因为它们分别违反斜率和厚度的约束。红色和蓝色的部分表示顶部和底部的目标平坦区域(At ,Ab ,Bt ,Bb ),绿色和紫色的线条表示两条倾斜的折线。

🐨🐨4 ACAP方法

本节详细介绍我们的算法。为了清晰地阐述,我们解释了每层只有片段的开放2D补丁的方法。在第6节中讨论了对3D的扩展。如第3节所述,我们的算法的基本思想是基于统一的基于图的OPP表示和一组合并图节点的操作的自下而上的OPP合并过程。OPP图对自底向上OPP合并过程中的曲面分解及其依赖关系进行编码。OPP的节点合并操作是通过平面和曲面切片层来实现的。

🐼4.1 构建依赖图

使用满足支撑结构约束的方向,我们使用垂直于打印方向的平面均匀切片模型,并构建一个有向无环图(DAG),称为依赖OPP图Gdepend。

🐼4.2 通过平面层合并OPP

这一节的目标是通过平面切片提供的最大连续性,即通过堆叠操作将Gdepend的平面切片元素合并为最少数量的I-OPPs

合并过程的两个关键步骤:(1)提前合并Gdepend中必须出现在任何最小路径覆盖中相同路径上的节点,然后构建初始OPP图Ginit以减小Gdepend的大小;(2)通过解决具有依赖约束的路径覆盖问题进一步合并Ginit节点。我们提出了一种基于搜索的方法,采用修剪策略来探索可能的解决方案,而不是运行近似算法

🦝初始OPP图。为了从Gdepend构建一个简化的图Ginit,我们遍历Gdepend的所有节点。如果两条或多条边指向同一节点或从同一节点开始,我们临时删除这些边(下图(b)中用虚线划线)。然后我们计算连接的组件。每个组件作为Ginit的一个节点,可以认为是通过叠加合并的一个更大的I-OPP。这样的合并过程保持了最优性,也就是说,Ginit节点的子节点必须属于最优解的单个路径Ginit的依赖项继承自Gdepend。如图8(c)所示,节点数量明显减少。

🦝初始OPP图的路径覆盖。Ginit的OPP节点可以通过叠加进一步合并,如下图(c)中的(1,2)、(1,3,6)、(3,5)所示。通过Ginit的路径覆盖解,可以生成Ginit的合并平面OPP图,其中每条路径决定合并的I-OPP。合并后的OPP的每个节点组成一个I-/ ii -OPP序列(用子OPP表示),序列的边表示打印的顺序。图9(a)显示了基于路径覆盖解{(1,2),(4),(3,6),(5)}的4个合并i - opp的合并Gf lat。注意,Ginit的依赖关系是保留的。这样的路径覆盖解决方案可以通过从Ginit的根节点开始的特定深度优先搜索(DFS)生成。与一般的DFS相比,它可能不会在回溯之前在未探索的节点中尽可能深入地搜索。在给定节点的依赖节点尚未被探索时,搜索必须停止。例如,(1,2,5)在(3)没有被探索的情况下是无效的。

(a) (Gdepend )的依赖图。每个节点代表一个切片元素,每条边代表节点之间的依赖关系。(b)我们暂时忽略指向(来自)内度(出度)不小于2(被虚线红线交叉)的节点的边,并计算连接的组件。(c) Ginit的初始OPP图。(b)的每个连接组件作为一个节点,并且边继承自Gdepend

🦝探索路径覆盖解决方案的空间。为了将Ginit合并为最小数量的i -OPP,我们在探索Gsolution的同时寻找最短的序列。我们提出了两种技术,通过修剪解空间来加速这种探索首先,我们从Gsolution的根节点出发,采用分支定界技术的光束搜索程序逐级搜索Gsolution,在我们的实现中,将光束搜索的宽度设置为W = 10^-4。对于每一层G,我们根据Ginit包含的节点数量solution 对其候选节点进行排序。这意味着我们倾向于选择尽可能多的Gsolution节点,包括Ginit的节点。请注意,如果Gsolution的节点序列包含Ginit的相同节点,则它们指向下一级中的相同节点。例如,{(1、2),(4)}和{(1、4),(2)}两个点(3、6)和(3、5)。其次,我们使用贪心策略与DFS一起生成路径覆盖解,在每次迭代的束搜索中生成候选节点。每次遍历都寻求尽可能深入。例如,遍历(1,3)不会在节点(3)处终止,因为节点(6)可以添加到(1,3,6)中,如图8(c)所示。我们已经证明了这一策略的最优性所提出的探索路径覆盖解的方法产生具有最少OPP节点数的最优Gf lat的多个实例,如下图(c)所示。

(a)基于路径覆盖解的Ginit are节点合并。(b)路径覆盖解(Gsolution )的空间,其中节点(绿点)编码路径覆盖解的路径(合并的i - opp)。有向边编码合并后的i - opp的打印顺序,每个路径覆盖解对应一个有向边和节点序列。不同的g序列solution可能会产生相同的路径覆盖解,但打印顺序不同(两个蓝框)。(c)三个序列(两个蓝框和一个橙框)产生与Gflat 的最小节点数相关的两个最优路径覆盖解。

🐼4.3 通过弯曲层合并OPP

迄今为止,我们已经通过平面切片获得了具有最大连续性的一组独特的Gf lat实例。我们是否可以进一步合并其OPP节点?回想一下,弯曲切片层可以非常有效地为平面层的多个独立的可打印表面斑块生成连续的打印路径。在这种见解的驱动下,我们尽可能多地应用弯曲操作(在3.3节中定义)来进一步减少OPP的数量。这可以分两个步骤来完成。首先,我们对每个OPP节点的子OPP(初始合并过程)进行弯曲操作,这扩大了目标平面面积,有利于后续的OPP合并过程。其次,我们应用曲线运算来合并多个OPP (OPP合并过程)。在下面,我们为初始和OPP合并过程提出了一个通用的成对合并过程。我们将Gf lat设为初始曲线OPP图Gcurved,并将Gcurved迭代归并为实现两个合并过程。ii - opp和iii - opp相应生成。

🦝通用成对归并程序。OPP图是DAG。我们提出了一个迭代的两两合并过程,一般DAG。对于每次迭代,我们随机选择一条边,并根据特定的合并标准尝试合并两个相关的节点。如果它们可以合并,我们通过(1)擦除两个节点的边,(2)将这对节点合并到一个节点,(3)将其他节点的相关边与合并的节点连接起来来更新图。最终条件是没有一对节点可以被合并。

🦝OPP图的归并准则。OPP图的有向边表示OPP之间的依赖关系。在合并一对节点时,一个必要的标准是节点之间没有多条路径,因为这会导致合并后依赖关系出现死锁,如下图(右)所示。第二个准则是曲线运算可以应用于两个OPP(子OPP)节点。下方第二张图中(A~ B)和(B ~D)展示了这两个合并过程。对于OPP合并过程的每次迭代,我们的目标是通过弯曲操作合并两个OPP节点,这是OPP合并过程的一个内环(见下方第二张图中的a ~c)。

打印依赖死锁示意图:橙色节点表示DAG中的一对选定节点。左:两个节点之间只存在一条路径,合并后不发生死锁。右:两个节点之间的两条或多条路径在合并后可能会产生死锁循环(即节点是相互依赖的)。因此,禁止合并。

将网格分解为3个i -OPP,每个i -OPP对应curved 3个节点(A)。首先在初始合并过程中使用曲线运算合并每个OPP中的子OPP。如(A, B)所示,其中(i, ii)表示OPP 1内子OPP的合并。然后,我们在OPP合并过程中迭代地将节点对合并到一个III-OPP节点(B ~ D)。另外,a ~ c显示了(B)和(c)内环的合并过程,只有(a)中红色边连接的三个节点被选中进行合并。由于(c)的三个子OPP接受叠加为一个OPP,所以节点1和2可以成功合并。

🦝OPP合并过程的内环。基于两个候选OPP节点的合并,可以形成内环的DAG。首先,我们取它们的子OPP序列,其中每个子OPP是一个节点,并保持表示它们的依赖关系的边。其次,我们在ginit的序列之间添加相关的依赖边。在对得到的DAG应用成对合并策略时(上图(a ~ c)),我们只选择有利于两个序列合并的边。具体来说,我们首先标记在两个子OPP序列上有边的节点(如图(a)所示的两条红色边),然后选择标记节点上的边。对于每一对节点,我们调用曲线运算来合并它们(第3.3节)。

🐼4.4 层之间的连接

我们使用自底向上合并OPP的过程获得最优的OPP分解。现在我们描述为每个OPP规划路径的方法,将它们的切片层转换为连续的工具路径,并生成OPP之间的转移移动。

🐨🐨5 全局碰撞相关考虑

第4节的算法没有考虑由打印部分超过喷嘴长度引起的全局碰撞。为了将我们的方法扩展到这种考虑,关键挑战是在我们提出的自底向上OPP合并算法中表示全局碰撞的约束。我们将这种约束表述为OPP图的一种新的有向边,称为碰撞依赖边。与原始的有向边类似,新的边表示与打印相关的依赖关系。不同的是,新边的OPP节点不能通过叠加操作合并。我们首先澄清了这些碰撞依赖边的生成,然后介绍了由于它们而对算法进行的修改。

🐨🐨6 扩展到3D

将我们的算法从2D扩展到3D并不需要在大多数步骤中额外努力,除了在构建Ginit时处理轮廓,并扩展工具路径的生成到3D情况。步骤包括初始OPP图、轮廓螺旋化、填充低坡度区域和刀具轨迹的优化。

使轮廓螺旋化(C1,…,Cn ),我们首先需要确定每个轮廓的连接点。如第4.4节所述,我们的目标是使轮廓之间的总距离最小相邻轮廓的连接点。我们设计了一种动态规划算法,为每个轮廓选择合适的连接点,并用m个采样点离散每个轮廓,其中Pij是Ci中的采样点。我们用dij表示相邻轮廓之间的最小长度。然后,用如下图所示的螺旋路径连接这些等高线:

连接段的之字形路径(左)和连接等高线的螺旋路径(右)。

低坡度区域上的层数不足不可避免地会导致切片时的欠填,如下图(左)所示。这种小区域上的下填可以通过路径后优化过程去除(下方第二张图底部(左))。我们建议使用连通的费马螺旋来填充大面积的未填充区域[Zhao等人,2016]。在我们的实现中,我们设置了一个20°的阈值来检测费马螺旋的区域。我们遍历每对相邻的等高线,使用最小欧几里得距离生成等高线采样点之间的匹配边,并测量它们的角度相对于水平面。如果所有角度都小于阈值,我们将等高线之间的表面斑块添加到费马螺旋区域。下图(右)显示了在原始3D表面上填充的路径。

由于低坡度区域的切片不充分,在模型顶部出现了欠填充(左)。通过用连接的费马螺旋填充该区域,可以完全打印出模型的顶部(右)。

全局路径优化的有效性。左图:未进行全局路径优化的情况下,有些路径彼此之间太近或太远。右:全局路径优化导致路径统一。由于鞍点周围的面积,刀具路径的优化不能保证得到完美的均匀解。

🐨🐨7 结果和讨论

本节详细说明了不同几何复杂性的表面模型的OPP分解结果、打印结果,并与Ultimaker Cura 4.9.1软件的结果进行了比较。

陶瓷3D打印的部分结果。前三排的模型是自支撑的。每行显示了使用我们的方法和Cura获得的OPP分解,刀具路径和打印结果。最后三行显示的是有支撑的模型。我们提前搭建了支撑结构,并在制作过程中手工插入。

🐨🐨8 结论、局限性和未来工作

路径连续性显著影响基于挤出的3D打印中的表面质量和打印时长,特别是对于壳体模型。在本研究中,我们提出了OPP的概念来量化路径连续性,并开发了一种方法,将壳体模型分解为尽可能少的OPP,同时考虑了标准三轴打印机平台上与制造相关的约束。

🐼改进打印路径

文章提到,打印路径的优化仍有改进空间,例如,避免打印路径在模型外部的额外距离,以及保持打印模型的均匀厚度。

🐼扩展到实体模型

文章建议将OPP准则和ACAP算法扩展到一般的实体模型,并适应不同的内部结构或填充模式。

🐼壳体加固技术

文章提出,研究壳体加固技术,如添加筋肋或调节壳体厚度,以充分利用表面模型的优势。

🐼多喷嘴打印

文章建议研究如何将ACAP算法适应于结合不同尺寸的多个喷嘴的打印,以处理不同厚度的区域。

🐼支撑结构策略

文章指出,需要研究更复杂的表面模型的一般化方法,考虑支撑结构与完整结构之间的解耦策略,并考虑在打印过程中原位打印支撑结构的调度策略。

🐼自动化预分解

文章提出,开发自动化预分解过程,平衡分解补丁的数量和路径连续性,是一个值得追求的目标。

🐼多轴打印

文章建议将算法扩展到多轴打印设置,这将允许更多的工具路径自由度,减少对支撑结构的限制,并提供更多的打印选项。

🦌🦌🦌做笔记

🐕🐕该文章的研究目的——提高打印效率和表面质量

文章旨在通过提出一种新的计算框架,优化基于挤出的3D打印过程中工具路径的连续性,以提高打印效率和表面质量。

🐕🐕该文章的研究方法——几何准则和算法框架

文章提出了一个名为One-Path Patch(OPP)的几何准则,用于将输入的表面模型分解为最少数量的连续打印补丁。同时,文章还提出了一个算法框架,用于生成尽可能连续的工具路径。

🐕🐕该文章的研究内容

🐈打印路径优化

研究内容包括开发一种计算框架,该框架能够在挤出式3D打印机上制造表面模型时,优化工具路径的连续性。这涉及到提出新的几何准则、路径规划算法,以及对弯曲层打印方案的增强。

🐈实验验证

研究还包括在陶瓷和热塑性材料上评估所提出的ACAP算法,以展示其在提高制造表面模型的效率和表面质量方面的有效性。

🐕🐕该文章的创新点

🐈One-Path Patch (OPP) 准则

文章提出的OPP准则是一个创新点,它允许将表面模型分解为可以沿单一路径打印的补丁,这有助于减少打印过程中的转移移动,从而提高打印质量。

🐈弯曲层打印方案

文章还提出了一种增强的路径规划算法,该算法结合了弯曲层打印方案,这有助于减少楼梯效应并提高工具路径的连续性。

🐕🐕该文章给我们的启发

🐈打印路径的重要性

文章强调了打印路径连续性对于提高3D打印质量的重要性,这为未来的3D打印研究提供了新的方向。

🐈算法优化

文章提出的算法优化框架可以作为其他制造领域中路径规划问题的一个参考,特别是在需要优化连续性和效率的场景中。

🐈材料和工艺的结合

通过对不同材料(如陶瓷和热塑性塑料)的研究,文章展示了如何将材料特性与打印工艺相结合,以实现最佳的打印效果。这为材料科学与制造技术的交叉研究提供了启示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/460386.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux驱动—在自己的总线目录下创建属性文件

在总线目录下创建属性文件以扩展其功能。 通过创建属性文件, 我们可以为总线添加额外的信息和控制选项, 以便与设备和驱动进行交互。 简单就是,属性文件,可以完成用户空间和内核空间的数据交互, 比如在应用层快速修改g…

【Searxng】Searxng docker 安装

SearXNG将用户的查询请求分发至多个支持的搜索引擎,并收集返回的结果进行汇总处理。在这个过程中,它通过内置的过滤器功能屏蔽广告和其他不相关内容,确保搜索结果的纯净度。 一键部署 docker run \--name searxng \-p ????:8080 \-v ~/s…

gitlab不同账号间·仓库转移

背景:公司业务调整,原先在海外仓库的代码转移回国内 诉求:完整的保留项目记录 操作: 步骤一: 定位到需要迁移的原项目地址 步骤二:创建新项目 步骤三:打开命令行,创建好文件路径为需要clo…

Ubuntu 安装 npm

1. 升级apt sudo apt-get update 2. 安装nodejs sudo apt install nodejs 3. 安装npm sudo apt-get install npm 4. 查看版本 node -v npm -v 完成安装!

Pytorch学习--神经网络--线性层及其他层

一、正则化层 torch.nn.BatchNorm2d torch.nn.BatchNorm2d(num_features, eps1e-05, momentum0.1, affineTrue, track_running_statsTrue, deviceNone, dtypeNone)正则化的意义: 加速训练收敛:在每一层网络的输入上执行批量归一化可以保持数据的分布稳…

Zig 语言通用代码生成器:逻辑,冒烟测试版发布二

Zig 语言通用代码生成器:逻辑,冒烟测试版发布二 Zig 语言是一种新的系统编程语言,其生态位类同与 C,是前一段时间大热的 rust 语言的竞品。它某种意义上的确非常像 rust,尤其是在开发过程中无穷无尽抛错的过程&#x…

复现第一周24

1.[SWPUCTF 2021 新生赛]gift_F12 1)打开题目 2)看源码 3)直接ctrl+f搜索flag 2.[SWPUCTF 2021 新生赛]nc签到 1)开题 2)下载附件用记事本打开 3)打开kali使用nc连接代码 输入l\s命令绕过黑名…

warmup

首页只有一个笑脸&#xff0c;没有什么有效信息&#xff0c; 查看源代码发现,source.php。 访问source.php,显而易见&#xff0c;php代码审计。 <?phphighlight_file(__FILE__);class emmm{public static function checkFile(&$page){ //设立白名单&#xff0c;so…

Python 的安装及开发环境搭建

Python 的安装及开发环境搭建 文章目录 Python 的安装及开发环境搭建一、基础环境二、适用场景三、过程方法 版权声明&#xff1a;本文为CSDN博主「杨群」的原创文章&#xff0c;遵循 CC 4.0 BY-SA版权协议&#xff0c;于2024年10月29日首发于CSDN&#xff0c;转载请附上原文出…

Spring的高效开发思维(二)

时间&#xff1a;2024年 10月 30日 作者&#xff1a;小蒋聊技术 邮箱&#xff1a;wei_wei10163.com 微信&#xff1a;wei_wei10 音频&#xff1a;喜马拉雅 大家好&#xff0c;我是小蒋&#xff01;今天咱们继续深入 Spring 和 Spring Boot 的核心哲学。其实开发并不只是“码…

LeetCode算法(链表)

今天的算法是链表篇&#xff0c;这篇比较简单&#xff0c;总体是之前完成的手写链表&#xff0c;几乎就是链表的大部分知识了&#xff0c;所以今天算是一个复习内容了。 链表是一种通过指针串联在一起的线性结构&#xff0c;每一个节点由两部分组成&#xff0c;一个是数据域一…

Docker:容器化和虚拟化

虚拟化 虚拟化是一种资源管理技术&#xff0c;它将计算机的各种实体资源&#xff08;如CPU、内存、磁盘空间、网络适配器等&#xff09;予以抽象、转换后呈现出来&#xff0c;并可供分割、组合为一个或多个电脑配置环境。这些资源的新虚拟部分是不受现有资源的架设方式、地域或…

如何有效提升MySQL大表分页查询效率(本文以一张900万条数据体量的表为例进行详细解读)

文章目录 1、提出问题1.1 问题测试 2、解决问题&#xff08;三种方案&#xff09;2.1、方案一&#xff1a;查询的时候&#xff0c;只返回主键 ID2.2、方案二&#xff1a;查询的时候&#xff0c;通过主键 ID 过滤2.3、方案三&#xff1a;采用 elasticSearch 作为搜索引擎 3、总结…

DGUS屏使用方法

1、DGUS工程下载 迪文DGUS屏的所有硬件参数和资料下载&#xff0c;都是通过屏上的SD/SDHC接口来完成的&#xff0c;文件必须使用FAT32文件格式。第一次使用SD卡前&#xff0c;推荐先格式化一次&#xff0c;流程如下&#xff1a; 1、 右键单击SD卡&#xff0c;在弹出来的菜单中选…

设计产品宣传册没头绪?推荐一个超多产品宣传册、画册的案例网站

在当今市场竞争激烈的背景下&#xff0c;产品宣传册和画册是企业宣传的重要手段之一。一本独具匠心的宣传册&#xff0c;不仅能够准确传达产品特点&#xff0c;还能吸引潜在客户&#xff0c;提升品牌形象。然而&#xff0c;设计一本优秀的宣传册并非易事&#xff0c;许多设计师…

接口测试(八)jmeter——参数化(CSV Data Set Config)

一、CSV Data Set Config 需求&#xff1a;批量注册5个用户&#xff0c;从CSV文件导入用户数据 1. 【线程组】–>【添加】–>【配置元件】–>【CSV Data Set Config】 2. 【CSV数据文件设置】设置如下 3. 设置线程数为5 4. 运行后查看响应结果

【网页布局技术】项目五 使用CSS设置导航栏

《CSSDIV网页样式与布局案例教程》 徐琴 目录 任务一 制作简单纵向导航栏支撑知识点1&#xff0e;合理利用display:block属性2&#xff0e;利用margin-bottom设置间隔效果3&#xff0e;利用border设置特殊边框 任务二 制作简单横向导航栏任务三 制作带图片效果的横向导航栏任务…

基于LangChain构建安全Agent应用实践(含代码)

概述&#xff1a;本文基于langchain和Cyber Security Breaches数据集构建Agent&#xff0c;并基于该Agent实现了数据分析、趋势图输出、预测攻击态势三个功能&#xff0c;最后给出Agent在安全领域应用的三点启示。 前提&#xff1a; 1、拥有openai API KEY&#xff1b;&#…

机器学习-决策树

登录后复制 import numpy as np import matplotlib.pyplot as plt from sklearn import datasetsiris datasets.load_iris() X iris.data[:,2:] y iris.target plt.scatter(X[y0,0], X[y0,1]) plt.scatter(X[y1,0], X[y1,1]) plt.scatter(X[y2,0], X[y2,1]) plt.show() 1.2.…