制造三维对象的制作方法

文档序号:13678770阅读:118来源:国知局
背景三维(3D)对象可用各种方式来制造,各种方式包括诸如熔融沉积成型之类的打印和积层制造过程。3D打印机例如可基于对象的数字表示(在本文中被称为3D模型)来创建各种3D对象。3D模型可例如使用计算机辅助设计(CAD)系统或3D扫描仪来生成。来自消费者3D打印机的输出的质量高度依赖于为该打印机准备3D内容的软件的质量。3D打印机通常采用被称为熔丝沉积的过程来使热塑料挤压通过热喷嘴。驱动这些打印机的软件通常被称为“切片程序(slicer)”,因为它将3D模型分解成该打印设备专用的工具路径信息的各2D层。存在相对较小数目的消费者可用的3D切片程序。通常可用的切片程序不提供足够的打印质量。概述以下提供了本创新的简单概述,以提供对本文本所述的某些方面的基本理解。该概述不是权利要求主题的广泛概览。它既不旨在标识要求保护的主题的关键或重要的元素,也不描绘所要求保护的主题的范围。唯一的目的是以简化形式呈现所要求保护的主题的某些概念,作为稍后呈现的比较详细的描述的前奏。一实现提供用于制造三维(3D)对象的系统。该系统包括处理器和系统存储器,该系统存储器包括引导处理器的代码。当该代码被执行时,该代码可使得处理器获得3D对象的3D模型。该代码还可使得处理器针对3D模型的多个定向计算被用于在打印期间支撑3D模型的悬伸部分的支撑区域的体积。该代码还可使得处理器基于支撑区域的体积将3D模型的多个定向之一标识为选定的定向。此外,该代码可使得处理器根据选定的定向来定向3D模型并打印3D对象。另一实现提供用于制造三维(3D)对象的方法。该方法可包括获得3D对象的3D模型。该方法还可包括针对3D模型的多个定向计算被用于在打印期间支撑该3D模型的悬伸部分的支撑区域的体积。此外,该方法可包括基于支撑区域的体积将3D模型的多个定向之一标识为所选的定向。该方法还可包括根据所选的定向来定向3D模型并打印该3D对象。另一实现提供了用于存储计算机可读指令的一个或多个计算机可读存储介质,所述指令在被一个或多个处理设备执行时指令对3D对象的构造。该计算机可读介质包括用于获得3D对象的3D模型的指令。计算机可读介质还包括用于针对3D模型的多个定向计算在打印期间支撑3D模型的悬伸部分的支撑区域的体积的指令。计算机可读介质包括用于基于支撑区域的体积将3D模型的多个定向之一标识为选定的定向的指令。此外,计算机可读介质包括用于根据所选的定向来定向3D模型并打印3D对象的指令。下面的描述和附图详细地阐述了所要求保护的主题的某些说明性方面。然而,这些方面只是表示可以使用本发明的原理的各种方式中的一些方式,并且所要求保护的主题旨在包括所有这些方面和等效内容。通过与附图一起阅读下面的本发明的详细描述,所要求保护的主题的其他优点和新颖的特点将变得显而易见。附图简述图1是被配置用于实现本文中描述的技术的各方面的示例操作环境的框图;图2是用于从3D模型构造3D对象的示例构造器的框图;图3示出用于构造3D对象的方法的过程流程图;图4a-4b是用于改进3D模型的定向以减小支撑材料区域的体积的技术的图示;图5a-5b示出解说被用于减少在打印时用来提供内部支撑的填充量的技术的截面图;图6a-6b示出用于改进具有几乎平行的打印路径的质密(solid)对象的填充模式的技术;图7是3D模型的选定部分上的质密填充半边路径的图示;图8a-8b示出其中“之字形”稀疏填充模式被生成并与质密填充连接的示图;图9a-9c示出解说3D对象的关闭的内壳和打开的内壳的从上方来看的各层的对比图;图10是示出用于选择打印起始点以改善表面质量的技术的示图;以及图11a-11c示出使得能够容易地将支撑材料从经打印的3D对象中分离的一个可能的阶段进展。详细描述切片软件可通过专门被设计来独立于特定打印设备物理特性地纠正降低输出质量的问题的新算法来改进。该公开描述了用于改善3D打印质量的技术,包括支撑生成、填充和起始点的优化。在一些示例中,本文中描述的技术改善熔丝制造(FFM)技术的打印质量。本技术提供改进3D模型的定向以便减少支撑材料的能力、使支撑材料容易地从3D模型分离的能力以及在打印时生成内部支撑而无需填充的能力。本技术还提供改进质密对象的填充模式、形成与质密填充连接的“之字形”稀疏填充模式以及打开质密填充的内壳的能力。本技术还提供改进打印起始点位置以改善表面质量的能力。以下更详细地描述了这些技术。作为正文前的图文,一些附图是在一个或多个结构组件(不同地称为功能、模块、特征、元件等等)的上下文中来描述概念的。附图中所示的各个组件能够以任何方式实现,诸如经由软件、硬件、固件或其任意组合来实现。在一些情况下,附图中示出的各组件可反映对应组件在实际实现中的使用。在其他情况下,附图中所示的任何单个组件可由多个实际组件来实现。附图中的任何两个或更多个分开组件的描绘可以反映单个实际组件所执行的不同功能。以下讨论的图1提供关于可被用来实现附图中所示的功能的一个系统的细节。其他附图以流程图形式描述了概念。以此形式,某些操作被描述为构成以某一次序执行的不同的框。这些实现是示例性而非限制性的。此处描述的某些框可被分组在一起并在单个操作中执行,某些框可被分成多个组件框,并且某些框可以按与此处所示出的不同的次序来执行(包括以并行方式执行这些框)。流程图中所示的框可以通过软件、硬件、固件、手动处理等来实现。如此处所使用的,硬件可包括计算机系统、诸如专用集成电路(ASIC)之类的分立逻辑组件等。关于术语,短语“配置成”涵盖可以构造任何种类的功能来执行所标识的操作的任何方式。功能可以被配置成使用例如软件、硬件、固件等来执行操作。术语“逻辑”涵盖用于执行任务的任何功能。例如,流程图中所示的每一操作对应于用于执行该操作的逻辑。操作可以使用软件、硬件、固件等来执行。术语“组件”、“系统”等可指代计算机相关的实体、硬件、和执行中的软件、固件或其组合。组件可以是在处理器上运行的进程、对象、可执行码、程序、函数、子例程、计算机、或软件和硬件的组合。术语“处理器”可指代硬件组件,诸如计算机系统的处理单元。此外,所要求保护的主题可以使用产生控制计算设备以实现所公开的主题内容的软件、固件、硬件或其任意组合的标准编程和工程技术而被实现为方法、装置或制品。如此处所使用的术语“制品”旨在涵盖可以从任何计算机可读存储设备或介质访问的计算机程序。计算机可读存储介质可包括但不限于,磁存储设备(例如,硬盘、软盘、磁带)、光盘(例如,紧致盘(CD)、数字多功能盘(DVD))、智能卡、闪存设备等等。相反,计算机可读介质(即,非存储介质)可包括用于无线信号之类的通信介质,诸如传输介质。图1旨在提供可在其中实现本文中描述的各技术的计算环境的简要概括描述。例如,可在这样的计算环境中实现用于生成要被用来制造3D对象的3D模型的方法和系统。尽管上文已经在运行在本地计算机或远程计算机上的计算机程序的计算机可执行指令的一般上下文中描述了所要求保护的主题,然而所要求保护的主题可结合其它程序模块来实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等。图1是被配置用于实现本文中描述的技术的各方面的示例操作环境的框图。示例操作环境100包括计算机102。计算机102包括处理单元104、系统存储器106以及系统总线108。系统总线108将包括但不仅限于系统存储器106的系统组件耦合到处理单元104。处理单元104可以是各种可用处理器中的任何一种。也可以使用双微处理器及其他多处理器体系结构作为处理单元104。系统总线108可以是若干类型的总线结构中的任意类型,包括存储器总线或存储器控制器、外围设备总线或外部总线、和使用本领域的普通技术人员已知的任何各种各样的可用总线架构的本地总线。系统存储器106是包括易失性存储器110和非易失性存储器112的计算机可读存储介质。基本输入/输出系统(BIOS)被存储在非易失性存储器112中,包含例如在启动期间在计算机102内的元件之间传输信息的基本例程。作为说明,而不是限制,非易失性存储器112可包括只读存储器(ROM)、可编程序只读存储器(PROM)、电可编程序只读存储器(EPROM)、电可擦可编程序只读存储器(EEPROM)或闪存。易失性存储器110包括充当外部高速缓冲存储器的随机存取存储器(RAM)。作为说明而不是限制,RAM可以有许多形式,如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDRSDRAM)、增强的SDRAM(ESDRAM)、同步链路TMDRAM(SLDRAM)、直接型RAM(RDRAM),直接型动态RAM(DRDRAM)以及动态RAM(RDRAM)。计算机102也包括其他计算机可读介质,诸如可移动/不可移动、易失性/非易失性计算机存储介质。例如,图1示出盘存储114。盘存储114包括但不仅限于,诸如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-210驱动器、闪存卡或记忆棒之类的设备。另外,盘存储器114还可包括存储介质,分开地或与其他存储介质相结合,包括,但不仅限于,诸如紧致盘ROM设备(CD-ROM)之类的光盘驱动器、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字多功能盘ROM驱动器(DVD-ROM)。为便于盘存储设备114连接到系统总线108,通常使用诸如接口116之类的可移动或不可移动接口。可以理解,图1描述了在合适的操作环境100中在用户和所描述的基本计算机资源之间的中介的软件。这样的软件包括操作系统118。可以存储在盘存储器114上的操作系统118用于控制和分配计算机102的资源。系统应用120利用由操作系统118通过存储在系统存储器106或者存储在磁盘存储114上的程序模块122和程序数据124对资源的管理。可以理解,所要求保护的主题可以利用各种操作系统或操作系统的组合来实现。用户通过输入设备126向计算机102输入命令或信息。输入设备126包括但不限于定点设备(诸如鼠标、跟踪球、指示笔等)、键盘、话筒、操纵杆、圆盘式卫星天线、扫描仪、TV调谐卡、数码相机、数码摄像机、网络摄像头等等。输入设备126通过系统总线108经由接口端口128连至处理单元104。接口端口128包括,例如,串行端口、并行端口、游戏端口以及通用串行总线(USB)。输出设备130与输入设备126使用一些相同类型的端口。如此,例如,可以使用USB端口来向计算机102提供输入,以及从计算机102向输出设备130输出信息。提供了输出适配器132,以示出有诸如监视器、扬声器以及打印机之类的一些输出设备130,还有可经由适配器访问的其他输出设备130。输出适配器132包括,作为说明而不是限制,在输出设备130和系统总线108之间提供连接装置的视频卡和声卡。要注意,其他设备和设备系统可提供诸如远程计算机134之类的输入和输出能力两者。计算机102可以是使用到诸如远程计算机134之类的一个或多个远程计算机的逻辑连接在联网环境中主存各种软件应用的服务器。远程计算机134可以是配备有web浏览器、PC应用、移动电话应用等等的客户端系统。远程计算机134可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的电器、移动电话、对等设备或其他公共网络节点等等,并通常包括上文参考计算机102所描述的许多或全部元件。远程计算机134可通过网络接口136在逻辑上连接到计算机102,然后经由通信连接138(其可以是无线的)连接。网络接口136涵盖诸如局域网(LAN)和广域网(WAN)这样的无线通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜线分布式数据接口(CDDI)、以太网、令牌环网等等。WAN技术包括,但不限于,点对点链路、电路交换网,如综合业务数字网(ISDN)以及其变体,分组交换网络以及数字用户线(DSL)。通信连接138指代被用来将网络接口136连接到总线108的硬件/软件。尽管为清楚起见通信连接138被示为在计算机102内部,但是,它也可以位于计算机102外部。作为示例,供连接到网络接口136的硬件/软件可包括内部和外部技术,诸如移动电话交换机、调制解调器,包括常规电话分级调制解调器、电缆调制解调器和DSL调制解调器、ISDN适配器以及以太网网卡。用于服务器的示例性处理单元104可以是计算群集。盘存储114可包括例如保持成千上万的投放的企业数据存储系统。计算机102可被配置成指令打印机构造3D对象。数据124可包括一个或多个初始3D模型,该一个或多个初始3D模型可例如从便携式存储设备获得,或者从远程计算机或经由因特网下载。在一些示例中,3D模型是网格模型。应用120中的一者或多者可以被配置成使得用户能够生成并定制3D模型以供以后制造成对象。当应用120可自动化该过程或适配最终从输入设备126或经由因特网接口136从远程计算设备134获得的3D模型时,用户不需要生成3D模型。用户可指令计算机102使用诸如3D计算机辅助设计(CAD)软件(诸如3D构建器)之类的软件来生成3D模型。用户可随后将3D模型存储到例如盘存储114中,或将该3D模型发送到构造器(诸如以下结合图2描述的构造器200)。以下进一步结合图3描述由计算机102执行的用于生成3D模型的计算。在一些示例中,所执行的用于生成网格的过程中的一些或全部可在云服务中被执行并被重新加载到用户的客户端计算机上。例如,所描述的用于3D模型的应用中的一些或全部可在云服务中运行并通过客户端计算机从用户接收输入。由此,计算3D模型时所涉及的计算可在云计算系统上执行。这些计算可包括调整3D模型定向、改变打印机高度和打印延迟时间、减少不需要的内部支撑、生成几乎平行的填充模式的半边、将稀疏的填充对齐到栅格配置中、改进填充到外壳的附加、或者选择打印作业的起始点和结束点。在其他示例中,用户通过向云服务作出请求来向计算机请求打印3D对象。云服务可随后从远程计算机检索3D模型,基于本文中描述的技术来修改并生成打印指令,并将打印指令返回给打印机。打印机可在用户的本地,或者在远程并且稍后被用户检索到。在其他示例中,用户可本地地生成3D模型,并将生成的模型提交给基于本文中描述的技术来计算打印指令的云服务,并将打印指令返回给打印机。图2是用于使用3D模型来构造3D对象的示例构造器的框图。构造器200可包括控制单元或控制器202,该控制单元或控制器202耦合到第一机制204并被配置成执行第一机制204和第二机制206的指令。构造在第二机制206内的腔体208允许在制造对象210时材料被准备(例如,被加热和混合)。例如,腔体208被用于熔融并挤压细丝或其他可兼容的材料。第一机制204可被称为机器人机制(例如高架式机器人),其包括各种机械或机电组件。通过执行指令集212内的至少一些指令,第一机制204可将这些组件致动为执行至少一些物理移动。制造管理器214可通过将3D模型(包括一个3D模型)划分成各层并为每一层提供特定构造指令来生成指令集212。在被致动时,这些组件可按水平方式、垂直方式、对角方式、旋转方式等移动。第一机制204的一个示例实现跨x、y或z轴移动打印机制或工具,以便将材料沉积在正被制造的对象210内的特定位置处。第二机制206可被称为打印机制,该打印机制包括一个或多个打印工具头。材料可被推送或拉取到打印工具头中,并且电机可被安装在更远的地方,以便推送材料经过细导管进入腔体208。虽然第二机制206可类似于挤压器配置(例如单个挤压器头配置),应领会第二机制206表示任何兼容的技术,包括被配置成沉积各种类型的材料的传统打印工具头。以上提到的指令(其被存储在指令集212中)可被统称为经协调的指令,因为这样的指令是协调多个组件来执行的。例如,针对挤压器配置中的不同步进电机的指令可被协调,使得合适的可执行材料被馈送到腔体208中。因此,针对一个步进电机的指令可在时间上与针对另一步进电机的指令同步,使得两个步进电机可彼此协调地操作。制造管理器214可包括在计算设备的各种实现(诸如远程计算设备和附连的计算设备)上操作的硬件和软件组件。制造管理器214的一个示例实现处理对应于正被制造的对象的3D模型并将该信息划分成各层,其中每一层包括至少某种几何结构,其可包括对应于表面网格的几何元素。本公开可使用“分区”、“片”或另一类似的术语来代替“层”,并且应领会,这些术语被定义为可互换。制造管理器214将对应于3D模型的数据结构存储在分区信息216内。几何结构一般指代几何元素的集合(诸如3D多面体或其他形状),其可表示要被沉积的可挤压材料的量。一个示例测量从容量上表示几何结构的至少一部分——并因此表示可挤压材料的量。该示例测量可使用各标准化单元来定义几何结构的一部分,其中每一单元诸如通过挤压宽度来表示在给定时间实例最小量(例如体积)的有色材料。每一地理元素可包括一个或多个标准化单元。制造管理器214被配置成生成指令,这些指令在被控制器202执行时使第一机制204的各组件致动,这可导致第二机制206移动,随后表面几何结构(例如对象210的外部壳体)移动。任选地,可移动平台(诸如平台220)用作用于打印对象210的机制。第一机制204可操作平台220以将对象210和喷嘴218朝向彼此引导。指令集212可包括用于自动地校准平台220使得通过x、y和z方向上的或跨x-y平面的旋转中的一系列移动将3D对象210移动到针对喷嘴218的正确位置以沉积材料的指令。制造器200的一些示例实现包括被用本文中描述的组件中的至少一些组件翻新的传统设备,包括控制器202、制造管理器214和打印工具头(诸如第二机制206)。作为一个选项,制造器200可包括用于管理电机集合并在命令被处理时从原始微处理器接收信号的附加微处理器。为了解说一个示例,被表示在3D网格模型中的经验证的簇对象可通过处理表示该对象的每一多边形并通过切片平面投影每一多边形而被划分成各层。该投影按逐渐创建路径的方式生成点和到其他点的连接。从此刻开始,该路径被简化成表示相应制造器的特定硬件特征的可寻址单元的各单元(例如,几何元素的体积测量)。这些单元可以不是相同的尺寸、被轴对齐且在每一维度都为相同的尺寸。一个示例实现可沿着x、y或z轴利用不同尺寸的非立方单元,这允许每维度不同的有效分辨率。根据一示例实现,分区信息216可包括经体素化的数据,使得每一可寻址(体素)单元包括针对该可寻址体素单元内的几何结构的各种信息,诸如色彩、纹理以及亮度值。示例制造器200包括电机布置和工具头,该工具头具有混合腔体和喷嘴。工具头还可包括用于使可挤压材料熔融到规定温度的加热元素。在制造3D对象时,制造管理器214确定能够被沉积在给定的(x,y,z)位置处的可挤压材料的近似量。制造管理器214使用所确定的量在对象的壳体上定义可寻址单元。每一单元表示3D对象的特定几何元素或一部分。可寻址单元可在本文中被表示成经体素化的数据,例如经体素化的数据结构。在一示例实现中,制造管理器214在体素单元(例如,体元素)中确定体积。制造器的3D空间是依据可挤压材料的最小体积来制造的。其他信息可包括隐式值,诸如距对象表面网格的距离、指示对象的体素单元是否占据所表示的体积的概率。该技术可被应用于对象的整个体积,包括外壳。图3是用于制造3D对象的方法的过程流图。在框300,获得3D对象的3D模型。在框302,计算支撑区域的体积。在一个示例中,对支撑区域体积的这种计算是针对3D模型的多个定向作出的。在框304,一3D模型定向被标识为选定的定向。此对选定的定向的标识可以是具有最小的计算出的支撑区域体积的3D模型的定向。在框306,根据选定的定向来定向3D模型。在框308,打印3D对象。图4a-b是用于改善3D模型的定向以减小支撑材料区域的体积的技术的图示。图4a示出随机定向的若干3D模型400a-408a,类似于用户在打印机软件的打印床中可如何定位这些3D模型。示出的示例3D模型400a-408a以极端程度定位,然而在实践中,用户或软件可尝试将每一3D模型400a-408a放在平台表面上。3D模型400a-408a可能不具有平台表面,或者用户可能不清楚哪个定向对于节约打印材料而言更好。例如,即使3D模型已经被定向为平放在表面上,仍可能存在该3D模型的在使制造时使用的支撑材料的体积最小化方面更好的定向。取决于3D模型的定向,支撑区域的打印可被用于打印具有悬伸的部分(也就是说,以在被打印的情况下3d模型的较低层将不能支撑的方式从3D模型突出)的对象。由于该悬伸的部分会以其他方式被打印在空中并会崩塌,因此支撑区域可被打印在该部分下面以在打印过程期间提供支撑,并且随后被剥离。在一个示例中,悬伸层将需要针对小于45度的所有悬伸角的支撑。在一个实施例中,每一3D模型400a-408a被逐个地分析。可按多种方式计算3D凸包。在一个示例中,3D凸包被从3D模型的网格的所有顶点中计算出以找到3D模型形状的近似。接着,除了不包含该模型的质心的正交投影的面以外,计算出的凸包的每一面都被测试,以作为3D模型以及计算那个特定定向可能需要的支撑区域的体积的基础。该计算排除对无效定向的计算,无效定向为诸如其中整个模型被定向成使得整个模型不是自支撑的。在针对凸包的每一定向计算存储材料的体积后,具有计算出的支撑区域体积的最小体积的定向可被选为用于打印的3D模型的底部表面。作为该过程的说明,通过该过程将图3a中的3D模型中的每一者旋转到在图3b的对象中看见的定向。图3b中的3D模型400b-408b的定向使得支撑材料的体积被最小化。尽管在以上示例中,使用凸包计算来近似3D模型400a-408a的形状,但在其他示例中,可使用对象网格本身。然而,在该示例中,使用了凸包,因为涉及凸包的计算相对于涉及对象网格的计算而言可大大地减少该计算的计算时间,并由此增加该过程的性能。图5a-b示出解说用于减少被用来在打印时提供内部支撑的填充的量的技术的截面图。一些3D对象使用内部支撑以实现增加的强度。因此,许多3D模型在内部具有支撑。在减少打印时所使用的材料的量的努力中,当3D模型的某些悬伸是自支撑的时,可对内部支撑设置某些限制。图5a是通过内部支撑区域506-512来支撑的具有上层502和基底504的对象500的截面图,每一支撑区域对应于上层502的具有不同悬伸角的分段。悬伸角是确定对象的上层502是否为自支撑的一种方式。在本示例中,一个悬伸角被计算为通过内部支撑506与上层502的其中内部支撑506与其连接的切线的交点形成的锐角。出于说明的目的,该角度在图5a中被标记为55°。同样,附加内部支撑508-510上方的其他上层分段502的悬伸角也被标记出。尽管图5a-b示出了用数字值标记的每一角度,但这仅仅是作为示例来提供的。支撑区域的减少可通过消除使用针对是自支撑的3D对象500的上层部分502打印的内部支撑来实现。自支撑的概念暗示即使在内部支撑506-512被打印时,该上层502也可不需要该内部支撑506-512。在图5b的示例中,适用以下规则:如果所有内部支撑区域(例如,508和510)在形式上以小于45度的悬伸层支撑3D模型的上层,则不打印所有这些内部支撑区域。结果,形成了对更小区域的支撑。该技术可高效地减少材料用量,并且随着更少的材料被挤压,总打印时间也被减少了。图6a-b示出用于改进具有几乎平行的打印路径的质密对象的填充模式的技术。在打印质密区域时,切片程序可以用接近于与那个区域的边界平行的一个打印机路径来填充该区域。然而,当打印路径的填充方向和填充部分边界602的边界接近于平行时,该打印路径将具有过填充区域604和欠填充区域606两者。过填充区域由圆604指示,并且欠填充区域由圆606指示。在该示例中,过填充可作为经挤压的材料的打印路径由于填充的打印路径中的非常小的返回角而在其自身上原路折回的结果而发生。同样,在填充部分的相对侧上,由其定向造成的填充间距可形成大的欠填充区域606。为了避免这些过填充和欠填充区域,如图5b所示可生成半边填充模式。半边意味着打印路径的分段在过填充区域604被切成一半,并且该填充材料被添加到欠填充区域606中。这些切除和替换是作为经建模的半边打印路径608的结果被显示在图6b中的。该填充技术一起解决了过填充问题和欠填充问题两者。半边填充模式还可指代在其打印路径与填充部分界面602接近平行时不尝试以连续的前后流挤压的填充线。相反,随着打印路径接近填充部分边界,用于半边的材料还可被挤压到小的平行分段中(在本文中被称为半边端)。图7中可示出半边端的更清楚的划界。图7是3D模型的选定部分上具有半边打印路径704的质密填充边界部分702的图示700。除了示出半边打印路径704外,图7还对半边端706进行划界。半边端706可以是半边打印机路径704的部分,但也可以被分开地打印成填充边界702的分开的平行部分以增加粘合度和总结构支撑。如以上所讨论的,半边端706也可以是已从打印机路径的另一部分重新定位以消除欠填充和过填充区域的填充部分。作为不同打印机路径样式的一个示例,图7的图示包括未剥离的打印路径708,该未剥离的打印路径708不具有与被定向为更接近于与填充边界部分702平行的打印路径相同的欠填充和过填充问题。因此,尽管半边704可在3D模型的一些部分中使用,但半边704在具有提供填充的接近平行的打印模式的填充边界部分702中最有益。图8a-b示出其中“之字形”稀疏填充模式被生成并与质密填充连接的示图。质密填充可被用于打印外表面并用于实现更稳固的支撑。另一方面,稀疏填充可被用于减少能够以较少的支撑站立的区域中的材料用量。图8a示出关于包括填充边界或壳体802、稀疏填充之字形打印路径804和由也遵循之字形模式的附加填充打印路径形成的矩形栅格806的层的从上往下看的视图。之字形模式也可被描述为由交替直角转弯形成的打印路径,但是之字形也可包括交替的不同角度的转弯。图8b示出关于包括稀疏填充部分808的层的从上看的类似视图,但是还示出了质密填充部分810。之字形填充打印路径与类似的基于矩形的质密填充部分配对。确保质密部分被连接到稀疏填充的边界增加了该层的质密部分的强度。在使用其他填充模式的3D模型中,在质密填充810和稀疏填充808之间可存在弱连接。例如,一些切片程序可能不延伸质密填充810,但随后壳体802不会得到支撑,并且3D对象的打印可能不强。其他切片程序可将质密填充810延伸到一些随机位置,而无需知道质密填充如何连接到稀疏填充806。一些切片程序可将质密填充808一路延伸到对象的边界或壳体802,由此可能浪费材料。如在图8a和8b两者中看见的,之字形稀疏填充构成允许栅格层806被打印在每一层上。每一层上的这种均匀栅格层806允许某层的稀疏填充部分808和质密填充部分810之间的更好的经配对的连接。此外,如果栅格填充模式806被打印在每一层上的话,稀疏填充部分808的栅格层804将在整个填充区域提供支撑基础架构。图9a-c示出解说3D对象的关闭的内壳和打开的内壳的从上方来看的各层的示图。3D对象切片程序可使用称为填充重叠的参数来定义质密填充有多接近地被连接到壳体。默认值为1.0,其意味着质密填充和内壳正好刚触碰在一起,如图9a的质密填充902a和内壳904a所示。区域902a表示质密填充。区域908表示稀疏填充。质密填充区域和稀疏填充区域两者都被包含在外壳906和内壳904a中。质密填充902a到相邻的内壳904a的连接通常不强到足以保持该质密填充902a。为了使得该连接更强,内壳904b可被打开或移除,并且质密填充902b被扩大,如图9b所示。质密填充902b被扩大为代替壳体的保持被内壳904b打开的部分。随着内壳904b的一部分在该部分中被打开或替换,其中质密填充902b被扩大。因此,质密区域902b现在可直接附连到外壳906并且还附连到先前打印的切片程序层中的任何填充或壳体。该技术允许质密区域902b停留在处于较低位置的先前打印的层的顶部,而不是简单地固着在外壳或内壳附近。对于图9b,质密填充902b或内壳904b的下一层可用作顶层质密填充部分902b的基础。该附连方法不唯一地针对质密填充,但还针对可按如针对图9b描述的类似方式扩充和附连的任何填充。图9c示出图9b中实现的技术的一个优点。具有刚触碰的壳体910的附图是由图9a最接近地概括的通常使用的方法。刚触碰的壳体910示出不是非常强并且在失败的打印中具有卷曲和剥离结果的填充连接的结果。具有成功连接912的附图示出其中内壳部分被质密填充区域代替的3D对象,如图9b中最接近地图示出的。成功打印的3D对象912中的填充的连接更强,并且被固定到3D对象的外壳。图10是示出用于选择打印起始点以改善表面质量的技术的示图。外壳的质量对多边形的起始点非常敏感,因为起始点可在其中针对层的打印开始和结束的外部上留下很小的材料斑点。在图10中,多边形1000具有可用作起始点或结束点的凹角1002。凹角1002可趋于隐藏额外的经挤压的材料,因为凹角是视野死角,并因此使得更难以观察诸如起泡之类的缺陷。作为扩展,在多边形可具有多边形的若干凹角的情况下,其他实施例被构想为使得具有最锐角的凹角被选为起始点,或者每一凹角在不同的层之间随机交替,以尝试使任何不准确的材料挤压点分散开。此外,在打印平滑曲线(诸如不具有凹角的圆柱体或多边形)的情况下,起始点位置可在每一层上被随机化。由此,各斑点没有在Z方向中在圆柱体的外部上对齐。该随机化在外部上产生较不明显的起始斑点,使得表面在视觉上看上去更光滑。图11是具有改变的打印层高度以及不同类型的层之间的打印延迟时序的打印过程的图示。如上所讨论的,3D模型可使用支撑区域的体积来帮助打印3D对象的悬伸部分。在打印完成后,用户可手动地移除这些支撑区域。在许多情况下,移除可能是困难且时间敏感的过程。本示例证明用于改善该分离过程的手段。如上所讨论的,打印过程的性质可涉及挤压经熔融的材料,诸如熔丝。在挤压后,该经熔融的细丝可逐层地在放置该细丝的计算出的位置中冷却下来。当顶层很热时,顶层和底层可强烈地附连在一起,并变为经连接的强层连接。然而,当以较冷的温度或较低的压力将各层挤压在一起时,形成较不强的绑定。图11a-c示出使得能够容易地将支撑材料从经打印的3D对象中分离的一个可能的阶段进展。在图11a-c中,3D对象的若干层包括可支撑对象的悬伸区域的支撑区域层以及3D对象的若干层。图11a-c示出打印这些层使得经挤压的材料已冷却时支撑区域可更容易从3D对象中分离的一个方法。在图11a中,支撑区域1104的顶层首先被挤压。接着,对象1104的底层可被挤压。然而,不是将3D对象的底层直接挤压在支撑区域1104的顶层的顶部上,而是从较大的打印高度406挤压3D对象的底层。可按需改变打印高度的增加,然而,在一个示例中,打印高度被增加为在层高度的2倍或层高度的3倍之间。附加空间不仅创建了针对支撑1102的顶层和对象1104的底层的额外冷却时间,而且还减少了用来将对象1104的底层施加在支撑1102的顶层上的压力。打印延迟时间也可被增加,使得打印支撑1102的顶层和对象1104的底层之间的时间更大。各层之间的这种更大的打印时间延迟可允许支撑1102的顶层冷却得甚至更多,并由此被更不高效地绑定到对象404的底层。这些层越冷,在这些层变为接触时,它们之间的粘合绑定越弱,由此允许越容易的在后分离。压力的减少由打印高度1106的增加造成,从而还减弱了这些层之间的粘合绑定。在图11b中,对象1104的底层还从用于挤压熔丝的高度下降,并且现在停留在支撑区域1102的顶层的顶部上。该较轻的连接将增加其后续分离的容易性。在图11c中,对象1108的第二层被打印在其原始高度(即涉及直接打印在对象1104的底层上的高度)处,使得对象1104的底层和对象1108的第二层被以正常压力和温度缝合在一起。在一个实施例中,对象1108的第二层的打印确保对象1104的底层的形状和位置。例如,由于支撑1102的顶层由于其较早的挤压而将相对较冷,因此其形状和位置相对固定。然而,在一些情况下,已从增加的打印高度1106挤压的对象1104的底层可能尚未完全停留在相同的位置,就好像该底层1104还不具有增加的打印高度1106一样。因此,在这些情况下,对象1108的第二层的打印可通过在对象1108的第二层被打印在原始的预期高度和位置时下压对象1104的底层来纠正任何非预期的高度方面的变化。通过这种方式,跨越大于预期的高度的对象1104的底层可通过对象1104的第二层的打印被下压以正确地符合支撑1102的顶层并不延伸到比期望位置更远的地方。因此,对象的两个层1104、1108被强烈地连接在一起,但支撑1102的顶层仅刚刚与对象1104的底层连接。在打印完成后,用户可非常容易且干净地将支撑和对象分开。为了确保顶层和底层易于分离,本技术尝试确保:1)通过各层之间的打印延迟时间,支撑1102的顶层的温度是低的,使得支撑1102的顶层在触碰对象1104的较低层时被冷却;以及2)打印对象1108的第二层的压力是低的,使得对象1104的底层不被推压进支撑1102的顶层中。示例1该示例提供用于制造三维(3D)对象的系统。该系统包括处理器和系统存储器,该系统存储器包括引导处理器的代码。当该代码被执行时,该代码可使得处理器获得3D对象的3D模型。该代码还可使得处理器针对3D模型的多个定向计算被用来在打印期间支撑3D模型的悬伸部分的支撑区域的体积。该代码还可使得处理器基于支撑区域的体积将3D模型的多个定向之一标识为选定的定向。此外,该代码可使得处理器根据选定的定向来定向3D模型并打印3D对象。替换地或附加地,该代码可增加3D模型的被直接打印在支撑区域层的顶部上的层的打印高度和打印延迟时间。替换地或另选地,如果3D模型的上层不是自支撑的,则支撑区域可包括对该上层的内部支撑。替换地或另选地,如果3D模型的悬伸角小于45度,则该3D模型的上层是自支撑的。替换地或另选地,该代码可通过半边打印路径来打印3D模型的某层的填充部分。替换地或另选地,该代码可跟随交替直角转弯打印路径来打印3D模型的某层的稀疏填充部分。替换地或另选地,3D模型可包括壳体以及通过用附加填充代替该壳体的一部分来连接到该壳体的填充。替换地或另选地,该代码可从该层的凹角处开始对3D对象的打印,或者如果该层缺少凹角,则从该层上的随机位置处开始该打印。示例2该示例提供用于制造三维(3D)对象的方法。该方法可包括获得3D对象的3D模型。该方法还可包括针对3D模型的多个定向计算被用来在打印期间支撑该3D模型的悬伸部分的支撑区域的体积。此外,该方法可包括基于支撑区域的体积将3D模型的多个定向之一标识为选定的定向。该方法还可包括根据选定的定向来定向3D模型并打印该3D对象。替换地或附加地,该方法可包括增加3D模型的被直接打印在支撑区域层的顶部上的层的打印高度和打印延迟时间。替换地或另选地,如果3D模型的上层不是自支撑的,则支撑区域可包括对该上层的内部支撑。替换地或另选地,如果3D模型的悬伸角小于45度,则该3D模型的上层是自支撑的。替换地或另选地,该方法可包括通过半边打印路径来打印3D模型的某层的填充部分。替换地或另选地,该方法可包括跟随交替直角转弯打印路径来打印3D模型的某层的稀疏填充部分。替换地或另选地,3D模型可包括壳体以及通过用附加填充代替该壳体的一部分来连接到该壳体的填充。替换地或另选地,该方法可包括从该层的凹角处开始对3D对象的打印,或者如果该层缺少凹角,则从该层上的随机位置处开始该打印。示例3该示例提供了用于存储计算机可读指令的一个或多个计算机可读存储器存储设备,所述指令在被一个或多个处理设备执行时指令制造3D对象。该计算机可读介质包括用于获得3D对象的3D模型的指令。计算机可读介质还包括用于针对3D模型的多个定向计算在打印期间支撑3D模型的悬伸部分的支撑区域的体积的指令。计算机可读介质包括用于基于支撑区域的体积将3D模型的多个定向之一标识为选定的定向的指令。此外,计算机可读介质包括用于根据选定的定向来定向3D模型并打印3D对象的指令。替换地或附加地,这些指令可增加3D模型的被直接打印在支撑区域层的顶部上的层的打印高度和打印延迟时间。替换地或另选地,如果3D模型的上层不是自支撑的,则支撑区域可包括对该上层的内部支撑。替换地或另选地,如果3D模型的悬伸角小于45度,则该3D模型的上层是自支撑的。替换地或另选地,这些指令可通过半边打印路径来打印3D模型的某层的填充部分。替换地或另选地,这些指令可跟随交替直角转弯打印路径来打印3D模型的某层的稀疏填充部分。替换地或另选地,3D模型可包括壳体以及通过用附加填充代替该壳体的一部分来连接到该壳体的填充。替换地或另选地,这些指令可从该层的凹角处开始对3D对象的打印,或者如果该层缺少凹角,则从该层上的随机位置处开始该打印。示例4该示例提供用于制造三维(3D)对象的系统。该系统包括处理器和系统存储器,该系统存储器包括引导处理器的代码。当该代码被执行时,该代码可使得处理器获得3D对象的3D模型。替换地或附加地,该代码可增加3D模型的被直接打印在支撑区域层的顶部上的层的打印高度和打印延迟时间,并打印该3D对象。替换地或另选地,如果3D模型的上层不是自支撑的,则3d模型可包括支撑区域以及对该上层的内部支撑。替换地或另选地,如果3D模型的悬伸角小于45度,则该3D模型的上层是自支撑的。替换地或另选地,该代码可通过半边打印路径来打印3D模型的某层的填充部分。替换地或另选地,该代码可跟随交替直角转弯打印路径来打印3D模型的某层的稀疏填充部分。替换地或另选地,3D模型可包括壳体以及通过用附加填充代替该壳体的一部分来连接到该壳体的填充。替换地或另选地,该代码可从该层的凹角处开始对3D对象的打印,或者如果该层缺少凹角,则从该层上的随机位置处开始该打印。替换地或另选地,该代码还可使得处理器针对3D模型的多个定向计算用于在打印期间支撑3D模型的悬伸部分的支撑区域的体积。替换地或另选地,该代码还可使得处理器基于支撑区域的体积将3D模型的多个定向之一标识为选定的定向。替换地或另选地,该代码可使得处理器根据选定的定向来定向该3D模型。示例5该示例提供用于制造三维(3D)对象的系统。该系统包括处理器和系统存储器,该系统存储器包括引导处理器的代码。当该代码被执行时,该代码可使得处理器获得3D对象的3D模型。如果3D模型的上层不是自支撑的,则该3D模型可包括支撑区域以及对该上层的内部支撑。Whenexecutedthecodealsowillprintthe3Dobject.替换地或另选地,如果3D模型的悬伸角小于45度,则该3D模型的上层是自支撑的。替换地或另选地,该代码可通过半边打印路径来打印3D模型的某层的填充部分。替换地或另选地,该代码可跟随交替直角转弯打印路径来打印3D模型的某层的稀疏填充部分。替换地或另选地,3D模型可包括壳体以及通过用附加填充代替高壳体的一部分来连接到该壳体的填充。替换地或另选地,该代码可从该层的凹角处开始对3D对象的打印,或者如果该层缺少凹角,则从该层上的随机位置开始该打印。替换地或另选地,该代码还可使得处理器针对3D模型的多个定向计算用于在打印期间支撑3D模型的悬伸部分的支撑区域的体积。替换地或另选地,该代码还可使得处理器基于支撑区域的体积将3D模型的多个定向之一标识为选定的定向。替换地或另选地,该代码可使得处理器根据选定的定向来定向该3D模型。替换地或附加地,该代码还可增加3D模型的被直接打印在支撑区域层的顶部上的层的打印高度和打印延迟时间。示例6该示例提供用于制造三维(3D)对象的系统。该系统包括处理器和系统存储器,该系统存储器包括引导处理器的代码。当该代码被执行时,该代码可使得处理器获得3D对象的3D模型。该代码还可通过半边打印路径来打印3D模型的某层的填充部分。该代码也将打印该3D对象。替换地或另选地,该代码可跟随交替直角转弯打印路径来打印3D模型的某层的稀疏填充部分。替换地或另选地,3D模型可包括壳体以及通过用附加填充代替该壳体的一部分来连接到该壳体的填充。替换地或另选地,该代码可从该层的凹角处开始对3D对象的打印,或者如果该层缺少凹角,则从该层上的随机位置开始该打印。替换地或另选地,该代码还可使得处理器针对3D模型的多个定向计算用于在打印期间支撑3D模型的悬伸部分的支撑区域的体积。替换地或另选地,该代码还可使得处理器基于支撑区域的体积将3D模型的多个定向之一标识为选定的定向。替换地或另选地,该代码可使得处理器根据选定的定向来定向该3D模型。替换地或附加地,该代码还可增加3D模型被直接打印在支撑区域层的顶部上的层的打印高度和打印延迟时间。替换地或另选地,如果3D模型的上层不是自支撑的,则3D模型可包括支撑区域以及对该上层的内部支撑。替换地或另选地,如果3D模型的悬伸角小于45度,则该3D模型的上层是自支撑的。示例7该示例提供用于制造三维(3D)对象的系统。该系统包括处理器和系统存储器,该系统存储器包括引导处理器的代码。当该代码被执行时,该代码可使得处理器获得3D对象的3D模型。该代码可跟随交替直角转弯打印路径来打印3D模型的某层的稀疏填充部分。该代码也将打印该3D对象。替换地或另选地,3D模型可包括壳体以及通过用附加填充代替该壳体的一部分来连接到该壳体的填充。替换地或另选地,该代码可从该层的凹角处开始对3D对象的打印,或者如果该层缺少凹角,则从该层上的随机位置处开始该打印。替换地或另选地,该代码还可使得处理器针对3D模型的多个定向计算用于在打印期间支撑3D模型的悬伸部分的支撑区域的体积。替换地或另选地,该代码还可使得处理器基于支撑区域的体积将3D模型的多个定向之一标识为选定的定向。替换地或另选地,该代码可使得处理器根据选定的定向来定向该3D模型。替换地或附加地,该代码还可增加3D模型的被直接打印在支撑区域层的顶部上的层的打印高度和打印延迟时间。替换地或另选地,如果3D模型的上层不是自支撑的,则3D模型可包括支撑区域以及对该上层的内部支撑。替换地或另选地,如果3D模型的悬伸角小于45度,则该3D模型的上层是自支撑的。替换地或另选地,该代码还可通过半边打印路径来打印3D模型的某层的填充部分。示例8该示例提供用于制造三维(3D)对象的系统。该系统包括处理器和系统存储器,该系统存储器包括引导处理器的代码。当该代码被执行时,该代码可使得处理器获得3D对象的3D模型。3D模型可包括壳体以及通过用附加填充代替该壳体的一部分来连接到该壳体的填充。该代码也将打印该3D对象。替换地或另选地,该代码可从该层的凹角处开始对3D对象的打印,或者如果该层缺少凹角,则从该层上的随机位置处开始该打印。替换地或另选地,该代码还可使得处理器针对3D模型的多个定向计算用于在打印期间支撑3D模型的悬伸部分的支撑区域的体积。替换地或另选地,该代码还可使得处理器基于支撑区域的体积将3D模型的多个定向之一标识为选定的定向。替换地或另选地,该代码可使得处理器根据选定的定向来定向该3D模型。替换地或附加地,该代码还可增加3D模型的被直接打印在支撑区域层的顶部上的层的打印高度和打印延迟时间。替换地或另选地,如果3D模型的上层不是自支撑的,则3D模型可包括支撑区域以及对该上层的内部支撑。替换地或另选地,如果3D模型的悬伸角小于45度,则该3D模型的上层是自支撑的。替换地或另选地,该代码还可通过半边打印路径来打印3D模型的某层的填充部分。替换地或另选地,该代码可跟随交替直角转弯打印路径来打印3D模型的某层的稀疏填充部分。示例9该示例提供用于制造三维(3D)对象的系统。该系统包括处理器和系统存储器,该系统存储器包括引导处理器的代码。当该代码被执行时,该代码可使得处理器获得3D对象的3D模型。该代码可从该层的凹角处开始对3D对象的打印,或者如果该层缺少凹角,则从该层上的随机位置处开始该打印。该代码也将打印该3D对象。替换地或另选地,该代码还可使得处理器针对3D模型的多个定向计算用于在打印期间支撑3D模型的悬伸部分的支撑区域的体积。替换地或另选地,该代码还可使得处理器基于支撑区域的体积将3D模型的多个定向之一标识为选定的定向。替换地或另选地,该代码可使得处理器根据选定的定向来定向该3D模型。替换地或附加地,该代码可增加3D模型被直接打印在支撑区域层的顶部上的层的打印高度和打印延迟时间。替换地或另选地,如果3D模型的上层不是自支撑的,则3D模型可包括支撑区域以及对该上层的内部支撑。替换地或另选地,如果3D模型的悬伸角小于45度,则该3D模型的上层是自支撑的。替换地或另选地,该代码还可通过半边打印路径来打印3D模型的某层的填充部分。替换地或另选地,该代码可跟随交替直角转弯打印路径来打印3D模型的某层的稀疏填充部分。替换地或另选地,3D模型可包括壳体以及通过用附加填充代替该壳体的一部分来连接到该壳体的填充。以上已经描述的内容包括所要求保护的主题的各方面的示例。当然,出于描绘所要求保护的主题的目的而描述组件或方法的每一个可以想到的组合是不可能的,但本领域内的普通技术人员应该认识到,所要求保护的主题的许多其他组合和排列都是可能的。因此,所要求保护的主题旨在包含落在所附权利要求书的精神和范围内的所有这样的更改、修改和变化。特别地,对于由上述组件、设备、电路、系统等执行的各种功能,除非另外指明,否则用于描述这些组件的术语(包括对“装置”的引用)旨在对应于执行所描述的执行此处在所要求保护的主题的示例性方面中所示的功能的组件的指定功能(例如,功能上等效)的任何组件,即使这些组件在结构上不等效于所公开的结构。关于这一点,还应认识到,本创新包括具有用于执行所要求保护的主题的各种方法的动作和事件的计算机可执行指令的系统以及计算机可读存储介质。有多种实现所要求保护的主题的方式,例如,使应用和服务能使用在此描述的技术的适当的API、工具包、驱动程序代码、操作系统、控件、独立或可下载的软件对象等等。所要求保护的主题还构想从API(或其他软件对象)的观点来看,以及从根据本文中所述技术操作的软件或硬件对象的用途。如此,本文中所描述的所要求保护的主题的各种实现可以具有完全以硬件、部分以硬件而部分以软件、以及以软件来实现的各种方面。前述系统已经参考若干组件之间的交互被描述。可以理解,这些系统和组件可包括组件或指定的子组件、某些指定的组件或子组件、以及附加的组件,并且根据上述内容的各种置换和组合。子组件还可作为通信地耦合到其他组件的组件来实现,而不是被包括在父组件内(分层的)。另外,应该注意,一个或多个组件也可以合并到提供聚合功能的单一组件中,或者也可以分成多个单独的子组件,并且,可以提供诸如管理层之类的任何一个或更多中间层,以可通信地耦合到这样的子组件,以便提供集成的功能。本文中所述的任何组件也可与本文中未专门描述但本领域技术人员一般已知的一个或多个其他组件进行交互。另外,尽管可能已经相对于若干实现中的一个实现公开了所要求保护的主题的某一特征,但是如可对任何给定的或特定的应用所希望且有利的那样,这样的特征可与其它实现的一个或多个其它特征相组合。而且,就术语“包括”、“含有”、“具有”、“包含”、其变型以及其他类似单词在详细描述或权利要求书中的使用而言,这样的术语旨在以类似于术语“包括”作为开放的过渡词的方式为包含性的而不排除任何附加或其他元素。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1