能够进行三维对象模型的3d印刷的方法和系统的制作方法

文档序号:6351099阅读:438来源:国知局
专利名称:能够进行三维对象模型的3d印刷的方法和系统的制作方法
技术领域
本发明总体上涉及3D印刷并且更具体地涉及3D模型的处理。
背景技术
以下术语可以根据其在现有技术文献中出现的任何定义或者根据本说明书、或者如下进行理解凸包在三维空间内的一个几何对象的集合= 的凸包表示为conv(S),是包 含S的最小(包含式的)凸集。凸多面体一个凸多面体是作为有限数目的闭合半空间的交集H =
{h e R31A · h彡B}给出的一个凸集0 £ #,其中A · h彡B是一个线性方程系统。如果
假定η是用于进行定义的半空间的个数,则A是一个{3χη}矩阵,B是长度η的向量,并且h代表包含在该凸多面体中的一个点。多胞形有界凸多面体P C RS是多胞形。超平面在三维空间中,超平面是一个普通平面,它将空间分为两个半空间。支撑超平面一个超平面在欧几里得空间R3中支撑了一个集合S是指如果S被完全包含在该超平面所确定的这两个闭合半空间之一中、并且S具有至少一个位于该超平面上的点的话。一个闭合半空间是包括该超平面的半空间。宽度一个集合《S = Λ5的宽度,表示为宽度(S),是多个支撑了 conv(S)的平行超平面之间的最小距离。有向宽度给定了一个标准化的向量V,则有向宽度,表示为宽度V (S),是多个支撑了 conv(S)且与V正交的平行超平面之间的距离。多边形网格多边形网格,也称为无结构网格,是顶点、边和面的合集,限定了一个多面体对象在例如3D(三维)计算机图像和实体造型中的形状。这些面通常由三角形、四边形、或其他凸多边形组成,因为这简化了渲染,但也可以由更一般的凹多边形、有孔的多边形等等构成。总体上,其输入应该包括几何信息和足够的局部拓扑信息,这样可以调用这些几何对象之间的连带关系。STL =STL是立体光刻术CAD (计算机辅助设计)默认的文件格式,这是由位于美国的“3D Systems ”公司创造的软件。这种文件格式得到了许多其他软件包的支持;它广泛用于快速原型制作和计算机辅助制造。STL文件描述了一个三维对象的表面几何结构,而没有呈现颜色、纹理、或其他常见的CAD模型属性。这种STL格式指定了 ASCII (美国国家标准信息交换代码)以及二进制两种表示方法。总体上,二进制文件是更常见的,因为它们通常是更紧凑的。而且总体上,每个STL文件通过三角形的单位法线和顶点(按右手定则排序)使用三维笛卡尔坐标系描述了一种原始的、无结构的、三角形化的表面。其他文件格式如VRML支持纹理和颜色。3D(三维)印刷是与传统的快速原型制作技术相关的一种独特的印刷形式。通过分层以及将材料的连续截面相连接而创造一个3D对象。3D印刷机通常比其他累加制造技术更快速、费用更可承受、并且更容易使用。这种印刷机的分辨率是以层厚度和以DPI (点每英寸)计的XY分辨率给出的。通常,层厚度是约一百微米(O. I [mm](毫米)),而XY分辨率与激光印刷机的差不多。颗粒(3D点)的直径是约50至100微米(O. 05mm-0. Imm)。快速术语“快速”是相对的,因为用当今的多种方法来构造模型可能花费例如从几个小时到几天,这取决于所使用的方法以及该模型的尺寸和复杂性。用于快速原型制作的另外的系统通常可以在几个小时内产生多个模型,但同时可以根据所使用的机器类型和 所产生的模型的尺寸和个数而大范围地变化。可印刷的模型如果一种模型包括一组闭合的2D (二维)流形,这些流形连接了在其内部并不配对地相交的多个体积、而且还存在一种凸分解,使得每个凸件的Z方向的(竖直的)宽度大于一个给定的阈值,并且每个凸件的XY方向的(水平的)宽度大于一个给定的阈值(Χ、γ和Z是轴),则这个模型是可印刷的。实际来说,一种3D可印刷的模型是一种在3D印刷机上可印刷的模型。因此,即使一个模型并不符合以上的第一定义,例如相交的体积,它仍可以是3D可印刷的。3D印刷是正在快速成长的市场;估计到2011年市场上将会有300,000台3D印刷
机。目前3D建筑模型的创造通常是手动进行的。这是一个缓慢、昂贵且劳动力密集的、要求专业技术(通常靠专业服务提供商)的过程。例如,RapidToday的一篇标题为“尽管住房问题很悲哀,但建筑3D印刷仍在繁荣(Despite Housing Woes, Architectural 3D Printing Thrives) ” 的文章中(在rapidtoday. com上可在线获取)说到“在RapidToday访问的服务提供商之中,几乎所有人都说,为了使图形文件变为3D可印刷的通常必须要求多方面的文件修复。QuickARC的
Mackie对其投入了总成本的20%,或典型的US$3,000的建模中的US$600.......较不容
易修正的是建筑CAD文件中的空隙和孔洞,它们可能不易看见、但将使一个快速原型制作过程短路。这些问题现在是靠快速原型制作服务提供商的专家们费尽心力地查找并修复的,他们使用了网格修复程序像Magics、VisCamRP、MeshWork、以及来自DeskArtes的3DataExpert.......对这个问题的一种快速的软件解决方案还较遥远”。在上个十年中,3D印刷机已经变为由数字数据来生产3D物理对象的常见工具,如计算机辅助设计(CAD)模型和动画模型。因此,现在使用快速原型制作在许多领域是很平常的。具体而言,建筑师可以从3D印刷中大大获益。它们可以在几小时内而不是几天或甚至几个月内生产出精确的3D建筑对象。这些原型使得能够在其建筑对象的发展过程中获得一种自然的、对其反复重评估的机理,并且具体而言是在初期对难点的检测。现在,可以针对速度、低成本和易用性而对3D印刷进行优化,使得当原型的精度和机械强度不那么重要时适合于在工程设计的概念阶段进行检验。
许多众所周知的公司,如国际上的“Z Corporation' ”、以色列的
“objet Geometries _,,、以及“3D Systems*,,公司、以及位于美国的“Sfratasys.*.,,公司
制造了产生3D物理对象的设备。这些不同的设备是基于若干不同的相互竞争的技术。显然,不同制造商生产的3D印刷机还有相同制造商生产的不同模型呈现出不同的特征;它们不同地运行、并且通常受到不同的限制因素的限制。然而,大多数(如果不是全部)3D印刷机是基于累加制造技术,这种技术将要制造的模型转换为较薄的水平截面105、并然后创造连续的层106、107等等,直到这个制造过程完成,如图I中示意性展示的。不同的3D印刷机之间的差异之一是用于创造待有待印刷的3D模型的多个部分而建立多个层的方式。分辨率通常是以层厚度给出,并且XY分辨率是以每英寸点数(DPI)给出。层厚度通常是约百分之一微米(O. Imm),而XY分辨率与激光印刷机的差不多。颗粒(3D点)的直径是约五十分之一至一百分之一微米(O. 05mm-0. Imm)。常规的3D印刷机仅在输入了有效的可印刷的模型时才能产生正确的3D物理对象。这样的模型在例如STL(立体光刻术)文件格式中呈现为多边形网格。呈现为多边形 网格的一种有效模型包括一个多边形汤(polygon-soup)(任意的多边形集合),该多边形汤代表一个闭合的2D流形(即基本上没有伪像(如自相交)的无缝的对象)、或基本上不彼此相交的一组闭合的2D流形。一种有效的可印刷的模型满足了不同的印刷设备所强加的额外的要求(不同的印刷设备强加了不同的要求,因为它们是基于不同的技术)。常规的应用,例如建模、拟真、可视化、CAD(计算机辅助设计)、CAM(计算机辅助制造)、有限元分析等等,要求3D对象的正确且一致的表示。然而,所获得的3D模型,无论是靠手工还是自动工具创造的,都通常包含错误和不一致性。例如,它们可能包含错误取向的、相交的、或重叠的多边形、裂缝、以及T节点;此外,多边形可能缺失,并且拓扑信息可能不一致。问题是由设计师的错误或建模工具中的软件错误导致的。这些错误可能与数据交换问题相混合,例如(i)在CAD格式(例如,IGES(初始图形交换规范)、STEP(产品模型数据交换标准)、DXF(绘图交换格式)、来自CATIA(计算机辅助的三维交互应用)或AutoCAD的二进制文件))之间、B样条或基于NURBS (非均匀有理B样条)格式之间的自动转换;(ii)向工程分析系统(例如,三角形的表面网格)的几何变换。由获得的3D模型来重建流形模型的技术根据效率、稳健性、自动化水平、前提条件等等而变化。自动化水平是在所要求的用户输入的意义上衡量的。前提条件包括多种要求,例如但不限于(i)输入的集合中的多边形是一致地取向的;(ii)输入的部分是闭合的2D流形。根据一种现有技术的途径,使用关于场景的公差来“填满”模型中的裂缝或者在某个公差内合并多个特征。其他途径(如基于边界的途径)尝试由所输入的多边形一起划分网格的方式而推出实体结构,并且它们很可能在存在非流形几何形状时不正确地进行。根据现有技术,所有的途径在误差的大小大于模型中的最小特征时都不能很好地工作。由于退化输入(degenerateinput)在实际应用中是常见的并且数值错误是不可避免的,因此当在退化输入或接近退化输入上运行时,不考虑这个问题而实施一种算法可能产生不正确的结果、进入无限循环、或直接崩溃(例如,Lutz Kettner等人在发表于“计算几何理论与应用(ComputationalGeometry Theory and Applications) ”第 40 卷第 61-78 页(2008)上、标题为“几何计算中的稳健性问题的课堂实例(Classroom examples of robustness problems in geometriccomputations) ”的文章中提出的;或者如Stefan Schirra,“几何计算中的稳健性和精确性问题(Robustness and precision issues in geometric computation),,,“计算几何手册(Handbook of Computational Geometry),,(Jorg-Rudiger Sack 和 Jorge Urrutia,编辑)第14章,第597-632页,Elsevier科学出版公司,2000中所提出的)。根据现有技术,建筑师使用CAD软件(例如,AuUdidiK.和Revil1;,由位于美国的
AutoDesk 公司开发;Google SketchUp)来产生不同的3D数字模型。这些模型可以包括
多个建筑部分,如墙壁、楼梯、屋顶等等。代表各个部分的数据可能是讹误的或者包含不一致性。即使该数据无瑕疵,每个单独的部分可能不适合3D印刷,因为它可能不够厚,或者它可能违反重力而悬浮于半空中。最后,组合在一起的所有部分可能不适合3D印刷,因为它们可能彼此相交并且包含奇点。自约三十年前创始以来,CAD软件一直在持续的发展。商业的3DCAD技术与工程 软件设计产品如SoMdmrkse、Inventor 、PTC , SdidEdge'以及对3D空间内
的分析和设计能力提供了改进的许多其他产品合并了。第一个用于快速原型制作的技术在20世纪80年代后期问世,并且商业的3D印刷机在此后立即随之出现,其目的是带来3D CAD软件设计所产生的真实的实体模型。今天,它们遍布了许多领域;它们被用于多种多样的应用并且甚至被用于以较小的数量制造多种生产高品质部件。一些雕刻家使用这种技术来生产用于精巧艺术品展览的复杂形状。但软件输入的品质尚较不能令人满意。用于3D印刷机的输入数据可能包含多个错误,这个事实已经导致后CAD的诊断和修复软件的发展,如
Materialise*. Marcam 和Deskartes* 等等。在现有技术中已经认识到了 3D印刷的这些问题,并且已经提出了不同的解决方案。例如,US2005/038549披露了对快速原型制作构建文件进行自适应修改的一种系统和方法。该方法包括以下步骤读取一个储存了三维对象的数字描述的快速原型构建文件。这种描述还包括从多个构建文件校正算法中选择一个构建文件校正算法的操作。对于另一个实例,US5,705,117提出了一种用于显现原型部分的立体光刻术方法,其中将一种非光敏聚合物材料包括在所得的部分之中从而显现一个起作用的原型部分。为了允许在显现的原型部分中放置插入物,定义了一系列STL文件以在多个单独的区段中形成该原型部分。每次形成一个区段时,就将一个非光敏聚合物插入物手动定位在该显现部分的一个区段上。此外,US7,343,216提出了一种用于组装建筑场所模型的方法,以便辅助对该模型重复的布置和去除树叶(foliage)。该场所模型被构造为一个上部外壳部分和一个下部地基部分,而将模型的树叶附连于该外壳部分上。该场所模型的上部外壳部分被配置成可去除地附连于该下部地基部分上。因此,从该场所模型中去除外壳还允许在一个动作中将树叶从该场所模型中去除。进一步地,JP11339070提出了通过对一个子文件中的实体子模型进行表面化、引入一个主文件中、并且与一个主要实体模型联合而产生表面模型的方法。为此,进行了一个改变操作,如该主要实体模型的局部切割、投影添加。基于以上观察,本领域继续需要提供一种方法和系统,该方法和系统能够将可能讹误的以及不一致的、表示为多边形网格(例如,非流形网格、相交的三角形、具有T节点的网格等等)的模型转换为有效的可印刷的模型从而用于一个较大的印刷设备组。
而且,本领域继续需要提供一种方法和系统,该方法和系统能够将3D对象的可能讹误的或不一致的数字模型转换为可以使用实体自由成形制造(SFF)(—种工艺,也称为快速原型制作(RP))进行自动构建的物理对象的模型。快速原型制作软件的出售商包括Materialise、Deskartes、Marcam Engineering、Kxinc 和 CADspan0此外,本领域需要提供一种方法和系统,该方法和系统能够处理建筑领域中存在的多种模型,如建筑物和景观、以及在许多其他领域中存在的模型,如科学上的可视化作用和物理拟真。此外,本领域需要提供一种方法和系统,该方法和系统被配置为修正讹误的模型并且去除不一致性以用于不同的过程,如3D印刷、组装规划、等等。还进一步地,本领域需要提供一种方法和系统,该方法和系统能够进行薄部分的增厚操作,同时保留其功能性、去除可能的相交处和奇点并将所有的部分统一成单个的可印刷的模型,该模型包括一个或多个闭合的2D流形而基本上没有伪像。本说明书中提及的所有公开文件和专利文件、以及其中直接或间接引用的公开文 件和专利文的披露内容都通过弓I用结合在此。发明概述本发明的某些实施方案寻求提供一种主要但不仅仅用于建筑用途的、将3D(三维)数字对象模型转化为对于3D印刷机有效的3D可印刷的形式的方法和系统。本发明的某些实施方案寻求提供一种使得(建筑师、工程师和建筑)使用者能够完全利用3D模型印刷技术的技术。在尝试以3D印刷机使用目前的软件(如Autodesk Revit、SketchUp)来印刷3D设计模型时,必须要手动矫正以便由这种设计产生精确的3D模型。这是比例问题、不同设计软件之间以及不同类型的3D印刷机之间的兼容性导致的。本发明的某些实施方案寻求在触摸一个键时自动地提供一种无误差的、准确的、精密缩放的、相当大的3D模型,而与所使用的3D设计软件和3D印刷机无关。本发明的某些实施方案寻求提供一种方法,该方法可工作来将现有的3D设计转化为与STL兼容的格式以便通过3D印刷机来使用,或是其他适当的格式,其中模型原型建构中节省的时间从每个模型几周减小到了几小时。本发明的某些实施方案寻求,由于价格限制和印刷机限制不是为每个设计创造一个模型,而是提供一种创造同一模型的任意多的副本和/或以不同的比例尺印刷多个模型的能力。本发明的某些实施方案寻求在建筑师、3D印刷服务提供商以及3D印刷机制造商之间进行连接,例如,使用云计算,由此获得了计算能力,因为常规的3D建模是一种要求高计算能力的操作。输入文件格式可以例如包括Autodesk Revit、Google Sketchup、AutoCAD DXF/DWG、VRML、STL中的任何一种或所有。编辑可以包括例如拆分、截取/分级、简化(多边形裁减)、分离(外壳、材料)中任何一种或所有。输出可以包括3D可印刷的模型(例如,STL,多材料)。这个过程可以包括修补(healing)、选择(交互)、增厚和并集(可印刷的STL)。
本发明的某些实施方案寻求为建筑师提供优点,例如一种或多种系统,该系统优选地提供了对客户展示其所计划的设计的能力、允许对不同的设计替代方案进行检查、提供了与客户的良好的视觉沟通、保存计划并且允许立即从客户获得反馈、允许建筑师全面控制这个过程(与目前的3D模型印刷过程不同)、和/或创造同一模型的多个副本和/或以不同的尺寸印刷同一个模型。建筑师可以将来自3D软件的模型上传到网站上,或这个过程可以基于云计算而进行。根据在此显示和描述的一种方法,进行了以下操作中的一些或所有a.找到多面体的3D骨架,例如使用直骨架、中轴线或替代的方法。b.骨架Φ立方体计算骨架与立方体的闵可夫斯基和,这个和在此被称为“膨胀骨架”。 c.计算原始多面体和膨胀骨架的并集。某些实施方案的一个特别的优点在于,如果现有的实体厚度已经大于一个预定的最小厚度,就不通过在此显示和描述的方法将其增厚。因此,根据某些实施方案提供了一种将具有一个或多个3D对象的不一致的3D (三维)模型转化为一种有效的可印刷的3D模型的方法,该方法包括a)接收一个输入模型文件和/或接收建模者数据,从而产生具有一个或多个部分的一个输入3D模型;b)分析该输入3D模型并去除其一个或多个不一致;c)对该3D模型的一个或多个部分增厚,同时保留其功能性;并且d)统一这一个或多个部分的内部体积的并集,由此去除自相交和/或这两个或更多个部分之间的相交,从而产生一种有效的可印刷的3D模型。根据本发明的一个实施方案,该方法进一步包括导入该输入模型文件和/或建模者数据。根据本发明的一个进一步的实施方案,这种导入进一步包括以下各项中的一项或多项a)对输入模型文件进行分析;并且b)从一个建模应用中获得建模者数据。根据本发明的又另一个实施方案,该方法进一步包括根据一个或多个预定义的指标来缩放或裁剪该3D模型。根据本发明的又另一个实施方案,这种缩放是自动进行的以便修正一个3D印刷机所限定的边界框。根据本发明的又另一个实施方案,这种缩放是基于用户提供的、预定义的比例因子而手动进行的。根据本发明的又另一个实施方案,该方法进一步包括通过一个具有⑶1(图形用户界面)的观察器来控制该方法的每个步骤。根据本发明的又另一个实施方案,该方法进一步包括基于物理分析而修改该3D模型,以便连接两个或更多个断开的模型部分并形成一个单一连接的3D模型。根据本发明的一个进一步的实施方案,该方法进一步包括将该3D模型分为一个或多个单独的子模型。
根据本发明的又一个进一步的实施方案,该方法进一步包括选择至少一个单独的子模型使其基本上独立地进行印刷。根据本发明的又一个进一步的实施方案,该方法进一步包括从该3D模型中去除一个或多个奇点。根据本发明的一个实施方案,这种增厚进一步包括以下各项中的一项或多项a)竖直增厚;以及b)水平增厚。根据本发明的另一个实施方案,这种增厚进一步包括a)确定该3D模型是否具有凸状的子部分,并且如果没有的话,将该3D模型的多个 部分分解为凸状的子部分;b)计算每个子部分的宽度;并且c)将竖直宽度小于一个第一预定义值的对应的子部分沿该竖直方向增厚,并且将水平宽度小于一个第二预定义值的对应的子部分沿该水平方向增厚。根据本发明的又另一个实施方案,该方法进一步包括导出该3D模型以进行3D印刷。根据本发明的又另一个实施方案,这种导出进一步包括以下各项中的一项或多项a)将该3D模型储存在一个输出模型文件中,该输出模型文件将该模型以一种受支持的文件格式呈现;并且b)将该3D模型发送至一个3D印刷机。根据本发明的又另一个实施方案,该输出模型文件是有待用于3D印刷的STL(立体光刻术)文件。配置了一种系统来将一个或多个3D对象的一种不一致的3D(三维)模型转化为一种有效的可印刷的3D模型,该系统包括a)由一个数据存储设备提供的输入模型文件和/或建模者数据;b) —个子系统,该子系统被配置成b. I.接收由该数据存储设备提供的一个输入模型文件和/或接收建模者数据,从而产生具有一个或多个部分的一个输入3D模型;b. 2.分析该输入3D模型并去除其一个或多个不一致;b. 3.对该3D模型的一个或多个部分增厚,同时保留其功能性;并且b. 4.统一这一个或多个部分的内部体积的并集,由此去除自相交和/或这两个或更多个部分之间的相交,从而产生一种有效的可印刷的3D模型;以及c) 一个3D印刷机,用于印刷该有效的可印刷的3D模型。一种机器可读的程序存储设备,明确地收录了该机器可执行的指令的一个程序,以便进行一种将具有一个或多个3D对象的不一致的3D (三维)模型转化为一种有效的可印刷的3D模型的方法,该方法包括a)接收一个输入模型文件和/或接收建模者数据,从而产生具有一个或多个部分的一个输入3D模型;b)分析该输入3D模型并去除其一个或多个不一致;c)对该3D模型的一个或多个部分增厚,同时保留其功能性;并且
d)统一这一个或多个部分的内部体积的并集,由此去除自相交和/或这两个或多个部分之间的相交,从而产生一种有效的可印刷的3D模型。还根据本发明的某些实施方案提供了用于产生通过3D印刷机可印刷的建筑结构的表现形式(representation)的一种计算机化的方法,该方法包括提供一种建筑结构的建筑模型,该建筑模型包括多个多面体;使用一个处理器对所述多面体中的至少一个与另一种其尺寸代表了该印刷机的能力的形状进行闵可夫斯基求和;并且使用这些并集后的输出多面体来产生一种通过3D印刷机可印刷的建筑结构的表现形式。进一步地根据本发明的某些实施方案,该方法在所述闵可夫斯基求和之前还包括将这些多面体之中的每个非凸多面体分解为多个凸多面体;并且该闵可夫斯基求和包括对至少一个凸多面体和另一种其尺寸代表了该印刷机的能力的形状进行闵可夫斯基求和。还进一步地根据本发明的某些实施方案,该方法还包括在该3D印刷机上印刷这 种表现形式。此外,根据本发明的某些实施方案,这种分解包括尝试将这些多面体之中的每个非凸多面体分解为多个除三角形之外的凸多面体,并且如果对于至少一个单独的非凸多面体而言这种尝试失效,则将该单个的非凸多面体分解为多个多边形并将这些多边形并集。根据本发明的某些实施方案还提供了一种计算机化的3D印刷系统,该系统将一个输入几何形状转化为一个3D可印刷的模型,该系统包括一个岗可夫斯基求和器,该求和器包括一个处理器,该处理器可工作来计算多面体与一个简单的小凸形的闵可夫斯基和,由此产生一种3D可印刷的模型;以及一个输出产生器,该产生器可工作来产生一种代表3D可印刷的模型的输出。进一步地根据本发明的某些实施方案,该至少一个凸多面体包括所有这些凸多面体。还进一步地根据本发明的某些实施方案,该形状包括一种简单的小凸形。另外根据本发明的某些实施方案,该形状包括一个立方体。进一步地根据本发明的某些实施方案,该立方体可以例如包括一个Imm x Imm xImm的立方体。根据本发明的某些实施方案还提供了一种计算机程序产品,该产品包括具有体现在其中的计算机可读程序代码的一个计算机可用媒体,该计算机可读程序代码被适配为被执行而实施一种用于产生通过3D印刷机可印刷的建筑结构的表现形式的方法,该方法包括提供一种建筑结构的建筑模型,该建筑模型包括多个多面体;对这些多面体中的至少一个与另一种其尺寸代表了该印刷机的容量的形状进行闵可夫斯基求和;并且使用该并集后的输出多面体来产生一种通过3D印刷机可印刷的建筑结构的表现形式。进一步地根据本发明的某些实施方案,这些多边形中的至少一些是三角形。还进一步地根据本发明的某些实施方案,该方法还包括将通过该闵可夫斯基求和而产生的闵可夫斯基和中的至少一些进行并集,由此产生至少一个并集后的输出多面体。另外根据本发明的某些实施方案,仅仅将作为分解结果的每个凸多面体集合的这些闵可夫斯基和进行并集。根据本发明的某些实施方案还提供了一种制备用于3D印刷的建筑模型的系统,该系统包括一个修补器,该修补器使用至少一个岗可夫斯基和计算来对这些建筑模型进行修补。进一步地根据本发明的某些实施方案,这种修补包括对该模型中的至少一个小空隙进行修补。还进一步地根据本发明的某些实施方案,这种修补包括对至少一个缺失的小面(facet)进行修补。还提供了一种计算机程序产品,该产品包括一种计算机可用媒体或计算机可读存储媒体,该媒体典型地是实体的、具有体现在其中的计算机可读程序代码,该计算机可读程序代码被适配为被执行而实施在此示出和说明的任何或所有的方法。所了解的是,在此示出和说明的任何或所有的计算步骤都可用计算机实施。根据在此的传授内容,这些操作可用通过一台专门为所希望的目标而构造的计算机或者通过一台专门为所希望的目标配置
的通用型计算机、靠储存在计算机可读存储媒体中的计算机程序来进行。可以使用任何适当的处理器、显示器和输入装置来处理、显示(例如在计算机屏幕或其他计算机输出装置上)、储存和接受信息,例如在此示出和说明的任何方法或装置所使用或所产生的信息,其中根据本发明的某些或所有实施方案,上述处理器、显示器和输入装置包括计算机程序。在此示出和说明的本发明的任何或所有的功能性都可以通过以下各项进行一种常规的个人计算机处理器、工作站或其他可编程的装置或计算机或电子计算装置(通用型的或专门构造的),用于进行处理;计算机显示屏和/或印刷机和/或扬声器,用于显示;机器可读的存储器如光盘、CDR0M、磁光盘或其他盘片;RAM、R0M、EPR0M、EEPR0M、磁卡或光卡或其他卡,用于储存;以及键盘或鼠标,用于接受。如以上使用的术语“处理”旨在包括对作为物理(例如电子的)现象呈现的数据的任何类型的计算或操作或变换,这可以发生或存留于一台计算机的寄存器和/或存储器内。术语处理器包括单个处理单元或多个分布式的或远程的这样的单元。以上装置可以通过任何常规的有线或无线的数字通信装置来进行通信,例如,通过有线的或蜂窝式电话网络或计算机网络,如因特网。根据本发明的某些实施方案,本发明的设备可以包括含有或以其他方式储存了指令程序的机器可读存储器,这些指令在被机器执行时实施了在此示出和说明的本发明的一些或所有的设备、方法、特征和功能性。替代地或附加地,根据本发明的某些实施方案,本发明的设备可以包括如上的一种可以按任何常规程序设计语言书写的程序、以及任选地一个用于执行该程序的机器,例如但不限于一台通用型的计算机,该计算机可以任选地根据本发明的传授内容进行配置或启动。结合在此的任何传授内容可以在任何适当的地方在代表物理对象或物质的信号上运行。在下面的章节中对以上提及的实施方案以及其他实施方案进行详细说明。在文字或附图中出现的任何商标都是其所有者的财产并且在此出现仅仅是为了解释或展示可以如何实施本发明的实施方案的一个例子。除非另外明确地指出,否则正如从以下讨论中很清楚的,应了解的是贯穿本说明书的讨论,使用诸如“处理”、“计算”、“估算”、“选择”、“评级”、“定级”、“算出”、“确定”、“生成”、“重新评估”、“分级”、“产生”、“制造”、“立体匹配”、“注册”、“检测”、“关联”、“叠加”、“获
得”或类似的术语来指代一个计算机或计算系统、或处理器或类似电子计算装置的动作和/或过程,这些动作和/或过程对在该计算系统的寄存器和/或存储器中作为物理量(例如电子的量)呈现的数据进行操作和/或变形使其成为在该计算系统的存储器、寄存器或其他此类信息储存、传输或显示装置中的类似地作为物理量呈现的其他数据。术语“计算机”应广义地理解,以便覆盖任何种类的具有数据处理能力的电子装置,作为非限制性的例子,包括了个人计算机、服务器、计算系统、通信装置、处理器(例如,数字信号处理器(DSP)、微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等等)以及其他电子计算装置。仅为了清楚起见,可以就专用于特定编程语言、操作系统、浏览器、系统版本、单独的产品以及类似物的术语来描述本发明。将会了解的是,这 种术语旨在以举例方式清楚且简明地传达一般的操作原理并且不旨在将本发明的范围限制于任何具体的编程语言操作系统、浏览器、系统版本、或单独的产品。在此分开地列出的元件不需要是不同的部件并且替代地可以是相同的结构。在此说明的一些或所有步骤可以采用一个计算机处理器,反之亦然。附图简要说明为了理解本发明并看到实际它可以怎样执行,现在仅通过非限制性实例的方式来参考


某些实施方案,其中-图I是现有技术的3D印刷技术的示意图,这种技术将待印刷的模型转化为较薄的水平截面并且接着创造相继的多个层直到完成印刷;-图2是根据本发明的一个实施方案的一种用于将可能讹误的且不一致的3D对象模型转换(转化)为有效的可印刷的模型的系统的示意图;-图3是根据本发明的一个实施方案的一种用于将可能讹误的且不一致的3D对象模型转换为有效的可印刷的模型的方法的流程图;-图4A是根据本发明的一个实施方案的一种自相交的模型的示意图;-图4B是根据本发明的一个实施方案通过引入一个恰当的棱而消除T形顶点的示意图;-图4C是根据本发明的一个实施方案通过添加该缺失的四边形而形成一种无缝的模型的示意图;-图4D是根据本发明的一个实施方案通过翻动该错误取向的多边形而形成一种无缝的模型的示意图;-图5A是根据本发明的一个实施方案在修补步骤中将单个的三角形转化为具有零体积的棱柱的示意图,其中顶部三角形与底部三角形之间的距离为零;-图5B是根据本发明的一个实施方案的膨胀操作的示意图;-图5C是根据本发明的一个实施方案对包括薄部分的楼梯应用的一种一般性增厚操作的示意图;-图6A是根据本发明的一个实施方案的包含拓扑奇点的模型的不意图;-图6B是根据本发明的一个实施方案对其应用了缝合操作而由此去除了拓扑奇点的模型的示意图;-图7是根据本发明的一个实施方案来统一两个无缝的墙壁及其网格的示意图;-图8是根据本发明的一个实施方案的一个样品Gn的图示,该样品显示了STL文件格式并且确保用户能够控制并选择要进行3D印刷的模型对象;-图9A-9B—起形成了一种方法的简化的流程图展示,该方法是根据本发明的某些实施方案可工作的以使得三维对象模型能够进行印刷;-图10是适合于进行图9A的步骤900的一种自适应分解方法的简化的流程图展示;-图11A-11B分别是在使用图9A、9B_10的方法进行处理之前和之后一个墙壁的平面图;-图12是本发明的一个实施方案的示例性实现方式的简图;-图13是对应于图12的简图的伪代码。将会了解的是,为了简单且清楚的展示,在附图中显示的元素不必成比例地绘制。例如,为清楚起见,某些元素的尺寸可能相对于其他元素被夸大。进一步,在认为适当的地方,可以在附图中重复参考号以指出对应的或类似的元素。
某些实施方案的详细说明除非另外明确指出,否则正如从以上讨论中很清楚的,应了解的是贯穿本说明书的讨论,使用诸如“处理”、“计算”、“算出”、“确定”或类似的术语是指代一台计算机的动作和/或过程,这些动作和/或过程将数据操作和/或变换为其他数据,该数据是以物理量(例如电子的量)呈现的。术语“计算机”应广义地理解,以便覆盖任何种类的具有数据处理能力的电子装置,作为非限制性的例子,包括了个人计算机、服务器、计算系统、通信装置、处理器(例如,数字信号处理器(DSP)、微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等等)以及其他电子计算装置。而且,根据在此的传授内容,这些操作可用通过一台专门为所希望的目标而构造的计算机或者通过一台专门为所希望的目标配置的通用型计算机、靠储存在计算机可读存储媒体中的计算机程序来进行。根据本发明的一个实施方案,系统200(图2)产生的模型被称为有效的可印刷的模型或简称为可印刷的模型。总体上,可印刷的模型满足了不同的印刷设备所强加的一组预定义的要求。不同的印刷设备强加了不同组的要求,因为它们是基于不同的技术。根据本发明,系统200满足了一个较大的印刷设备组、并且处理了不同的建筑模型,如建筑物和景观、以及在许多其他领域中存在的模型,如科学上的可视化作用和物理拟真。为简单起见,下面对本发明的详细说明主要涉及用于3D印刷的模型。然而,不应该认为本发明是仅仅局限于3D印刷,而本发明还可以涉及修正讹误的模型并且对于组装规划来去除不一致等等。图2是根据本发明的一个实施方案的一种用于将可能讹误的且不一致的3D对象模型转换(转化)为有效的可印刷的模型的系统200的示意图,这些3D对象模型是例如作为多边形网格(例如,非流形网格、相交的三角形、具有T形节点的网格等等)呈现的。根
据本发明的一个实施方案,常规的软件建模工具(例如AutoCad"和Revit )的用户(例
如,建筑师)创造3D中的对象的模型,如建筑物、景观等等。每种这样的工具创造的(数字的)模型包括3D中多个单独的任意部分(例如,墙壁、楼梯和屋顶)以及它们在3D空间中的对应的位置(即,平移和取向)。这些建模工具使用了若干常规的文件格式来储存这些模型(例如,STL (立体光刻术)和PLY (多边形)文件格式)。这些建模工具中的一些能够使第三方开发商扩展其主要应用程序并且通过常称为“插件”的其他计算机程序来提供新的特征。即,主应用程序提供该插件可以使用的服务,包括使插件用该主应用程序来注册自身的方式以及与插件进行数据交换的协议。根据本发明的一个实施方案,子系统215可以是一个独立的应用程序或一个插件,从而接受3D空间中的一个对象模型作为输入。系统200包括该子系统215,用于接收处于3D空间内的一个对象模型的文件以及对应的建模者数据211 (例如是由一个存储器单元(未示出)提供的)并且将这样一个对象模型转换(转化)为一个有效的可印刷的3D对象模型;以及一个3D印刷机220,用于印刷该有效的三维的对象模型。根据本发明的一个实施方案,建模者数据211可以包括实体建模数据和/或多边形汤(一个任意的多边形集合)。根据本发明的一个实施方案,通过子系统215来(自动地)检验该3D数字模型以便确定讹误或不一致。如果发现了一个或多个讹误或不一致,则子系统215将其修正。然后,通过应用对应的操作来(自动地)制备用于印刷的模型,例如通过增厚那些对于印刷机的分辨率而言不够厚的薄的部分。而且,识别出功能部分(例如,楼梯等等)并然后对其应用专门的增厚操作,由此保留其功能性。在所有的单独部分都准备好印刷(例如,足够厚并且不“悬浮在半空中”)之后,将它们统一,从而消除相交并且有可能去除奇点。其结果是,获得了最终的相干模型,该模型可以通过3D印刷机220来印刷(制造)。根据本发明的一个实施方案,系统200能够对STL (立体光刻术),VRML (虚拟现实建模语言)、以及X3D (基 于XML的(可扩展标记语言)文件格式,用于呈现3D计算机图形)文件格式的模型进行分
析。它还接受通过建模者(建模软件)如AutoCacf和Rex it11所产生的模型,这是通过
它们的对应的应用程序接口(API)。进一步地,系统200可以产生不同文件格式的有效的可印刷的模型,如STL文件格式,这些可以通过不同的3D印刷机来分析,并且因此它用作了呈现出用于印刷的3D模型的一种公用格式。根据本发明的一个实施方案,在系统200的输入端接收的模型文件206可以是讹误的或包含不一致。而且,单独的部分的物理尺寸对于3D印刷而言可能较小;另一方面,包括所有部分在内的整个模型的尺寸对于3D印刷而言可能较大。此外,这些单独的部分可能在其内部彼此相交,或者它们可能在其边界内在顶点或棱处彼此相交,从而导致奇点。因此,通过子系统215来应用一系列的操作,从而将输入模型(文件)206转换(转化)为可以用于快速原型制作并且用于具有类似要求的其他应用的一种模型。所应用的一系列操作是以流水线实施的,包括预定数目标阶段,例如九个阶段,其中一些可以是任选的并且可以跳过。根据本发明的一个实施方案,系统200使得能够将可能讹误的或不一致的3D对象数字模型转换为可以使用实体自由成形制造(SFF)(—种方法,也称为快速原型制作(RP))而自动构建的物理对象的模型。该可印刷的模型必须配合在一个边界框内,例如由该3D印刷机220预定义的要求所规定的。根据本发明的另一个实施方案,如果该模型相对于该边界框较大,则必须根据该边界框将其缩小或裁剪。图3是根据本发明的一个实施方案的一种用于将可能讹误的且不一致的3D对象模型转换为有效的可印刷的模型的方法的流程图300。根据这个实施方案,该方法包括以下步骤中的一些或所有,如所显示的,例如是适当排序的导入305、修补315、缩放320、增厚(膨胀)325、支撑340、选择(裁剪)345、统一 350、去除奇点360以及导出365,其中一些是任选的并且可以跳过(如支撑步骤340和去除奇点步骤360)。在步骤305,导入模型数据。代表该模型的输入模型文件206 (图2)是通过在子步骤306对所支持的文件格式如STL进行分析而获得的,或者该数据是在步骤307通过建模应用程序API(应用程序接口)而直接从一个建模应用程序获得。在步骤315,接收这些(对象)模型、进行分析并去除它们的不一致(如果存在的话)。为此,产生了多个闭合的2D流形(它们可以彼此相交)。这个操作被称为修补。然后,在步骤320,根据用户选择对该模型进行缩放,要么自动进行以配合在该3D印刷机220(图2)所限定的边界框内、要么通过用户提供的比例因子而手动进行。为此,将该模型的这些特征的坐标映射为现实世界的坐标。自然,这仍可能产生一种对于通过给定的3D印刷机220 (图2)来制造(印刷)而言较大的模型,因为它超出了 3D印刷机220所限定了建造体积。可以使用一个独立的查看器来在步骤330查看(并且在需要时进行设置/调节)每个阶段的输出结果、特别是最终的输出结果,该输出结果可以独立地发送至3D印刷机220(图2)。用户可以进行系统200的相应配置,例如使得能够膨胀不同种类的模型对象、决定印刷一个还是多个单独的(子模型)元素、选择一个3D印刷机220、选择一个比例因子等等。然后,在步骤325,通过应用多个操作来将制备该模型用于3D印刷(例如通过增厚薄的部分)而进一步考虑(保留)这些部分的功能性。此后,在步骤340,基于一种物理分析来对该模型进行修改,例如通过添加支撑梁来连接两个或更多个分离的部件并且形成一种个别连接的模型。此后,应用该选择步骤345,在其中选择要进行3D印刷的 一个或多个模型部分。这个步骤通过将完全或部分超出了该选定的3D印刷机限定的边界框的多个部分自动解散而开始。也支持手动选择单独的部分。使用该查看器来进行用户选择。该查看器可以显示整个模型,其中将选定的这些部分与解散的部分不相同地进行渲染,从而在这两个互补的子集之间进行区分。这两个子集的渲染由用户单独地控制。在步骤350,将该实体部分(或多个部分)的内部体积的并集(在步骤340产生)进行统一,由此去除自相交和不同部分之间的相交。然后,在步骤360从模型中去除奇点。S卩,识别出奇异的顶点和棱并切掉,由此产生单个的(无奇点的)流形,或者缝合该模型,从而产生若干个基本上断开的2D流形。最后在步骤365,导出该模型。可以将该模型储存在以所支持的文件格式呈现该模型的一种输出模型文件中、或者可以在步骤370将其发送至一个3D印刷机 220 (图 2)。根据本发明的一个实施方案,用户使用一个查看器来观察以上步骤中每一个的输出结果,该查看器是一个交互式软件部件,它可以从不同的视图在三维中渲染该模型,这是由用户控制的。由于在步骤305过程中的分析操作可能要求较多的计算时间,因此用户可以控制其复杂性。因此,作为默认项,可以进行一个低复杂度的分析。而且例如,用户可以查看在步骤315中应用的修补过程的结果。如果讹误或不一致性仍存在并且用户看到了,则可以应用高复杂度的分析。根据本发明的一个实施方案,步骤305的结果是包括一个或多个闭合的2D流形而基本上没有伪像的一个有效模型。然而,这些2D流形有可能彼此相交。根据本发明的一个实施方案,这种修补(在步骤315中应用的)使得能够重建一致的3D实体模型、并且使得能够由限定了适当的实体部分的一个任意的多边形集合(多边形汤)来获得边界表示。不可定向的2D流形(例如克莱因瓶)和非闭合的2D流形(例如默比乌斯带)包括非法输入,因为它们没有限定恰当的实体。根据本发明的一个实施方案,提供了自动修补输入模型(例如通过STL文件呈现的)的一组不同的方法(技术)。这些方法可以在效率与品质之间采取折衷,并且例如可以默认使用最有效率的策略。用户可能能够查看结果并请求重新处理这些模型直到结果令人满意。这样,导入步骤305的结果可能是包括一个或多个闭合的2D流形而基本上没有彼此相交的伪像的一个有效模型。获得一个较高品质的模型的方法可以产生基本上不含不一致性的模型;为此可以实施T. EMurali等人(在标题为“来自任意多边形数据计算机图像的一致的实体和边界表不(Consistent Solid and Boundary Representations fromArbitrary Polygonal Data Computer Graphics) ” 1997 交互 3D 图像讨论会的会议录,Providence,第155-162页,1997的文章中)介绍的一种技术。根据这种技术,空间被分隔为多个凸多面体区域,这些区域被多个支撑这些输入多边形的平面所分开。通过对基于区域之间的边界的不透明度的规则所得出的线性方程系统进行求解而识别出多个实体区域I)共用一个大部分透明的边界的两个相邻单元很可能具有相同的实体性(即,如果一个是实体的,则另一个也是);2)共用一个大部分不透明的边界的两个相邻单元很可能具有相反的实体性(即,如果一个是实体的,则另一个不是);并且3)无边界的单元(即,在外部包含无穷远点的那些)不是实体的。一旦已经识别出实体区域,则可以输出没有相交的、共 面的、或不相连的多边形的一致的实体模型。根据本发明的一个实施方案,对每个模型部分独立地进行分析,这种分析采用了对于平面图像而言公知的欧拉公式。让v、e和f分别表示每个部分的顶点、棱和面。然后,等式v+f = e-2必须成立。较不耗时的修补策略典型地是如下进行的。首先,去除相同的和退化的特征,如相同的三角形、退化的三角形/棱。然后,归并ε趋向(epsilon-close)的特征,并且通过拆分棱而消除T节点。这样一次拆分引入了两个多边形来代替一个原始的多边形。地貌是陆地表面的竖直维度。它典型地表示为地貌特征的海拔、并且通过附属于单个面的棱所界定的非流形2D表面来表示。在附属于单个面的棱所界定的3D空间内的非流形2D表面代表一种地貌、或者简单地包括一个零体积部分的不完全表示。这个修补阶段识别出了这样的表面。将地貌表面像这样进行分类,并修复多个对象(如墙壁)的不完全表示。去除剩余的表面。这样一个表面的修复操作相当于引入了具有相反取向的一个2D表面以及沿着该边界的一个ID(—维的)表面。这产生了可以通过增厚步骤325来处理的一个零体积的部分。根据本发明的一个实施方案,如果该模型对于满足该3D印刷机的要求(配置)而言较大,则必须根据例如该印刷机预定义的要求所规定的一个边界框将其缩小(在步骤320)或裁剪(在步骤345)。这个缩放操作将该模型的这些特征的坐标映射为现实世界的坐标。进一步地,这个裁剪操作在包括该模型的这些部分之中仅选择被完全包含在该边界框内的那些部分。根据本发明的一个实施方案,这个缩放操作在该增厚步骤325之前进行,因为所得的模型可能包含不够厚的部分。根据本发明的另一个实施方案,这个裁剪操作在该统一步骤350之前进行,并且也可以支持对单独的部分进行手动选择。使用该查看器(在步骤330中)来进行用户选择。例如,该查看器可以显示整个模型,其中将选定的这些部分与非选定的部分不同地进行渲染,从而在这两个互补的子集之间进行区分。而且,对这两个子集的渲染可以由用户单独地控制。根据本发明的一个实施方案,在增厚和膨胀步骤325的过程中,对一个模型的每个部分进行分析以便确定这个部分对于3D印刷而言是否足够厚。如果不够厚,则以如下方式改变这个部分使所得的部分变得足够厚。从功能观点来看,不加区别的增厚可能导致一种与原始模型不匹配的扭曲的模型。因此,对于识别出的部分的预定的族(family)使用专门的过程,以便保留其功能性。CAD模型包括不同类型的部分,例如墙壁、窗口、楼梯、竖框(mullions)、屋顶、地板、地貌等等。这些不同类型的部分在被创造时就被分类。根据本发明的一个实施方案,如果保留这种分类,则在步骤325中应用一种新颖的增厚方法(算法)。根据本发明的另一个实施方案,该增厚步骤可以应用两次以便满足常规的3D印刷机220 (图2)所强加的这两个不同的、对应的增厚指标。根据第一个指标,所有的部分必须在竖直方向上足够厚。这可以被称为竖直增厚。根据第二个指标(称为水平增厚),所有部分必须在XY-平面(X和Y是坐标系中的轴)内包含的所有方向上足够厚。一般地,竖直和水平增厚操作以两种方式区分开。首先,竖直增厚较少被涉及,因为它处理单个的方向。其次,对这些部分的特定族沿竖直维度施加膨胀。假定1和\分别是竖直的(层)和水平的最小厚度(具有预定义的值)。这个增厚操作包括以下子步骤中的一些或所有,如所描述的,是适当排序的。首先,将所有的部分分解为凸状的子部分(多胞形);在许多情况下,输入模型(文件)已经包括了凸状的子部分。其次,计算每个子部分的宽度。然后,将竖直宽度小于tv的子部分沿该竖直方向增厚,并且将水平宽度小于th的子部分沿适当的水平方向 增厚。当识别出一个子部分不够厚时,则将其边界的一个或多个小面进行平移,以保留该边界的这些特征的附属关系。沿一个给定方向d进行增厚相当于在d方向上平移特征。有三种类型的增厚操作,即,缩放、膨胀和偏移。假定P是一个部分,并且和Wh分别是P的竖直和水平宽度,指向竖直宽度方向的标准化向量是< =(0,0,1) ο假定指向水平宽度方向的标准化向量是dh= (dx,dy,0)。如果使用缩放来将P增厚,则使用以下一个或多个预定义的指标(比例因子)。如果应用竖直增厚,则仅将这个部分在z维度上缩放。所应用的比例因子是所希望的宽度与这个宽度之比,即tv/wv。如果应用水平增厚,则将这个部分在X维度和I维度上缩放。X-缩放因子和y-缩放因子分别是dx · th/wh和dy · th/wh。这造成了将这些部分最低程度地放大,但足够厚。假定f是垂直于宽度方向的平面所支持的特征,并且F是含f、其附属特征、以及附属于这些特征的顶点的特征集合。如果f是一个小面,则F包含这个小面以及f的边界上的所有顶点和棱。如果f是一条棱,则F包含这个棱、其两个附属的小面、以及这两个附属的小面的边界上的所有顶点和棱。如果f是一个顶点,则F包含这个顶点、附属于该顶点的所有小面、以及在这些附属的小面的边界上的所有顶点和棱。如果使用膨胀来将P增厚,则F中的这些特征被平移以便满足宽度要求。对于竖直和水平增厚,它们分别被平移了指向宽度方向的一个长度为(tv_wv)和或(th-wh)的向量。随后,如图5B中示意地呈现的,对整个模型进行调整(部分520和525)。如果使用偏移来将P增厚,则对于竖直和水平增厚,F中的所有特征的支撑平面分别被平移了指向宽度方向的一个长度为(tviv)和或(thih)的向量。一个多胞形的宽度是该多胞形与该多胞形的完全相同的副本之间的穿透深度,这进而又是该多胞形的原点与该多胞形和其经过该原点的镜像的闵可夫斯基和之间的最小距离(例如,E. Berberich等人在提交给计算机科学数学版,Springer, 2009的、标题为“参数曲面II上的排列具体化及应用(Arrangements on Parametric Surfaces II:Concretizations and Applications),,的文章中提出的)。两个多胞形P和Q的闵可夫斯基和的高斯映射是P的高斯映射与Q的高斯映射的球体叠加。对于每个多胞形P,计算了 P的高斯映射及其镜像的高斯映射。然后,计算这两个闻斯映射的置加,并且获得P及其镜像的岗可夫斯基和的闻斯映射。此后,获得该岗可夫斯基和的这些小面。最后,计算原点与这些面之间的竖直和水平距离。如果该竖直和水平距离分别小于1和th,则根据本发明的一个实施方案,应用这些增厚操作(例如,缩放、膨胀和偏移)中的一个,直到满足该距离指标。在竖直方向应用一次就相对足够了。然而,要满足水平方向的距离指标,可能要去将这种增厚使用多于一次(即,若干次的循环)。根据本发明的一个实施方案,该输入模型(文件)可以包含在3D空间中作为2D表面呈现的地貌部分。必须将一个地貌表面转化为具有非零体积的实体部分。为此,首先在该输入模型中识别出所有地貌表面。典型地,地貌表面的分类在该输入模型中被保持。而且,根据本发明的这个实施方案,识别出了在修补步骤315中首先没有像这样进行分类的这些地貌表面。一旦识别出一个地貌表面,则将这个表面的顶点投影到与XY-平面平行的一个平面上,并且引入必要的边界多边形,从而形成一个对于3D印刷有效的2D流形。假定P (P =(px,py,Pz))是该地貌表面的一个具有最小竖直坐标Pz的点(X、Y和Z是一个坐标系的轴)。然后,可以放置包含了在Z = Vz-tv处的这个投影的平面,从而满足该最小竖直宽度指标。根据本发明的另一个实施方案,如果对一个薄部分的边界的平移操作涉及一个屋顶或地板,则必须对整个模型进行调整。平移与调整的组合操作被称为膨胀。总体上,膨胀操作可以被视为增厚操作的一个变体,它影响了位于这个被平移的、具有最低竖直坐标的特征上方的这些部分的特征。因此,膨胀操作基本上不在模型部分的内部之间引入相交处。根据本发明的又另一个实施方案,将按照字典式排序法储存的所有部分的所有点的辅助数据结构首先根据其z坐标、然后根据其y坐标、并且最后根据其X坐标来进行维护。假定P是一个不够厚的部分,并且P = (Px,Py, Pz)是在该增厚操作过程中被平移的P的所有点中在其边界上具有最小z坐标的一个点。而且,假定Vz是平移向量。那么,基本上这些具有等于或大于的Pz的z坐标的部分的所有点都被平移了 vz。这些点可以较容易地在该辅助数据结构中找到,并且接着将这些棱和小面的关联更新至这些平移后的点。如已知的,属类的增厚在不加区别地应用时可能导致扭曲的对象。这种属类的增厚操作可以将一个操作数对象变形到如下的点在此处获得的对象所起的作用不是建模者(例如,建筑师)为其原始地设计的作用。楼梯和竖框对这样的扭曲比较敏感。因此,根据本发明的一个实施方案,如果输入模型包含楼梯或竖框,并且它们可以照这样被自动地或被用户所识别,则应用一个(用户控制的)专门的增厚操作,这个操作将原始的模型部分(称为源)替换为新的模型部分(称为目标),该目标⑴起到了与源相同的作用、并且(ii)满足了宽度指标。为此,创造了现成的3D可印刷的部分的一个较大的数据库并根据这些3D可印刷的部分的功能性进行分类。根据本发明的一个实施方案,候选的多对部分(一个待去除的源部分和相反的待插入的目标部分)可以由系统200(图2)自动建议。使用该查看器进行常规的交互式选择,系统200使得用户能够添加或去除候选物,并且它还使得用户能够覆盖目标部分。一旦认可了一对(批准了特定的源与目标对之间的置换),则计算该源部分的边界框,裁剪该目标部分以配合在该边界框内,并且最后插入该缩放后的目标部分以代替该源部分。根据本发明的一个实施方案,该输入模型可以包含未被较好地支撑的、或者“悬浮在半空中”的部分。根据本发明的这个实施方案,这样一个输入模型的制造(印刷)可以通过完成以下两个步骤来实现。在第一个步骤中,顺次地添加每个部分的多个层而将每个层的某些块实体化。在第二个步骤中,将未被实体化的块洗掉并去除(假定这两个步骤都在图3中表示为支撑步骤340)。没有被较好地支撑的部分(称为悬浮部分)被断开并且失去了它们相对于原点和其余部分的位置。因此,识别出这样的悬浮部分。对于每个悬浮部分,提供了引入一个支撑该悬浮部分的新的部分。将这个支撑部分一方面连接到该悬浮部分的重心上、并且另一方面连接到某个方向上的射线所遇到的第一个部分上。可以默认地使用负的竖直方向作为出射方向。根据本发明的一个实施方案,该模型进一步可能不配合在该3D印刷机220所限定的建筑体积(典型地是与主轴对齐的一个框)内。根据本发明的一个实施方案,该建筑体积必须包含要印刷的所有部分。完全或部分超出该建筑体积的所有部分可以被自动解散。应该注意的是,默认地选择所有完全位于该建筑体积内的部分进行印刷。此外,例如在超出 该建筑体积的部分不能被选择用于3D印刷的情况下,用户可以利用该查看器在查看步骤330中进行手动选择。而且,系统200支持在选择步骤345的过程中应用一个细分操作,在其中选择了要进行3D印刷的部分。用户可以请求系统将包括该模型的这些部分的集合细分为若干(单独的)子集。这在该模型没有全部包含在该建筑体积内时可能变得很有用。此外,一种自动工具可以将该模型分为可以多个独立进行制造(印刷)的子模型。用户可以利用该查看器将多个部分从一个子集移动到另一个子集。然后可以对这些不同的子集独立地进行处理。根据本发明的一个实施方案,从该修补步骤315输出的模型包含多个无缝的、基本上没有伪像的部分。然而,这些部分可能相交,并且其并集可能不代表一个闭合的2D流形。此外,该增厚步骤325甚至可以增大相交处的数目(它还可以将模型部分的边界之间的相交处替换为它们的内部之间的相交处)。因此,根据本发明的一个实施方案,多个部分的内部之间的相交处在统一步骤350中被去除,该统一步骤可以采用具有不同特征的两种方法。第一种方法是对现有技术的双行进立方体(DMC)算法的一种扩展(如
S.Schaefer等人在标题为“双行进立方体双网格的原始轮廓化(Dual Marching Cubes Primal Contouring of Dual Grids),,,计算机图形学论坛(Computer Graphics Forum),第24卷第I期,第195-201页,2005的文章中呈现的),并且第二种方法是实施M. Segal等人在标题为“分隔多面体对象为不相交的部分(Partitioning Polyhedral Objects intoNon-Intersecting Parts) ”,IEEE 计算机图形学及其应用(IEEE Computer Graphics andApplications),第8卷第I期,第53-67页,1988的文章中介绍的一种现有技术。这种双行进立方体算法可操作来构造一种环绕一个对象(部分)进行自适应的体积分隔(八叉树),并且不是将该行进立方体(MC)算法应用于八叉树,而是构造了一个对偶图,并且接着将该行进立方体算法应用于它。该DMC算法允许产生一种更接近于该输入表面的输出结果。此外,该DMC算法要求一个体积函数,其值代表了密度信息或到一个表面的距离。根据本发明的这个实施方案,对常规的双行进立方体算法(方法)进行扩展以处理不一致的网格而不是等值面函数,这产生了一种适合于3D印刷的单一的有效的网格。换言之,将该双行进立方体算法应用于2D流形网格以便创造其并集的单一的闭合的2D流形表面。由于该行进立方体算法要求在这些体素(体积像素)的拐角处的一个距离场(等值面)(对于一个网格集合是未定义的),并且由于将该MC算法应用于该对偶图,因此需要对该八叉树(一种树形数据结构,其中每个节点具有高达八个“孩子”)中的每个体素具有一个对偶点和一个值。将该对偶点放在该输入表面上(例如,若单一平面经过了该体素,则将它放在这个平面上或顶点处,如果该顶点是该体素中的唯一特征的话),并且将这个值设定为较小的负值。然后,根据本发明的一个实施方案,当达到了最大深度并且该体素仍需要进行细分时,可以使用射线追踪来确定该体素的中心是位于该输入体积之内还是之外,并且相应地设置它的值。“射线追踪”是一种公知的用于计算穿过一个系统的波或粒子的路径的常规方法。使用较小负值的原因在于这允许使该输出表面较靠近该输入表面。根据本发明的一个实施方案,从统一步骤350产生的模型可能包含拓扑奇点。因此,在步骤360,可以从多边形的非流形集合中去除这样的奇点以便创造流形多边形表面。这个去除模型奇点的步骤是任选的,因为具有奇点的模型一般是可印刷的。另一方面,在许多情况下,希望具有一种不具有被断开的组分的模型。这个去除奇点的步骤360可以例如基于A. Gueziec等人在标题为“切割与缝合转化多边形集合为流形表面(Cutting and·Stitching !Converting Sets of Polygons to Manifold Surfaces),,,在 IEEE可视化与计算机图形学 艮(IEEE Transactions on Visualization and Computer Graphics),第 7 (2)卷,第136-151页,2001中出版的文章中所介绍的一种算法。为了去除模型奇点,首先识别出奇异的顶点和棱。然后,对识别出的奇异顶点做乘法、并穿过单个棱进行切割,得到了若干个断开的流形实体部分。如果(例如,用户请求)要求一个任选的缝合操作,则将边界的棱连接起来以将该表面维持为一个流形。所实施的算法的变体确保了这些代入的多胞形的宽度对于3D印刷而言足够大。根据用户的选择可以禁止奇点。根据本发明的一个实施方案,在导出步骤365的过程中,输出的3D模型被储存为所支持的文件格式,如STL文件格式,或者被直接发送至3D印刷机220 (图2)以便制造。以所支持的文件格式之一存在于文件中的输出3D模型可以在任何时候进行读取并发送至一个3D印刷机。如果系统200(图2)的输出结果包括若干模型,则可以将每个模型储存在单独的文件中。类似地,可以在任何方便的时间将每个这样的3D模型文件发送至一个3D印刷机。根据本发明的一个实施方案,一个独立的交互部件(称为查看器)允许用户在步骤330查看在图3中呈现的每个步骤的输出、进行某些改变、并覆盖默认设置。该查看器将该模型渲染到屏幕(显示器)上的一个窗口上,从而将该三维的数字模型投影到(如从某个查看点所看到的)包含该屏幕的2D平面上。用户可以交互地并且较顺畅地改变查看点。用户还可以改变其他相关的查看参数,例如使用正交的还是透视的投影。该查看器可以装备有一个图形用户接口(GUI),它允许用户设置、重设、或覆盖不同的系统参数。3D印刷机220 (图2)限定了一个包含所有要印刷的部分的建筑体积,典型地是与主轴对齐的一个框。该查看器可以渲染3D印刷机220所规定的建筑体积,将完全或部分超出该建筑体积并且因此必须解散的部分高亮显示。默认地选择所有完全位于该建筑体积内的部分进行印刷。该查看器对被选择用于印刷的这些部分进行渲染。它还可以渲染非选定的部分,并且它可以将这两个互补的集合以一种用户可以在选定的与非选定的部分之间进行区分的方式来进行渲染。该查看器使得用户能够覆盖由系统200(图2)进行的默认选择,将多个部分从选定的集合移动至非选定的集合并且反之亦然(例如,超出了该限制体积并且不能被选择用于印刷的部分除外)。根据本发明的另一个实施方案,用户可以请求系统200将包括该模型的部分的集合细分为若干子集。这在该模型没有全部包含在该建筑体积内时可能变得尤其有用。一种自动工具将该模型分为可以独立进行制造(印刷)的(单独的)子模型。不同集合中的部分被不同地渲染,并且用户可以将多个部分从一个集合移动至另一个。然后可以对这些不同的集合基本上独立地进行进一步处理。该查看器允许用户检验该“修补过的”模型,即,修补步骤315的输出。如果用户对结果不满意,那么用户可以选择一种不同的修补策略并且重复应用该修补操作。进一步地,该查看器可以使用不同的有效化方案策略,并且它可以显示出该模型中的可能影响3D印刷的潜在伪像。它还可以允许用户标记这些潜在伪像并将其作为提示而提供给这个修补操作。根据本发明的又另一个实施方案,该查看器还允许用户动态地改变比例因子。此外,它允许用户改变系统200的许多参数,如设定竖直的和水平的增厚指标。该查看器使得能够对选定的部分进行受控的置换,否则这些部分将会被属类的的增厚操作变形、并且丧失其预期的功能性。进一步地,根据本发明的又另一个实施方 案,该查看器允许用户在该模型于步骤370被发送至3D印刷机220或在步骤366被保存在输出模型文件中之前对其进行检验(用户可以从预定的格式集合中选择所希望的输出文件格式)。图4A是根据本发明的一个实施方案的一种自相交的多边形400的示意图,该多边形可以在一个输入模型中作为一个小面出现。模型部分405和410的棱“a”和“b”彼此相交。在顶部右侧的有界区域是被限定的并且闭合的,但在底部左侧的有界区域不是。穷尽式的修补策略修正了这个瑕点。具体而言,将包括无效的小面的自相交多边形拆分为若干多边形,其中的一些被保留而其他的被去除。图4B是根据本发明的一个实施方案,通过引入一个恰当的棱417而消除T顶点416的示意图。图4C是根据本发明的一个实施方案,通过在模型425中添加该缺失的四边形426而形成一种无缝的模型425'的示意图。包括一个小面的这个顶部多边形在左侧的部分的模型中不存在。加入这个缺失的多边形而形成右侧的无缝模型。图4D是根据本发明的一个实施方案,通过翻动该错误取向的多边形431而形成一种无缝的模型430'的示意图。一个多边形的边界上的这些顶点的顺序必须是逆时针的。在左侧的部分的模型中在这个包括一个小面的顶部多边形的边界上的这些顶点是按顺时针的顺序。这意味着下面这个平面的法向是错误地朝下指向的,如在该图中由箭头432展示的。将这个错误取向的多边形的边界上的这些顶点的顺序反转,而形成右侧的一个无缝的模型。图5A是根据本发明的一个实施方案,在修补步骤315 (图3)中将单个三角形505转化为具有零体积的棱柱的示意图,其中顶部三角形511与底部三角形512之间的距离为零。仅为了清楚起见,顶部三角形与底部三角形511和512在图5A中是分开的。这个图展示了对地貌数据的处理。地貌是陆地表面的竖直维度;它典型地表示为地貌特征的海拔、并且通过附属于单个小面的棱所界定的非流形2D表面来表示。在修补步骤315的过程中,识别出这个断开的三角形505并将其分类为地貌。然后,将一个具有相反取向的三角形与形成棱柱510的其他特征一起引入。这产生了可以通过增厚步骤325来处理的一个零体积的部分。图5B是根据本发明的一个实施方案,在步骤325(图3)中应用的膨胀操作的示意图。膨胀后的模型520'包括两个部分526'和527',它们具有不同地尺寸的盒子的形状(类似于包括两个部分526和527的原始(未膨胀的)模型520)。这个包含底部盒527'的顶小面的平面还包含顶部盒526'的底小面。底部盒527'在竖直方向上不够厚。因此,将其在竖直维度上膨胀。即,将顶面及其附属特征(即,边界上的顶点和棱)沿正的Z方向平移。其结果是,位于这个包含了底部盒527'的顶小面的平面上方的所有特征也被平移了。图5C是根据本发明的一个实施方案,对包括楼梯530(由薄部分组成)应用一种属类的增厚操作从而产生楼梯530'的示意图。楼梯530"是用户可以在属类上产生的楼梯模型楼梯530'的基础上进行选择的一个替代方案。楼梯530"是对楼梯530应用一个 放大的增厚操作、并然后根据原始部分(即,楼梯530)的边界框进行裁剪的结果,或者它是从用户可以通过系统200(图2)访问的楼梯数据库中提取的一个模型的实例。例如,可以将一个属类的增厚操作应用于一个由薄部分组成的竖框模型,从而产生根据本发明的一个实施方案的一种包括分隔了相邻窗口单兀的部分的竖框模型。典型地不选择这些窗口用于3D印刷。属类缩放的结果包含厚窗口分隔物和小窗口(就高度和宽度而言)。可能希望的是,以减小窗口数目的代价来保留窗口的尺寸。图6A是根据本发明的一个实施方案的包含拓扑奇点611和612的模型605、610和615的示意图。这些模型形成了一个非流形实体部分。该非流形的(奇异的)棱611和顶点612用更粗的笔绘出。图6B是根据本发明的一个实施方案,对其应用了缝合操作而由此去除了拓扑奇点611和612(图6A)的模型605、610和615的示意图。识别出了奇异顶点61Γ和棱612'。然后,将识别出的奇异顶点611'和附属于奇异棱612'的顶点相乘。最后,将这些边界棱连接起来而维持该表面为一个流形。根据本发明的一个实施方案,子系统215(图2)确保了在缝合过程中新引入的多胞形的宽度对于3D印刷而言足够厚。图7是根据本发明的一个实施方案,将两个无缝的墙壁705和710及其所创造的
网格一起通过例如Revitli软件进行统一的示意图。根据本发明的一个实施方案,对常规的
双行进立方体算法(方法)进行扩展以处理不一致的网格而不是等值面函数,这产生了一种适合于3D印刷的单一的有效的网格。换言之,将该双行进立方体算法应用于2D流形网格以便创造其并集的单一的闭合的2D流形表面。由于该行进立方体算法要求在这些体素的拐角处的一个距离场(等值面)(对于一个网格集合是未定义的),并且由于将该MC算法应用于该对偶图,因此需要该八叉树中的每个体素具有一个对偶点和一个值。将该对偶点放在该输入表面上(例如,若单一平面经过了该体素,则将它放在这个平面上或顶点处,如果该顶点是该体素中的唯一特征的话),并且将这个值设定为较小的负值。然后,根据本发明的一个实施方案,当达到了最大深度并且该体素仍需要进行细分时,可以使用射线追踪来确定该体素的中心是位于该输入体积之内还是之外,并且相应地设置它的值。使用较小负值的原因在于这允许使该输出表面较靠近该输入表面。其结果是,通过将这种方法应用于模型715,产生了单一的连续2D流形实体网格730,这对于3D印刷是有效的。所提出的方法(从双行进立方体算法中扩展)可以用于建筑学(例如处理建筑物和景观的3D模型)或用于任何其他领域。图8是根据本发明的一个实施方案的一个样品⑶I的图示,该样品显示了 STL文件格式并且确保用户能够控制并选择要进行3D印刷的模型对象。根据这个实施方案,通过使用例如STL模型文件来将较大的模型以3D进行印刷可能是个问题。因此,提出了一种自动工具,它可以将该模型自动地分为两个或更多个子模型并且将其中的每个独立地进行印刷。换言之,可以将该STL文件分为两个或更多个有效的STL文件,使得其中的每个都包含一个闭合的2D流形网格。而且,可以提供一个对应的⑶1(图形用户接口),它显示了输入和输出格式文件、标记了 STL无效区域并且允许用户选择一个或多个部分进行印刷。这个 GUI可以显示所有的模型部分和STL输出,并且因此允许例如建筑师来选择这些部分进行3D印刷。该⑶I还可以包括一个STL有效化工具,该工具显示了在该STL文件中可能影响3D印刷的伪像(如空隙、相交处和退化/共线的三角形/棱)并且让建筑师来决定是改变这些具体的有问题的部分还是继续3D印刷。此外,该STL文件可以被转化为其他格式,如可以通过⑶I来可视化的VRML。例如,可以提供一个数字模型实体模型作为系统200(图2)的输入,然后通过系统200进行处理并通过3D印刷机220(图2)来印刷,从而产生一种根据本发明的一个实
施方案的物理实体模型。该数字模型实体模型可以例如是通过Geoteetum (由建筑师
Dr. Joseph(Yossi)Cory创建的、获奖的建筑工作室)设计的一种建筑结构。可以使用一种软件工具来将该数字模型渲染到屏幕上;这个渲染工具将包括该数字模型的3D数据投影到2D屏幕上。图9A-9B —起形成了一种方法的简化的流程图展示,该方法是根据本发明的某些实施方案可工作的、用于使得三维对象模型能够进行印刷。图9A-9B的方法典型地包括以下步骤中的一些或所有,例如是适当排序的,显示为步骤810 :提供一个建筑结构的建筑三维模型(如Revit、Sketchup, DXF/DWG、VRML、STL)步骤820 :载入到场景图中步骤830 :决定是否进行预处理,例如使用已知的技术步骤840 :任选地或在对于应用而言适当时,进行小面取向/法线方向的校正,例如使用已知技术步骤850 :任选地或在对于应用而言适当时,使用常规技术如德洛奈(Delaunay)三角剖分进行三角剖分步骤860 :任选地或在对于应用而言适当时,进行舍入/扰动,例如使用常规的技术步骤870 :任选地或在对于应用而言适当时,进行初始分解/拆分成多面体/实体,例如使用常规的技术步骤880 :对模型中的每个非凸多面体,进行凸分解,由此由每个非凸多面体产生一个凸多面体集合步骤890-多面体馨立方体对模型中的至少一个凸多面体(例如,所有的),尝试
计算其与简单的小凸形(例如,立方体)的闵可夫斯基和,由此对模型中的每个凸多面体产生一个膨胀的凸多面体。例如,可以使用具有精确的计算内核的、可商购的CGAL包;闵可夫斯基和的算法计算典型地由于诸如退化的几何形状和/或计算机的数值精度不够(这导致算法发散)等不同的限制因素而失效。因此,典型地,使用最高精度的计算算法,例如CGAL与其“精确的计算内核”的而不是它的其他的内核。步骤900 :如果步骤890对于某些凸多面体预计会失效或失效了(错误条件或程序崩溃),则对每个这样的凸多面体进行自适应的分解(例如,按照图10)。步骤930 :尝试对步骤890中产生的膨胀的凸多面体进行“大的”并集,优选是在监控内存爆发(blow-up)的同时进行
步骤935 :任选地,如果检测到内存爆发,采取步骤来补救步骤940 :将原始的凸状对象的闵可夫斯基和以及原始非凸状的对象的并集后的闵可夫斯基和转化为适合的印刷格式,例如STL步骤950 :使用3D印刷机来印刷STL或其他所希望的格式的建筑三维结构。图10是适合于进行图9A、9B的步骤900的一种自适应分解方法的简化的流程图展示。图10的方法典型地包括以下步骤中的一些或所有,例如所显示的,是适当排序的步骤960-三角形 立方体对于该模型用来呈现失效的凸多面体的每个简单形
状(例如,三角形),计算与简单的小凸形(例如,立方体)的闵可夫斯基和,由此产生膨胀的三角形步骤970 :尝试对步骤110中产生的膨胀的三角形进行“小的”并集,由此获得一种空心形状步骤975 :如果并集步骤120失效,则使用CGAL进行并集图9A、9B和图10的方法并且特别是其步骤880-930典型地特别适合于处理包含不同退化情况的建筑三维模型并且特别适合于克服常规的退化的几何形状不能通过3D印刷机进行印刷这个事实。可以将建筑三维模型缩小以进行印刷,然而,3D印刷机不能印刷一个低于与印刷机有关的最小厚度的元素。在目前对建筑模型实施闵可夫斯基和的过程中,多面体与立方体的闵可夫斯基和偶尔会失效。如在此说明的自适应分解有助于计算建筑3D模型的闵可夫斯基和而不失效。这种技术是违反直觉的,因为它可能将一个非空心的几何形状渲染为空心的,然而,这对于建筑3D模型的3D印刷是合理的,尽管它可能对于其他用途而言是不可接受的。如果要求非空心的几何形状,则可以通过对这个结果与原始对象进行一个另外的并集步骤来实现。典型地,图9A和9B-10的方法所产生的所有的几何实体都至少具有最小的厚度。典型地,图9A和9B-10的方法可工作来修补小的空隙和/或修补缺失的小面。现在参见图9A和9B,步骤810可以例如使用软件工具包来接收输入,例如但不限于建筑三维模型(如 Revit、Sketchup, DXF/DWG、VRML、STL)。法向校正和三角剖分是适合于进行图9A和9B的步骤830的技术的实例。步骤820可以例如包括将该模型载入一个内部数据结构/储存库中以供进一步处理,例如使用场景图技术。关于步骤840,可以由法向来决定面取向。有时候3D模型包含不一致的法向,因此采用了校正。有多种已知的校正技术;几种常规的软件包例如Rhino3D软件提供了用于法向校正的工具。关于步骤850,取决于文件格式,可能存在几何形状的几种表现形式,不一定要使用三角形。例如可以通过嵌图/三角剖分来将形状/多边形转化为另一种几何表示。例如环面嵌图。例如,文件格式可以包含多边形描述;然后可以使用常规的多边形三角剖分方法对每个多边形进行三角剖分。关于步骤880和890,多面体的凸分解和多面体的3D闵可夫斯基和是通过例如CGAL (计算几何算法库,其手册是在cgal. org/manual在线可得的)所提供的功能性。关于步骤890,所了解的是,一个三角形与立方体的闵可夫斯基和是位于该三角形的这些顶点上的该立方体的一个凸包。典型地,在步骤970之后,该方法尝试将步骤890中产生的这些膨胀的凸多面体进行“大的”并集(在此将闵可夫斯基求和的输出称为“膨胀的凸多面体”),优选是在对错误条件(如内存爆发)进行监控的同时进行。每个处理后的多面体典型地是该处理后的模型(输出)的一部分。典型地,对除退化的实体(例如,具有零长度棱的三角形)之外的所有实体进行了处理。在步骤935,典型地,如果检测到内存爆发,则终止或“杀死”这个过程。在步骤975,可以采用以下的简单并集的伪代码
权利要求
1.一种用于产生通过3D印刷机可印刷的建筑结构的一种表现形式的计算机化的方法,该方法包括 提供一种建筑结构的建筑模型,该建筑模型包括多个多面体; 使用一个处理器来对这些多面体中的至少一个、以及另一种其尺寸代表了该打印机的能力的形状进行闵可夫斯基求和;并且 使用所述并集的输出多面体来产生该通过3D印刷机可印刷的建筑结构的一种表现形式。
2.根据权利要求I所述的方法,该方法在所述闵可夫斯基求和之前还包括将所述多面体之中的每个非凸多面体分解为多个凸多面体,并且其中所述闵可夫斯基求和包括对至少一个凸多面体和另一种其尺寸代表了该印刷机的能力的形状进行闵可夫斯基求和。
3.根据权利要求I所述的方法,还包括将所述表现形式在所述3D印刷机上进行印刷。
4.根据权利要求2所述的方法,其中,所述分解包括尝试将所述多面体之中的每个非凸多面体分解为多个除三角形之外的凸多面体,并且如果对于至少一个单独的非凸多面体而言所述尝试失效,则将所述单独的非凸多面体分解为多个多边形并将所述这些多边形并集。
5.一种将输入的几何形状转化成3D可印刷的模型的计算机化的3D印刷系统,该系统包括 一个岗可夫斯基求和器,该求和器包括一个处理器,该处理器可工作来计算多面体与一个简单的小凸形的闵可夫斯基和,由此产生一种3D可印刷的模型;以及 一个输出产生器,该输出产生器可工作来产生一种代表3D可印刷的模型的输出结果。
6.根据权利要求2所述的方法,其中,所述至少一个凸多面体包括所有所述的凸多面体。
7.根据权利要求I或权利要求2所述的方法,其中,所述形状包括一种简单的小的凸形。
8.根据权利要求7所述的系统,其中,所述形状包括一种立方体。
9.根据权利要求8所述的系统,其中,所述立方体包括一种Immx Imm x Imm的立方体。
10.一种计算机程序产品,包括一个计算机可用媒体,该媒体具有实现在其中的一种计算机可读程序代码,所述计算机可读程序代码被适配成被执行而实施一种方法,该方法用于产生一种通过3D印刷机可印刷的建筑结构的表现形式,该方法包括 提供一种建筑结构的建筑模型,该建筑模型包括多个多面体; 对这些多面体中的至少一个、以及另一种其尺寸代表了该打印机的能力的形状进行闵可夫斯基求和;并且 使用所述并集的输出多面体来产生该通过3D印刷机可印刷的建筑结构的一种表现形式。
11.根据权利要求4所述的方法,其中,所述多边形中的至少一些是三角形。
12.根据权利要求I或权利要求2所述的方法,还包括将通过所述闵可夫斯基求和而产生的闵可夫斯基和中的至少一些进行并集,由此产生至少一个并集的输出多面体。
13.根据权利要求12所述的方法,其中,只有作为分解结果的每个凸多面体集合的闵可夫斯基和被并集。
14.一种制备用于3D印刷的建筑模型的系统,该系统包括 一个修补器,该修补器使用至少一个岗可夫斯基和计算来进行所述建筑模型的修补。
15.根据权利要求8所述的系统,其中,所述修补包括对所述模型中至少一个小空隙的修补。
16.根据权利要求8所述的系统,其中,所述修补包括对至少一个缺失的小面的修补。
全文摘要
一种用于产生通过3D印刷机可印刷的建筑结构的一种表现形式的方法,该方法包括提供一种建筑结构的建筑模型,该建筑模型包括多个多面体;对所述多面体中的至少一个与另一种其尺寸代表了该印刷机的能力的形状进行闵可夫斯基求和;并且使用这些并集的输出多面体来产生这种通过3D印刷机可印刷的建筑结构的一种表现形式。
文档编号G06F17/50GK102812463SQ201080051153
公开日2012年12月5日 申请日期2010年10月5日 优先权日2009年10月8日
发明者伊兰·西迪, 盖伊·莫利 申请人:3D M.T.P. 有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1