CN110167756B - 用于通过增材制造构造实体物体的基于构建方向的划分 - Google Patents
用于通过增材制造构造实体物体的基于构建方向的划分 Download PDFInfo
- Publication number
- CN110167756B CN110167756B CN201880005638.0A CN201880005638A CN110167756B CN 110167756 B CN110167756 B CN 110167756B CN 201880005638 A CN201880005638 A CN 201880005638A CN 110167756 B CN110167756 B CN 110167756B
- Authority
- CN
- China
- Prior art keywords
- mesh
- constructable
- overhanging
- segment
- initial
- 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
Images
Classifications
-
- 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
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4097—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
- G05B19/4099—Surface or curve machining, making 3D objects, e.g. desktop manufacturing
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35134—3-D cad-cam
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/49—Nc machine tool, till multiple
- G05B2219/49007—Making, forming 3-D object, model, surface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2219/00—Indexing scheme relating to application aspects of data processing equipment or methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/008—Cut plane or projection plane definition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Manufacturing & Machinery (AREA)
- Materials Engineering (AREA)
- Chemical & Material Sciences (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- Optics & Photonics (AREA)
- Mechanical Engineering (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Automation & Control Theory (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- Architecture (AREA)
- Powder Metallurgy (AREA)
- Processing Or Creating Images (AREA)
Abstract
系统和方法可以支持用于通过增材制造构造实体物体的基于方向的划分。在一些实施方式中,系统可以访问用于通过增材制造构造3D物体的表面网格(120)表示以及初始构建方向(121)。系统可以基于初始构建方向(121)将表面网格(120)划分为初始可构建段和不可构建段(420)。系统可以迭代地确定后续构建方向,并将后续可构建段从不可构建段(420)划分开,直到没有不可构建段(420)的部分剩余。所确定的可构建段和相关联的构建方向可以被提供至多轴3D打印机,以用于通过增材制造构造3D物体。
Description
相关申请的交叉引用
本申请要求于2017年4月10日提交的题为“用于构建基于取向的体积分割的系统和方法”的申请号为No.62/483708的美国临时专利申请的优先权,该申请通过引用将其全部内容并入本文。
背景技术
计算机系统可用于创造、使用和管理产品和其他项目的数据。计算机系统的示例包括计算机辅助工程(computer-aided engineering,CAE)系统、计算机辅助设计(computer-aided design,CAD)系统、可视化和制造系统、产品数据管理(product datamanagement,PDM)系统、产品生命周期管理(product lifecycle management,PLM)系统等。这些系统可以包括便于产品结构的设计和模拟测试的部件。
发明内容
所公开的实施方式包括系统、方法、设备和逻辑,该系统、方法、设备和逻辑可以支持用于通过增材制造构造实体物体的基于构建方向的划分,并且可以支持沿自然物体边界和缝隙进行物体分解。
在一个示例中,该方法可以由设计系统(例如CAE系统)执行、执行或以其他方式执行。该方法可以包括:访问三维(3D)物体的表面网格以及初始构建方向,以用于通过增材制造构造3D物体;以及基于所述初始构建方向将所述表面网格划分为初始可构建段和不可构建段。该划分可以包括:基于所述初始构建方向,将所述表面网格的网格面表征为悬垂面或非悬垂面;根据悬垂面表征和非悬垂面表征对所述表面网格的所述网格面进行聚类(cluster);将包括具有所述非悬垂面表征的网格面的聚类组合到所述初始可构建段中;以及将包括具有所述悬垂面表征的网格面的聚类组合到所述不可构建段中。
该方法还可以包括:将所述初始构建方向与所述初始可构建段相关联;迭代执行以下步骤,直到没有不可构建段的部分剩余:确定后续构建方向;基于所述后续构建方向,将后续可构建段从所述不可构建段划分开;和将所述后续构建方向与所述后续可构建段相关联。该方法还可以进一步包括:提供所划分的可构建段和相关联的构建方向,以用于通过增材制造构造3D物体。
在另一个示例中,系统可以包括访问引擎和体积分割引擎。访问引擎可以被配置以访问3D物体的表面网格以及初始构建方向,以用于通过增材制造构造3D物体。体积分割引擎可以被配置以:基于所述初始构建方向并根据所述表面网格的网格面之间作为悬垂面或作为非悬垂面的差别,将所述表面网格划分为初始可构建段和不可构建段;将所述初始构建方向与所述初始可构建段相关联;和迭代执行以下步骤,直到没有不可构建段的部分剩余:确定后续构建方向;基于所述后续构建方向,将后续可构建段从所述不可构建段划分开;和将所述后续构建方向与所述后续可构建段相关联;体积分割引擎还可以被配置以:提供所划分的可构建段和相关联的构建方向,以用于通过增材制造构造3D物体。
在又一示例中,非瞬时性机器可读介质可包括处理器可执行的指令,以使得:访问三维(3D)物体的表面网格以及初始构造方向,以用于通过增材制造构造3D物体的;包括通过以下方面,将所述表面网格划分为初始可构建段和不可构建段:基于所述初始构建方向,将所述表面网格的网格面表征为悬垂面或非悬垂面;根据悬垂面表征和非悬垂面表征对所述表面网格的所述网格面进行聚类;将包括具有所述非悬垂面表征的网格面的聚类组合到所述初始可构建段中;和将包括具有所述悬垂面表征的网格面的聚类组合到所述不可构建段中。
该指令还可由处理器执行,以使得将所述初始构建方向与初始可构建段相关联;迭代执行以下步骤,直到没有不可构建段的部分剩余:确定后续构建方向;基于所述后续构建方向,将后续可构建段从所述不可构建段划分开;和将所述后续构建方向与后续可构建段相关联。该指令还可以进一步由处理器执行,以使得提供所划分的可构建段和相关联的构建方向,以用于通过增材制造构造3D物体。
附图说明
在以下详细描述中并参考附图描述了一些示例。
图1示出了支持用于通过增材制造的实体物体的构造的基于构建方向的划分的系统的示例;
图2示出了通过体积分割引擎进行悬垂面确定的示例;
图3示出了通过体积分割引擎进行有效悬垂面确定的示例;
图4示出了通过体积分割引擎进行网格聚类以将网格划分为可构建段和不可构建段的示例;
图5示出了通过体积分割引擎进行构建方向关联和后续构建方向选择的示例;
图6示出了系统可以执行的基于构建方向的划分过程的示例迭代;
图7示出了逻辑的示例,系统可以实施该逻辑,以支持用于通过增材制造的实体物体构造的基于构建方向的划分;
图8示出了设备的示例,该设备可以支持用于通过增材制造的实体物体的构造的基于构建方向的划分。
具体实施方式
本公开可以提供用于增材制造的表面网格的基于构建方向的划分的系统、方法、设备和逻辑。可以通过多轴3D打印机(其可以调整(例如,倾斜)沿其执行3D构造的轴线)的使用来执行增材制造(有时称为3D打印),基于具体指定这种3D打印机的轴线/打印取向的构建方向来完成这种增材制造。本文描述的特征可以提高使用多轴3D打印机进行物体构造的效率和有效性。
使用多轴3D打印机进行物体构造的构建顺序的确定可能是费时费力的。现有技术可能通过简单零件几何形状的解构而受到限制,并且可能需要费力的人为干预。许多这样的技术不适用于具有非平面界面的物体。在某些情况下,现有技术还需要物体部件的单独制造,这些物体部件后续通过人为干预被编译和拼接在一起。这种过程可能繁琐和效率低下。
本文描述的特征可以提供自动或半自动机制,以将表示3D物体的表面网格解构为可构建段和相关的构建方向。正如本文更详细地描述的,CAD或CAE系统可以将3D表面网格(3D物体的表示)分割为多个可构建的体积和相关的构建方向。系统可以将表面网格划分为与提供的初始构建方向一致的可构建段和不可构建段,并进一步将不可构建段解构为后续可构建段,直到确定整个物体的3D构建顺序。该顺序可以包括所划分的可构建段以及针对每个相应的可构建段确定的相关联的构建方向,其然后可以用于控制通过多轴3D打印机的物体的制造。
本文描述的特征可以支持使用具有提高的效率和有效性的增材制造的物体的构造。所描述的划分过程可以支持对3D物体的可构建的体积和相关联的构建方向的确定,而不需要进一步人为拼接,包括对于具有非平面界面的物体。本文还描述了各种网格修改和聚类特征,这些特征可以支持沿自然物体边界和缝隙的物体分解。这种网格修改特征可能会导致更少构建迭代的构建顺序,或允许沿着每个构建方向构建更大的体积。通过减少3D打印机倾斜打印轴线的次数,在构造过程中可以消耗更少资源。
作为另一示例技术改进,本文描述的特征可以通过候选构建方向识别和选择来简化3D构建方向的选择过程。这样做可以降低构建顺序确定过程的复杂性,并支持对具有更少资源消耗和具有提高的速度的可构建体积和构建方向的确定。这些特征和其他特征在本文进行了更详细的描述。
图1示出了支持用于通过增材制造的实体物体的构造的表面网格的基于构建方向的划分的系统100的示例。系统100可以采用计算系统的形式,包括单个或多个计算设备,例如应用服务器、计算节点、台式计算机或笔记本计算机、智能手机或其他移动设备、平板设备、嵌入式控制器等。在一些实施方式中,系统100实现CAD或CAE工具,通过该CAD或CAE工具,用户可以设计用于使用增材制造构造的产品结构,并指定用于这种构造的特征。
如本文更详细地描述的,系统100可以访问表示实体物体的表面网格,并确定3D可构建(或可打印)段和相应构建方向,以用于使用增材制造构造物体。为此,系统100可以基于提供的初始构建方向,将表面网格划分为初始可构建段和不可构建段。系统100然后可以从不可构建段迭代地划分出后续可构建段,直到整个表面网格被分割成可构体积段,每个可构建段都具有相关联的构建方向。实际上,系统100可以确定构建顺序和构建方向,通过该构建顺序和构建方向,多轴3D打印机可以通过增材制造来构造实体物体。通过倾斜构造的轴线,3D打印机可以按照由系统100生成的可构建段和相关联的构建方向(例如,3D打印机可以将构造的轴线设置为该构建方向)的顺序来构造物体。
作为一个示例性实施方式,图1所示的系统100包括访问引擎108和体积分割引擎110。系统100可以以各种方式(例如,作为硬件和编程)实现引擎108和110(及其部件)。引擎108和110的编程可以采用存储在非瞬时性机器可读存储介质上的处理器可执行指令的形式,并且用于引擎108和110的硬件可以包括执行这些指令的处理器。处理器可以采用单处理器或多处理器系统的形式,并且在一些示例中,系统100使用共同的计算系统特征或硬件部件(例如,公共处理器和存储介质)来实现多个引擎。
在操作中,访问引擎108可以访问表示实体物体的表面网格120和初始构建方向121,以通过增材制造构造实体物体。表面网格120可以经由一起勾勒实体物体的表面的网格面来提供实体物体的3D表示。包括表面网格120的网格面可以采用各种形状的形式,在一些实施方式中,为一起形成表示实体物体的表面网格120的三角形网格面。
访问引擎108可以从数据存储器或其他来源(无论是本地的还是远程的)访问表面网格120。在一些示例中,访问引擎108(或系统100的其他部件)可以被配置以从产品的3D模型(例如,指定物体的3D体积/表面(例如固体模型和壳/边界模型)的数学表示的数据)生成表面网格120。这种3D模型可由用户使用CAD工具绘制或从文件(例如,以JT或STEP等CAD格式,或用于存储定义零件形状的几何曲线的其他格式)绘制。在一些示例中,访问引擎108可以访问从现有实体物体的3D扫描生成的3D模型数据,访问引擎108可以从该3D扫描生成或以其他方式获取表面网格120。关于初始构建方向121,访问引擎108可提示用户指定初始构建方向121,基于表面网格120的识别的基底来确定初始构建方向121,或通过由CAD或CAE工具执行的其他物体分析来确定初始构建方向121。
在操作中,体积分割引擎110可以迭代地将表面网格120划分为可构建段(例如,体积),并且将构建方向针对每个划分的可构建段进行关联。体积分割引擎110可以继续通过划分过程进行迭代,直到整个表面网格120被划分,从而生成可构建段和相关联的构建方向的集合(其示例在图1中被标记为130)。
体积分割引擎110可以在划分表面网格120或其一部分的迭代期间执行不同的操作。在任何特定迭代中,体积分割引擎110可以识别用于迭代的构建方向,基于构建方向将网格面表征为悬垂面或非悬垂面,根据该表征将网格面聚类为可构建段和不可构建段,将所识别的构建方向与可构建段关联,并确定下一次迭代的后续构建方向。体积分割引擎110可以重复该过程,对从上一次迭代确定的不可构建段执行下一次迭代。体积分割引擎110可以继续这样做,直到表面网格120(或其修改版本)完全划分为可构建段和相关联的构建方向。
下面将通过图2-5更详细地描述这些划分操作以及更多操作的各种特征。特别地,图2-5描述了使用表面网格120和初始构建方向121作为输入的划分过程的初始迭代。以一致的方式,图2-5的描述和特征也可用于后续划分过程的迭代。
图2示出了由体积分割引擎110进行的悬垂面确定的示例。作为划分过程的一部分,体积分割引擎110可以将表面网格120的网格面表征为悬垂面或非悬垂面。表征为悬垂面可以表明,由特定网格面表示的物体部分在沿着构建方向(例如,沿着用于划分过程的初始迭代中的悬垂表征的初始构建方向121)的实体物体的构造期间需要支撑。
体积分割引擎110可以将网格面表征为不同类型的悬垂面,其中的两种类型是实际悬垂面和有效悬垂面。体积分割引擎110可以将实际悬垂识别为当物体沿着给定构建方向被构造时,需要支撑结构的表面网格120中的网格面。在一些实施方式中,体积分割引擎110可以根据网格面与初始构建方向121之间的表面法线将网格面表征为实际悬垂面。
增材制造方法可以容许构建方向和网格面之间的悬垂角θc。在一些实施方式中,体积分割引擎110可以将距离初始构建方向121的任何量的悬垂识别为实际悬垂(例如,θc=0)。在这些实施方式中,体积分割引擎110可以响应于确定表面网格的表面法线与初始构建方向121之间的角度在90°至180°之间(包括90°和180°,即π/2和π弧度之间,包括π/2,π),将网格面识别并表征为实际悬垂面。在其他实施方式中,体积分割引擎110在实际悬垂确定过程中可以考虑允许的悬垂角θc,并相应地调整角度范围。
在图2所示的示例中,体积分割引擎110将表面网格120的网格面表征为实际悬垂面。通过网格面的表面法线和初始构建方向121的比较,体积分割引擎110最初地确定如图2所示的所识别的悬垂面210。如图所示,所识别的悬垂面210包括所表示的物体的基底表面(被显示为来自所识别的悬垂面210的下突显表面)。当基底表面的表面法线与初始构建方向之间的角度为180°时,可能是这样的情况。体积分割引擎110可选择不将基底表面识别为实际悬垂面,尤其是当基底表面可以形成从该基底平面沿初始构建方向121构造物体的基底、并因此为可构建时。如此,体积分割引擎110可以沿着初始构建方向121,从所识别的悬垂表面210中去除形成表面网格120的基底表面的任何网格表面。被识别为表面网格120的实际悬垂面的所得到的网格面在图2中被显示为所识别的悬垂面220(无基底表面)。
如上所述,体积分割引擎110可以将网格面识别为实际悬垂面或有效悬垂面。体积分割引擎110可以将有效悬垂面识别为表面网格120的不是实际悬垂面的网格面(例如,表面法线与初始构建方向121之间的角度在悬垂角范围之外),但位于沿着初始构建方向121的实际悬垂面之上或顶端。换言之,体积分割引擎110可以将有效悬垂面识别为表面网格121的不可构建的网格面,因为沿初始构建方向121的这种网格面的构造依赖于被识别为实际悬垂面的另一网格面的构造。接下来在图3中描述有效悬垂面的确定。
图3示出了由体积分割引擎110进行有效悬垂面确定的示例。体积分割引擎110可以通过光线投影来识别表面网格120中有效悬垂面。特别地,体积分割引擎110可以从网格面的中心投射射线,并且基于所投影的光线的相交将网格面识别为有效悬垂面。当从特定网格面的表面中心投影的光线首先与识别为实际悬垂面的另一网格面相交时,体积分割引擎110可以将特定网格面表征为有效悬垂面。
在上述的任何一种方式中,体积分割引擎110可以识别实际悬垂面和有效悬垂面。包括所识别的实际和有效悬垂面的网格面的组合集可以形成来自表面网格120的、体积分割引擎110将其表征为悬垂面的网格面的集合。一个这种示例在图3中被示为由体积分割引擎110识别的悬垂面331,该悬垂面331包括由体积分割引擎110识别的实际悬垂面和有效悬垂面。
各种因素可能影响体积分割引擎110将网格面识别为有效悬垂面的准确性。例如,网格质量(例如,分辨率、粒度或大小)可以直接影响体积分割引擎110进行有效悬垂计算的准确性。即使表面网格具有较高的质量,有效悬垂识别也可能导致错误识别的网格面或部分悬垂面的不正确的表征。部分悬垂面可以指网格面,该网格面具有:(i)取决于实际悬垂面的构造的网格部分;和(ii)可以沿构建方向构造而无需任何实际悬垂面的先前构造的另一网格部分。换言之,部分悬垂面可以指沿给定构建方向是部分可构建的且部分不可构建的网格面。
为了解决这些问题,体积分割引擎110可以修改网格,使得新创建的网格面的边(例如,三角形)与悬垂边界对齐。如图3所示,体积分割引擎110可以修改表面网格120以获得所修改的网格340。为了进行网格修改,体积分割引擎110可以从表面网格120识别实际悬垂面,并将所识别的实际悬垂面投影到由表面网格120表示的物体的基底平面上(例如,根据初始构建方向121,包括物体的基底的表面网格120的平面)。也就是说,体积分割引擎110可以将被识别为实际悬垂面的网格面投影到表面网格120的基底平面上。
在执行网格修改时,体积分割引擎110还可以确定表面网格120与所投影的实际悬垂面沿初始构建方向121的拉伸(extrusion)之间的相交曲线。然后,体积分割引擎110可以沿初始构建方向121(垂直于基底平面)投影相交曲线,并插入由所投影的相交曲线与表面网格120的网格面相交形成的任何边,以获得所修改的网格。实际上,体积分割引擎110可以通过沿所投影的相交曲线分开或分割网格面来修改表面网格120。以另一种方式解释,体积分割引擎110可以将形成相交曲线的边插入表面网格120中,以根据相交曲线将网格面划分为多个网格面。
由体积分割引擎110进行的网格修改可以沿着所投影的相交曲线分割部分悬垂面,使得悬垂和非悬垂的网格部分被分割为不同的网格表面。沿相交曲线分割的部分悬垂面可以导致为悬垂面或非悬垂面(不再是部分悬垂面)的多个不同的网格面。在这方面,体积分割引擎110可以沿悬垂区域的边界分割部分悬垂面,以确保物体的有效悬垂部分被适当地表征为这样。通过这样的网格修改,体积分割引擎110可以减少或消除在光线投影期间部分悬垂网格的错误识别,以识别有效悬垂面。
体积分割引擎110可以在有效悬垂面的识别之前获得所修改的网格340,因为这样做可以减少或消除部分悬垂面的不准确表征。由于网格修正是沿着实际悬垂面的相交曲线具体进行的,因此体积分割引擎110可以修改网格以支持沿实体物体的自然缝隙和边界的悬垂面和非悬垂面的区分。该特征可能对人造形状(例如具有折缘的机械模型,其中网格修改可以支持沿形状边界的“干净”的体积分割,而不是沿表面网格的锯齿部分的不连贯的分割)特别有用。通过这样做,体积分割引擎110可以提高3D构造效率,允许以更少的构建迭代和多轴3D打印机的轴倾斜进行3D物体的构造。
在网格修改之后,体积分割引擎110可以例如经由如上所述的光线投影来识别所修改的网格340中的有效悬垂面。当有效悬垂识别过程完成时,体积分割引擎110可以将所修改的网格的网格面识别为悬垂面,包括实际悬垂面和有效悬垂面。从修改的网格340如此识别的网格面的示例在图3中示为悬垂面341。
体积分割引擎110可以以不同的方式将网格面的表征具体指定为悬垂面,这可以取决于表面网格120或所修改的网格340是如何表示的。也就是说,体积分割引擎110可以以特定形式表示表面网格120或所修改的网格340,并且进一步基于悬垂确定来具体指定或修改该表示的某些值或分量。在这样做时,体积分割引擎110可以控制后续在所修改的网格340上的聚类过程,以将可构建段和不可构建段与所修改的网格340分开。
作为示例,体积分割引擎110可构造边权重图以表示所修改的网格340(本示例是根据所修改的网格340来描述的,但可类似地应用至表面网格120或所划分的不可构建段)。在将所修改的网格340表示为边权重图时,体积分割引擎110可以首先构建所修改的网格340的对偶图,其中该图的节点表示所修改的网格340的网格面,而该图的弧线表示所修改的网格340的相邻网格面之间的边。体积分割引擎110然后可以计算与该图的弧线相关联的权重。
由体积分割引擎110计算的权重可以稍后用于在从修改的网格340的可构建段和不可构建的段的确定中对节点(表示网格面)进行聚类。在这方面,体积分割引擎110可以通过在边权重图中使用的权重计算、根据悬垂面和非悬垂面之间的区别来控制网格面的聚类。在一些实施方式中,由体积分割引擎110计算的权重可以包括三个要素(例如,术语):遍历成本、削减成本和构建成本。遍历成本和削减成本可能会增进(encourage)长凹分割边界。
特别地,在聚类过程中,构建成本可以有助于基于所识别悬垂区域将可构建聚类与不可构建聚类分开。因此,在一些示例中,体积分割引擎110可以通过边到相邻网格面的所计算的权重而将特定网格面表征为悬垂面,例如,通过以对两个悬垂面或两个非悬垂面之间的边的构建成本进行对比和区别的方式来对悬垂面和非悬垂面之间的边的构建成本进行加权,来将特定网格面表征为悬垂面。以类似的方式,体积分割引擎110可以计算遍历成本以指示在所修改的网格340中的悬垂面。
作为说明性示例,体积分割引擎110可以如下计算所修改的网格340中的相交边i(在所构造的边权重图中表示为弧线i)的成本:
Ci=di/w1(θi)+liw1(θi)+diw2
在此示例中,di指定弧线的测地线长度,li指定所修改的网格340上的边的长度,w1指定凹度权重,并且w2指定悬垂权重。对于跨越边的外部二面角θ,体积引擎110可以如下计算凹度权重:
w1(θ)=min((θ/π)α,1)
这样做可以指定凹边的低值和凸边的“1”值。凹度权重的使用可以通过增加穿过凹面边的成本(遍历成本)和更长时间地减少穿过凹面边的行程(削减成本)来增进凹面边界。对于邻近网格面j和k的边,体积分割引擎110可以如下计算悬垂权重:
在此示例中,体积分割引擎110可以将κ设定为大数字,作为跨越分离物体的悬垂区域和非悬垂区域的边的惩罚。如此,体积分割引擎110可以将所修改的网格340的面表征为悬垂面或非悬垂面,并在所修改的网格340的图形表示中或通过所修改的网格340的图形表示中的边权重计算来表示这种表征(例如,经由悬垂权重w2或经由边权重的构建成本要素)。
如上文所述,体积分割引擎110可以将网格面表征为悬垂面,包括通过从修改的网格340进行有效悬垂面的网格修改和识别。对于未识别或表征为悬垂面的网格面,体积分割引擎110可以将这种网格面表征为非悬垂面。在悬垂表征之后(例如,在用于考虑了实际和有效悬垂确定的修改的网格340的边权重图的构造时),体积分割引擎110可以对网格面(例如,图节点)进行聚类,从该网格面确定了所修改的网格340的可构建段和不可构建段。
图4示出了通过体积分割引擎进行网格聚类以将网格划分为可构建段和不可构建段的示例。在图4中,体积分割引擎110将所修改的网格340的网格面聚类为可构建和不可构建的聚类。通过经由相交曲线的投影生成所修改的网格340,体积分割引擎110可以提供位于物体的自然缝隙上的有利分割边界。如此,由体积分割引擎110应用的聚类过程可以沿着这种自然缝隙将可构建段从不可构建段分开,从而允许通过多轴3D打印机进行的物体构造中的提高的效率和有效性。
为了对网格面进行聚类,体积分割引擎110可以应用任何数量的聚类技术或过程。在一些实施方式中,体积分割引擎110使用亲和性传播方法以对表示所修改的网格340的边权重图的节点进行聚类。通过使用亲和性传播,体积分割引擎110可以确保所得到的分割不一定依赖于初始样本点选择,而是将边权重图中的节点(表示网格面)考虑为候选样本并迭代地收敛到最佳配置。
基于体积分割引擎110所使用的聚类参数,可以得到不同的分割边界。然而,体积分割引擎110可以通过应用较大的聚类参数来解决聚类结果的外部或非自然的分割边界,这可以允许应用的聚类过程收敛到稳定的解。通过上述聚类参数、权重、图特征和技术,体积分割引擎110可以支持沿自然物体边界和缝隙的物体分解。这可以通过更干净地分割用于构造的物体和减少构建迭代的数量和复杂性来提高多轴3D打印的效率。
在对网格表面进行聚类之后,体积分割引擎110可以从所修改的网格340确定可构建段和不可构建段。在这方面,体积分割引擎110可以对聚集的网格面进行后处理,以有效地将所修改的网格340划分成可构建和不可构建段。为了确定可构建段,体积分割引擎110可以最初地将包含(根据初始构建方向121)形成所修改的网格340的基底表面的网格面的一个或多个聚类识别为可构建聚类。由体积分割引擎110识别的一个或多个可构建的聚类可以包括基底表面,该聚类也可被称为基底聚类。
体积分割引擎110可以应用可构建的聚类标准来识别其它聚类的网格面(除了基底聚类之外)是否也可以被表征为可构建的。可以通过光线投射或光线投影来满足可构建的聚类标准,例如,以与之前所述类似的方式来确定有效悬垂面。在一些示例中,当从特定聚类的面投影的光线首先与基底聚类相交时,满足可构建聚类标准。响应于确定从特定聚类中的面投影的光线首先与基底表面相交(例如,所述一个或多个聚类的网格面形成基底表面),体积分割引擎110可以确定该特定聚类是可构建的聚类。在一些实施方式中,体积分割引擎110可以基于先前由体积分割引擎110具体指定的悬垂表征来应用可构建的聚类标准,例如,通过当在特定聚类中的阈值数量百分比的网格面未被表征为悬垂面(无论是实际悬垂面还是有效悬垂面)时确定特定聚类满足可构建聚类准则,来应用可构建的聚类标准。
由体积分割引擎110识别的可构建聚类402的示例如图4所示,其包括基底聚类和通过(例如,经由光线投影)满足可构建聚类标准而识别为可构建的另一聚类。体积分割引擎110可以将不符合可构建聚类标准的聚类表征为不可构建聚类。在另一示例中,体积分割引擎110可以将不可构建的聚类识别为包括阈值数量的被表征为悬垂面的网格面的聚类(例如,包括一个或多个悬垂面)。
体积分割引擎110可以将修改的网格340进行划分,以将可构建的聚类从不可构建的聚类分开。这种分开可以通过对修改的网格340进行“切分(cut)”操作来进行,该操作可以将网格分割成可构建的和不可构建的部分。这样做可能会导致开放的表面或断连的网格。作为说明性示例,在由体积分割引擎110分开可构建和不可构建聚类之后,图4所示的可构建聚类402之间存在开口间隙。
体积分割引擎110可以将所识别的可构建的聚类聚合或合并到单个可构建段。在一些情况下,体积分割引擎110将可构建的聚类402合并到封闭(closed)的网格。也就是说,体积分割引擎110可以从其本身是封闭的表面网格的可构建聚类402生成可构建段。如此,体积分割引擎110可以确保从所修改的网格识别的划分的可构建段可以通过沿初始构建方向121的增材制造而被完全地构造,而无需增材支撑,无需其他物体部分的先决条件构造,或无需人工干预。为了合并可构建聚类402,体积分割引擎110可以自动地进行孔填充操作以合并可构建的聚类402。一些CAD工具提供孔填充能力,其中容积分割引擎110可以利用或使用该能力以将可构建聚类402组合为单个封闭网格。在一些实施方式中,体积分割引擎110使用网格拼接将可构建的聚类402组合到一起成为形成可构建段的单个封闭的网格。
体积分割引擎110可以因此从所修改的网格340确定可构建段,其示例在图4中示出为可构建段410。如图4所示,体积分割引擎110将可构建段410从所修改的网格340划分出来,包括通过填充可构建聚类402中的间隙以确保所划分的可构建段410是封闭的网格来进行。在一些情况下,体积分割引擎110不需要进行行任何孔填充操作,因为组合的可构建聚类已经形成封闭的网格。
体积分割引擎110也可以确定从所修改的网格340识别不可构建段,在图4中示出为不可构建段420。体积分割引擎110可以将不可构建段420识别为不可构建聚类(例如,不满足可构建聚类标准的聚类)的组合。体积分割引擎110不需要填充不可构建的聚类之间的任何孔或间隙,即使可以进行这样的孔填充操作以将可构建的聚类合并为封闭的网格。在这方面,体积分割引擎110可以从不是封闭的表面网格的所修改的网格340确定不可构建段。
在上述各种方式中,体积分割引擎110可从输入到系统100的初始表面网格120中确定可构建段410和不可构建段420。在图4所示的示例中,体积分割引擎110将最初提供给系统100的表面网格120划分成可构建段410和不可构建段420,通过将表面网格120修改成所修改的网格340来完成。在该示例中,由体积分割引擎110对表面网格120进行划分包括网格修改,使得所划分的可构建段410和不可构建段420通过所修改的网格340的网格面来表示,而不是通过原始提供的表面网格120来表示。
在将表面网片120划分成可构建段410和不可构建段420之后,体积分割引擎110可以将初始构建方向121与所划分的可构建段410相关联,并选择用于在划分过程的后续迭代中划分不可构建段420的后续构建方向。
图5示出了通过体积分割引擎进行构建方向相关联和后续构建方向选择的示例。体积分割引擎110可以将可构建段410与初始构建方向121相关联。实际相关联可以采用任何形式,其中可构建段410与初始构建方向121配对、分配、链接或以其他方式关联。
通过将初始构建方向121与所划分的可构建段410相关联,体积分割引擎110从本质上可以指定用于构造由表面网格120表示的实体物体的多轴3D打印机的初始构建部分。可构建段410(作为封闭的网格)表示将首先由多轴3D打印机沿初始构建方向121构建的物体的部分。划分过程的后续迭代可以具体指定将要构造的实体物体的后续部分,以及多轴3D打印机可以枢转到以便构造后续部分的相应构建方向。体积分割引擎110可以提供相关联的可构建段410和初始构建方向121作为用于划分过程的第一次迭代的输出。由体积分割引擎110生成的后续可构建段到构建方向的配对可以指定用于在实体物体的构建中的多轴3D打印机的其他构建迭代。
关于后续迭代,体积分割引擎110可以确定后续构建方向,以应用至划分过程的下一次迭代的不可构建段420。体积分割引擎110可以在对从上一次迭代生成的不可构建段上进行划分过程的另一次迭代,其中不可构建段用作输入网格,并且所确定的后续构建方向用作适用于迭代的构建方向。
体积分割引擎110可以选择后续构建方向,并且这是根据在其上构建不可构建段420的可构建段410的面来选择。即,体积分割引擎110可考虑不可构建段420的直接接触可构建段410(或来自上一次迭代的可构建段的组合)的至少一部分的面,从这些面选择后续构建方向。为此,体积分割引擎110可以识别垂直于所划分的可构建段410和不可构建段420之间的交界表面的候选构建方向。
在图5中示出了候选构建方向的示例性说明,示出有不可构建段420的四个面直接接触可构建段410。图5中所考虑的这四个面用作候选基底表面,从该候选基底表面将另一可构建段从不可构建段420划分开,并且体积分割引擎110可相应地选择后续构建方向(因为垂直于四个可能的基底表面中的一个基底表面)。体积分割引擎110可以根据各种选择标准选择后续构建方向,下面给出一些示例。
作为一个示例,体积分割引擎110可以将后续构建方向选择为特定候选构建方向,其中对于该候选构建方向,所划分的可构建段410与不可构建段420之间具有最大交界表面积。以另一种方式解释,体积分割引擎110可以选择在与该特定候选构建方向的可构建段直接接触的不可构建段420中具有(按面积的)最大基底表面的候选构建方向。在图5中,示出了四个与可构建段410相接触的不可构建段420的四个候选基底表面,每个候选基底表面具有示出与相应的候选基底表面垂直(即,成直角)的箭头。在该示例中,体积分割引擎110可以选择在候选基底表面之中具有最大的面积的相应的基底表面的候选构建方向。
作为另一示例,体积分割引擎110可以将后续构建方向选择作为特定候选构建方向,该特定候选构建方向将在划分过程的后续迭代中产生具有最大体积的所划分的可构建段(这样的体积可以称为可构建段)。在此示例中,体积分割引擎110可以多次从不可构建段420中划分出不同的可构建段,每次基于不同的候选构建方向。同一迭代的多次执行(尽管使用不同的构建方向)可能导致针对每个候选构建方向的不同的所划分的可构建段。体积分割引擎110可以计算和跟踪针对每个候选构建方向的所划分的可构建段的体积,并且为后续迭代选择产生最大可构建体积的候选构建方向。
这样的选择过程可能增加计算需求(例如,如图5所示的划分过程的第二次迭代将执行四次,每次针对候选构建方向中的每个候选构建方向)。但是,这样做可以提高三维物体构造的效率。这种选择过程可以减少划分过程中的总迭代次数,因为每次迭代都可以达到最大可构建体积,这反过来可以导致更少的构建迭代和在物体构造期间由3D打印机进行的轴倾斜。在该示例中,体积分割引擎110还可以在后续构建方向的实际选择之前进行后续划分迭代。这可能是体积分割引擎110必须对(最终)选择的构建方向进行划分迭代作为候选构建方向之间的可构建体积比较的一部分的情况。如此,对于后续划分迭代的后续构建方向的选择实际上可以发生在对可构建段的划分操作已经由体积分割引擎110进行以用于后续迭代之后。
体积分割引擎110可以因此为划分过程的后续迭代选择后续构建方向。在图5中,体积分割引擎110将可构建段410与初始构建方向121相关联,作为分割过程的第一迭代的输出,并且还将图5所示的第三候选构建方向选择为针对在不可构建段420上进行的划分过程的第二迭代的后续构建方向。
图2-5提供了关于适用于划分过程的第一迭代的表面网格120、修改网格340和初始构建方向121的示例。体积分割引擎110可继续以类似的方式迭代地处理表面网120的不可构建段,针对每次连续迭代应用上文描述的悬垂面表征、网格修改、聚类和聚类组合特征。针对连续迭代应用上述特征时,体积分割引擎110可以将为特定迭代提供的不可构建段视为“输入”表面网格,并将所选择的后续构建方向视为“初始”构建方向,并且采用与在初始迭代中针对图2-5所描述的相一致的方式来进行划分操作。
在图2-5所示的初始构建迭代之后,由体积分割引擎110进行的第二迭代的输出可以产生第二可构建段。体积分割引擎110可以将该第二可构建段从不可构建段420划分开,并将该第二可构建段与为针对第二迭代确定的第二构建方向相关联。体积分割引擎110可以继续选择后续构建方向(第三、第四、第五构建方向等),并将后续可构建段从剩余的不可构建段(第三、第四、第五构建段等)中划分出来。在最终迭代中,体积分割引擎110可以将输入到最终迭代的整个剩余不可构建段表征为可构建的,从而完成划分过程,因为访问引擎110最初访问的表面网格120不需要进一步可构建表征。
图6示出了系统100可以执行的基于构建方向的划分过程的示例迭代。在图6中,访问引擎108获得表面网格120和初始构建方向121,并且体积分割引擎110生成3D构建顺序,该3D构建顺序将由表面网格120表示的物体解构为可构建段(例如,以封闭网格表示的体积)和相关联的构建方向。
在图6所示的示例中,体积分割引擎110进行划分过程的六(6)次迭代,示出为迭代A-F。在每次迭代中,体积分割引擎110将网格划分成可构建段和不可构建段,在图6所示的每个示例迭代中进行可视地区分。体积分割引擎110可以根据本文描述的各种划分特征的任意组合来进行这种操作。对于给定迭代的所划分的可构建段被跟踪并与适用于给定迭代(例如,对于初始迭代,由用户提供的作为初始构建方向121,以及对于后续迭代,由体积分割引擎110来确定)的构建方向相关联。如此,体积分割引擎110可以确定可构建的体积和相关联的构建方向的集合,每个相关联的对从划分过程的相应的迭代输出。
对于第一迭代(图6中所示的迭代A),体积分割引擎110基于初始构建方向121对获得的表面网120进行划分。对于后续迭代(图6所示的迭代B-F),体积分割引擎110可以基于针对给定迭代而确定的构建方向来划分从上一次迭代产生的不可构建段。如图6所示,针对每次迭代产生的不可构建段(或其剩余部分)被传递到后续迭代(例如,从迭代B确定的不可构建段被提供作为对于迭代C的划分的输入,从迭代C确定的不可构建段被提供作为对于迭代D的划分的输入,等等)。体积分割引擎110同样也可以确定并提供用于后续迭代的构建方向(在图6中,所确定的构建方向示出为针对每次描绘的迭代的向上取向)。
体积分割引擎110可以继续迭代地划分网格(用于初始迭代的表面网格120和用于后续迭代的相应的不可构建段),直到达到结束条件。在图6中,体积分割引擎110达到迭代F中的结束条件,其中体积分割引擎110将整个网格表征为可构建的(在这种情况下,不可构建段从迭代E输出)。如此,体积分割引擎110确定没有不可构建段的部分剩余,并结束划分过程。在一般意义上,体积分割引擎110可将表面网片120分割成可构建和不构建段,并基于所确定的构建方向将后续可构建段从不构建段迭代地划分开,直到没有不构建段的部分剩余。
图7示出了逻辑700的示例,系统可以实现该逻辑,以支持用于通过增材制造构建实体物体的基于构建方向的划分。例如,系统100可以将逻辑700实施为硬件、存储在机器可读介质上的可执行指令或二者的组合。系统100可以通过访问引擎108和体积分割引擎110来实施逻辑700,通过访问引擎108和体积分割引擎110,系统100可以将逻辑700进行或执行为一种将提供的表面网格划分成的可构建体积和相关联的构建方向以用于通过增材制造构造物体的方法。使用访问引擎108和体积分割引擎110作为实现示例来提供逻辑700的以下描述。然而,系统100的各种其他实施方式选择是可能的。
在实现逻辑700中,访问引擎108可以访问3D物体的表面网格和初始构建方向,以用于通过增材制造构造3D物体(702)。表面网格、初始构建方向或二者都可以由用户提供。在实现逻辑700时,体积分割引擎110可以划分表面网格(包括通过网格修改),并且迭代地这样做,直到整个表面网格被划分成具有相关联的构建方向的可构建段。
为此,体积分割引擎110可以将表面网格的网格面识别为实际悬垂面(704)。上面描述了实际悬垂的确定,并且可以包括使用表面法线将网格面表征为实际悬垂面,该实际悬垂面在沿给定构建方向构建所表示的物体时需要支撑。体积分割引擎110可基于所识别的实际悬垂面进一步修改表面网格,以获得所修改的网格(706)。如上所述,体积分割引擎110可以通过将实际悬垂面投影到网格的基底表面上,并沿构建方向投影相交曲线以划分表面网格的网格面来进行这种操作。
从所修改的网格中,体积分割引擎110可以例如经由如上所述的光线投影,将所修改的网格的网格面识别为有效悬垂面(708)。在识别有效悬垂面时,体积分割引擎110可以确定,在沿初始构建方向的增材制造过程中,网格面将被构建在被表征为实际悬垂面的另一网格面的顶端,并因此被认定为有效悬垂面。
网格的修改可以提高体积分割引擎对有效悬垂面的表征的准确性。通过在网格修改期间沿构建方向投影实际悬垂面的相交曲线,体积分割引擎110实际上可以将部分悬垂面划分为悬垂部分和非悬垂部分。如此,体积分割引擎110可以将特定网格面识别为部分悬垂面,该部分悬垂面包括能够符合条件作为悬垂面的网格部分和能够符合条件作为非悬垂面的另一网格部分。然后,体积分割引擎110可以将特定网格面划分为多个网格面,将多个网格面中的每个网格面表征为悬垂面或非悬垂面。
如上所述,体积分割引擎110可以从分析的网格中识别实际悬垂面和有效悬垂面。体积分割引擎110可以将实际悬垂面和有效悬垂面表征为针对特定构建方向的悬垂面。在一些实施方式中,体积分割引擎110可以将表面网格(或所修改的网格)的网格面表征为悬垂面,响应于确定特定网格面的表面法线与初始构建方向之间的角度在悬垂角范围内,将特定网格面识别为实际悬垂面(例如,实际悬垂确定);尽管不同网格面的表面法线与初始构造方向之间的角度不在悬垂角范围内,将不同网格面识别为有效悬垂面(例如有效悬垂确定);并将特定的网格面和不同网格面表征为悬垂面。
在网格中的悬垂面表征时,体积分割引擎110可以对网格面进行聚类(710)。在一些实施方式中,体积分割引擎110通过使用表面网格(和所修改的网格)的图形表示并应用聚类过程来对表示网格表面的图形节点进行分组来实现这一点。然后,体积分割引擎110可以将包括识别为非悬垂面的网格面的聚类组合为初始可构建段(712),并将包括标识为悬垂面的网格面的聚类组合为不可构建段(714)。在一些示例中,体积分割引擎110可以使用光线投影来识别聚类,如上所述,并且可构建聚类的组合可以包括孔填充操作,以确保可构建段是封闭的网格。例如,体积分割引擎110可以识别基底聚类与所识别的可构建聚类之间的间隙,并填充基底聚类与所识别的可构建聚类之间的间隙,从而使初始可构建段为封闭的网格。
然后,体积分割引擎110可以将初始构建方向与初始可构建段(716)相关联,该初始可构建段可用作针对划分过程的初始迭代的输出。
在划分过程的给定迭代完成之后剩余不可构建段时,体积分割引擎110可以在后续迭代中进一步划分不可构建段。对于后续迭代,体积分割引擎110可确定后续构建方向(718),并基于后续构建方向(720)从不可构建段中划分出后续可构建段。
可以应用各种选择来确定后续构建方向,一些选择包括在实际后续构建方向的确定之前沿候选构建方向执行用于后续迭代的操作(例如,如上文所述,当基于可构建体积应用选择标准时)。体积分割引擎110可以识别与所划分的可构建段和不可构建段之间的交界表面垂直的候选构建方向。在一些示例中,体积分割引擎110可以将后续构建方向选择为特定候选构建方向,其中使用该特定候选构建方向划分的后续可构建段具有最大可构建体积。在其他示例中,体积分割引擎110将后续构建方向选择为特定候选构建方向,其中对于该候选构建方向,所划分的可构建段与不可构建段之间具有最大交界表面积。
在划分后续可构建段时,体积分割引擎110可以在不可构建段上应用上述任何步骤704-714,包括悬垂面确定、网格修改和聚类。然后,体积分割引擎110可以将后续构建方向与后续可构建段相关联(722),该可构建段可以作为针对划分过程的该给定迭代的输出。
体积分割引擎110可以继续通过步骤718-722进行迭代,直到没有不可构建段的部分剩余(724)。划分过程的每次迭代的结果输出可以提供构建顺序,以控制用于构建3D物体的多轴3D打印机的操作。如此,体积分割引擎110可以提供可构建段和相关联的构建方向,以用于通过增材制造构造3D物体(726)。在一些实施方式中,系统可以包括3D打印能力,以根据所确定的可构建段和相关联的构建方向来构建3D物体。
尽管通过图7示出了一个示例,但逻辑700也可以包括任何数量的附加的或替代的步骤,包括本文中描述的关于访问引擎108、体积分割引擎110或二者的任何其他特征。尽管在图7中示出了步骤的示例顺序,但是系统100可以以不同的顺序实现或进行图7中所示的步骤,以将表面网格划分为具有相关联的构建方向的可构建段。
图8显示了设备800的一个示例,该设备800可以支持用于通过增材制造的实体物体的构造的基于构建方向的划分。设备800可包括处理器810,其可采用单处理器或多处理器的形式。处理器810可以包括中央处理单元(CPU)、微处理器或任何适于执行存储在机器可读介质上的指令的硬件设备。设备800可以包括机器可读介质820。机器可读介质820可以采用存储可执行指令(例如,图8所示的访问指令822和体积分割指令824)的任何非瞬时性电子、磁性、光学或其他物理存储设备的形式。因此,机器可读介质820可以是,例如,随机存取存储器(RAM)(例如动态RAM(DRAM))、闪存、自旋转移转矩存储器、电可擦除可编程只读存储器(EEPROM)、存储驱动器、光盘等。
设备800可以通过处理器810执行存储在机器可读介质820上的指令。执行这些指令可以使设备800(或任何其他CAD系统)执行本文所述的任何划分特征,包括根据与访问引擎108、体积分割引擎110或二者的组合相关的任何特征。例如,由处理器810执行访问指令822可以导致设备800访问三维(3D)物体的表面网格和初始构建方向,以用于通过增材制造构造3D物体。
由处理器810执行体积分割指令824可以使设备800将表面网格划分为初始可构建段和不可构建段,包括通过基于初始构建方向将表面网格的网格面表征为悬垂面或非悬垂面;根据悬垂面表征和非悬垂面表征对表面网格的网格面进行聚类;将包括具有非悬垂面表征的网格面的聚类组合到初始可构造段中;并将包括具有悬垂面表征的网格面的聚类组合到不可构造的段中。体积分割指令824的执行可进一步使处理器810将初始构建方向与初始可构建段相关联;迭代地执行,直到没有不可构建段的部分剩余:确定后续构建方向;根据后续构建方向,将后续可构建段与不可构建段划分开;并将后续构建方向与后续可构建段相关联;以及提供所划分的可构建段和相关联的构建方向,以用于通过增材制造构造3D物体。
上述包括访问引擎108和体积分割引擎110的系统、方法、设备和逻辑,可以以多种不同的方式实现在硬件、逻辑、电路和存储在机器可读介质上的可执行指令的多种不同组合中。例如,访问引擎108、体积分割引擎110或其组合可以包括:控制器、微处理器或专用集成电路(application specific integrated circuit,ASIC)中的电路,或可由离散逻辑或元件,或组合在单个集成电路上或分布在多个集成电路之间的其他类型的模拟或数字电路的组合实现。一种产品,例如计算机程序产品,可以包括存储介质和存储在该介质上的机器可读指令,该存储介质和指令在终端、计算机系统或其他设备中执行时,使该设备执行根据上述任何描述的操作,包括根据访问引擎108、体积分割引擎110或其组合的任何特征。
这里描述的包括访问引擎108和体积分割引擎110的系统、设备和引擎的处理能力,可以分布在多个系统部件之中,例如在多个处理器和存储器之中,可选地包括多个分布式处理系统或云/网络元件。参数、数据库和其他数据结构可以单独存储和管理,可以组合到单个存储器或数据库中,可以以许多不同的方式被逻辑和物理地组织,并且可以以许多方式(包括数据结构,如链表、哈希表(hash tables)或隐式存储机制)实现。程序可以是分布在多个存储器和处理器中的单一程序、单独的程序的部分(例如,子例程),或者以许多不同的方式实现,例如在库中(例如,共享库)。
尽管上文描述了各种实例,但可以实现更多的实例。
Claims (14)
1.一种方法,所述方法用于增材制造的表面网格的基于构建方向的划分,包括:
访问(702)三维(3D)物体的表面网格(120)和初始构建方向(121),以用于通过增材制造构造3D物体;
基于所述初始构建方向(121)将所述表面网格(120)划分为初始可构建段和不可构建段(420),其中所述划分包括:
基于所述初始构建方向(121),将所述表面网格(120)的网格面表征为悬垂面(210、220、331、341)或非悬垂面;
根据悬垂面表征和非悬垂面表征对所述表面网格(120)的所述网格面进行聚类(710);
将包括具有所述非悬垂面表征的网格面的聚类组合(712)到所述初始可构建段中;和
将包括具有所述悬垂面表征的网格面的聚类组合(714)到所述不可构建段(420)中;和
将所述初始构建方向(121)与所述初始可构建段相关联(716);
迭代地执行以下步骤,直到没有不可构建段(420)的部分剩余(724):
基于能够在其上构建所述不可构建段的网格面来确定(718)后续构建方向;
基于所述后续构建方向,将后续可构建段从所述不可构建段(420)划分开(720);和
将所述后续构建方向与所述后续可构建段相关联(722);和
提供(726)所划分的可构建段和相关联的构建方向,以用于通过增材制造构造3D物体。
2.根据权利要求1所述的方法,其特征在于,将所述表面网格(120)的所述网格面表征为悬垂面(210、220、331、341)包括:
响应于确定特定网格面的表面法线与所述初始构建方向(121)之间的角度在悬垂角范围内,将所述特定网格面识别(704)为实际悬垂面;
尽管不同网格面的表面法线与所述初始构建方向(121)之间的角度不在所述悬垂角范围内,也将所述不同网格面识别(708)为有效悬垂面;和
将所述特定网格面和所述不同网格面都表征为悬垂面(210、220、331、341)。
3.根据权利要求2所述的方法,其特征在于,将所述不同网格面识别为有效悬垂面包括:
确定在沿所述初始构建方向(121)的增材制造过程中,所述不同网格面将被构造在所述特定网格面的顶端上。
4.根据权利要求2所述的方法,其特征在于,将所述不同网格面识别为有效悬垂面包括:
确定从所述不同网格面投射的光线首先与被表征为实际悬垂面的另一网格面相交。
5.根据权利要求2所述的方法,还包括:在将所述不同网格面识别为有效悬垂面之前,通过以下步骤修改所述表面网格(120):
将被识别为实际悬垂面的网格面以所述初始构建方向(121)投影到基底平面上;
确定所述表面网格(120)与投影到所述基底平面上的网格面之间的相交曲线;和
将形成所述相交曲线的边插入到所述表面网格(120)中,以根据相交曲线将网格面分割为多个网格面。
6.根据权利要求1-5中任一项所述的方法,其特征在于,将所述表面网格(120)划分为所述初始可构建段和所述不可构建段(420)还包括:
将特定网格面识别为部分悬垂面,所述部分悬垂面包括能够符合条件作为悬垂面(210、220、331、341)的网格部分和能够符合条件作为非悬垂面的另一网格部分;和
将特定网格面分割为多个网格面,并将多个网格面中的每个网格面表征为悬垂面(210、220、331、341)或非悬垂面。
7.根据权利要求1-5中任一项所述的方法,其特征在于,将包括具有所述非悬垂面表征的网格面的聚类组合到所述初始可构建段中包括:
根据所述初始构建方向(121),将基底聚类识别为包括所述3D物体的基底的网格面的聚类;
通过光线投射来识别其他可构建聚类;和
将所述基底聚类与可构建聚类合并,以形成所述初始可构建段。
8.根据权利要求7所述的方法,其中将所述基底聚类与所述可构建聚类合并包括:
识别所述基底聚类与所识别的可构建聚类之间的间隙;和
填充所述基底聚类与所识别的可构建聚类之间的间隙,因此所述初始可构建段是封闭的网格。
9.根据权利要求1所述的方法,其特征在于,确定所述后续构建方向包括:
识别与所划分的可构建段和所述不可构建段(420)之间的交界表面相垂直的候选构建方向;和
将所述后续构建方向选择为特定候选构建方向,其中使用所述特定候选构建方向划分的后续可构建段具有最大可构建体积。
10.根据权利要求1-5中任一项所述的方法,其特征在于,确定所述后续构建方向包括:
识别与所划分的可构建段和所述不可构建段(420)之间的交界表面相垂直的候选构建方向;和
将所述后续构建方向选择为特定候选构建方向,其中对于所述候选构建方向,所划分的可构建段与所述不可构建段(420)之间具有最大交界表面积。
11.一种系统(100),所述系统用于增材制造的表面网格的基于构建方向的划分,包括:
访问引擎(108),其被配置以访问三维(3D)物体的表面网格(120)和初始构建方向(121),用于通过增材制造构造3D物体;和
体积分割引擎(110),其被配置以:
基于所述初始构建方向(121)并根据所述表面网格(120)的网格面之间作为悬垂面(210、220、331、341)或作为非悬垂面的差别,将所述表面网格划分为初始可构建段和不可构建段(420),其中所述划分包括:
基于初始构建方向(121),将所述表面网格(120)的网格面表征为悬垂面(210、220、331、341)或非悬垂面;
根据悬垂面表征和非悬垂面表征对所述表面网格(120)的所述网格面进行聚类;
将包括具有所述非悬垂面表征的网格面的聚类组合到所述初始可构建段中;和
将包括具有所述悬垂面表征的网格面的聚类组合到所述不可构建段(420)中;
将所述初始构建方向(121)与所述初始可构建段相关联;和
迭代地执行以下步骤,直到没有不可构建段(420)的部分剩余:
基于能够在其上构建所述不可构建段的网格面来确定后续构建方向;
基于所述后续构建方向,将后续可构建段从所述不可构建段(420)划分开;和
将所述后续构建方向与所述后续可构建段相关联;和
提供所划分的可构建段和相关联的构建方向,以用于通过增材制造构造3D物体。
12.根据权利要求11所述的系统,其特征在于,所述体积分割引擎(110)被配置以:通过以下步骤将包括具有所述非悬垂面表征的网格面的聚类组合到所述初始可构建段中:
根据所述初始构建方向(121),将基底聚类识别为包括所述3D物体的基底的网格面的聚类;
通过光线投射来识别其他可构建聚类;和
将所述基底聚类与所述可构建聚类合并,以形成所述初始可构建段。
13.根据权利要求11或12所述的系统,其特征在于,所述体积分割引擎(110)还被配置以通过以下步骤修改所述表面网格(120):
将被识别为实际悬垂面的网格面以所述初始构建方向(121)投影到基底平面上;
确定所述表面网格(120)与投影到所述基底平面上的网格面之间的相交曲线;和
将形成所述相交曲线的边插入到所述表面网格(120)中,以根据所述相交曲线将网格面分割为多个网格面;
将网格面识别为有效悬垂面;和
将被识别为实际悬垂面或有效悬垂面的网格面表征为悬垂面(210、220、331、341)。
14.一种非瞬时性机器可读介质(820),包括处理器(810)可执行的指令(882、824),以使得计算机系统进行根据权利要求1-10中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762483708P | 2017-04-10 | 2017-04-10 | |
US62/483,708 | 2017-04-10 | ||
PCT/US2018/025334 WO2018191034A1 (en) | 2017-04-10 | 2018-03-30 | Build direction-based partitioning for construction of a physical object through additive manufacturing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110167756A CN110167756A (zh) | 2019-08-23 |
CN110167756B true CN110167756B (zh) | 2022-05-06 |
Family
ID=62063186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880005638.0A Active CN110167756B (zh) | 2017-04-10 | 2018-03-30 | 用于通过增材制造构造实体物体的基于构建方向的划分 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11599089B2 (zh) |
EP (1) | EP3544818B1 (zh) |
CN (1) | CN110167756B (zh) |
WO (1) | WO2018191034A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3544818B1 (en) * | 2017-04-10 | 2023-03-22 | Siemens Industry Software Inc. | Build direction-based partitioning for construction of a physical object through additive manufacturing |
US11526150B2 (en) | 2017-07-10 | 2022-12-13 | Hewlett-Packard Development Company, L.P. | Inferring object attributes |
CN110869188B (zh) * | 2017-07-10 | 2022-10-21 | 惠普发展公司,有限责任合伙企业 | 用于增材制造的物体模型中的嵌套分段 |
US11663372B2 (en) * | 2018-09-04 | 2023-05-30 | Siemens Industry Software Inc. | Spatially-aware detection of trapped support areas in 3D printing |
US10955820B2 (en) * | 2019-02-15 | 2021-03-23 | Siemens Industry Software Inc. | Additive 3-dimensional (3D) core design |
WO2020242047A1 (en) * | 2019-05-30 | 2020-12-03 | Samsung Electronics Co., Ltd. | Method and apparatus for acquiring virtual object data in augmented reality |
CN110605391B (zh) * | 2019-09-09 | 2021-08-27 | 江西宝航新材料有限公司 | 一种壶形薄壁件的3d打印增材制造方法 |
CN112380601B (zh) * | 2020-11-12 | 2022-12-13 | 南昌航空大学 | 一种增材制造建造方向优化方法及系统 |
CN116029002A (zh) * | 2022-12-21 | 2023-04-28 | 浙大城市学院 | 多轴3d打印两步优化设计及制造方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2537642A1 (en) * | 2011-06-23 | 2012-12-26 | Raytheon BBN Technologies Corp. | Robot fabricator |
CN103268635A (zh) * | 2013-05-15 | 2013-08-28 | 北京交通大学 | 一种几何网格场景模型的分割及语义标注方法 |
CN104778755A (zh) * | 2015-03-27 | 2015-07-15 | 浙江理工大学 | 一种基于区域划分的纹理图像三维重构方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006020685A2 (en) * | 2004-08-11 | 2006-02-23 | Cornell Research Foundation, Inc. | Modular fabrication systems and methods |
JP2009508723A (ja) * | 2005-09-20 | 2009-03-05 | ピーティーエス ソフトウェア ビーブイ | 三次元物品を構築する装置及び三次元物品を構築する方法 |
EP2670572B1 (en) * | 2011-01-31 | 2022-09-21 | Global Filtration Systems, A DBA of Gulf Filtration Systems Inc. | Apparatus for making three-dimensional objects from multiple solidifiable materials |
US20140039662A1 (en) * | 2012-07-31 | 2014-02-06 | Makerbot Industries, Llc | Augmented three-dimensional printing |
US20140277669A1 (en) * | 2013-03-15 | 2014-09-18 | Sikorsky Aircraft Corporation | Additive topology optimized manufacturing for multi-functional components |
US9815268B2 (en) * | 2013-03-22 | 2017-11-14 | Markforged, Inc. | Multiaxis fiber reinforcement for 3D printing |
US9688028B2 (en) * | 2013-03-22 | 2017-06-27 | Markforged, Inc. | Multilayer fiber reinforcement design for 3D printing |
US10011075B2 (en) * | 2013-11-22 | 2018-07-03 | Formlabs, Inc. | Systems and methods of post-processing features for additive fabrication |
US10226895B2 (en) * | 2013-12-03 | 2019-03-12 | Autodesk, Inc. | Generating support material for three-dimensional printing |
US9946816B2 (en) * | 2014-03-18 | 2018-04-17 | Palo Alto Research Center Incorporated | System for visualizing a three dimensional (3D) model as printed from a 3D printer |
US10409932B2 (en) * | 2014-09-19 | 2019-09-10 | Siemens Product Lifecyle Management Software Inc. | Computer-aided simulation of multi-layer selective laser sintering and melting additive manufacturing processes |
US10534875B2 (en) * | 2015-01-21 | 2020-01-14 | Siemens Industry Software Inc. | Optimized partitioning of solid 3D models for additive manufacturing |
US10216172B2 (en) * | 2015-09-18 | 2019-02-26 | Siemens Aktiengesellschaft | Functional 3-D: optimized lattice partitioning of solid 3-D models to control mechanical properties for additive manufacturing |
EP3369014B1 (en) * | 2015-10-28 | 2021-11-03 | Siemens Industry Software Inc. | System and method for optimizing tool paths based on thermal/structural simulations of a part being produced via a 3d-printer |
WO2017204094A1 (ja) * | 2016-05-23 | 2017-11-30 | 株式会社ミマキエンジニアリング | 造形装置、造形方法、及び造形物 |
US10395372B2 (en) * | 2016-06-28 | 2019-08-27 | University Of Cincinnati | Systems, media, and methods for pre-processing and post-processing in additive manufacturing |
WO2018064349A1 (en) * | 2016-09-30 | 2018-04-05 | Velo3D, Inc. | Three-dimensional objects and their formation |
WO2018140019A1 (en) * | 2017-01-26 | 2018-08-02 | Siemens Product Lifecycle Management Software Inc. | System and method for adaptive domain reduction for thermo-structural simulation of additive manufacturing process |
EP3544818B1 (en) * | 2017-04-10 | 2023-03-22 | Siemens Industry Software Inc. | Build direction-based partitioning for construction of a physical object through additive manufacturing |
US20200004225A1 (en) * | 2018-06-29 | 2020-01-02 | Velo3D, Inc. | Manipulating one or more formation variables to form three-dimensional objects |
-
2018
- 2018-03-30 EP EP18720450.8A patent/EP3544818B1/en active Active
- 2018-03-30 WO PCT/US2018/025334 patent/WO2018191034A1/en unknown
- 2018-03-30 CN CN201880005638.0A patent/CN110167756B/zh active Active
- 2018-03-30 US US16/472,321 patent/US11599089B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2537642A1 (en) * | 2011-06-23 | 2012-12-26 | Raytheon BBN Technologies Corp. | Robot fabricator |
CN103268635A (zh) * | 2013-05-15 | 2013-08-28 | 北京交通大学 | 一种几何网格场景模型的分割及语义标注方法 |
CN104778755A (zh) * | 2015-03-27 | 2015-07-15 | 浙江理工大学 | 一种基于区域划分的纹理图像三维重构方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110167756A (zh) | 2019-08-23 |
WO2018191034A1 (en) | 2018-10-18 |
EP3544818A1 (en) | 2019-10-02 |
US20200019142A1 (en) | 2020-01-16 |
EP3544818B1 (en) | 2023-03-22 |
US11599089B2 (en) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110167756B (zh) | 用于通过增材制造构造实体物体的基于构建方向的划分 | |
EP3497602B1 (en) | Systems and methods for printing of 3d models | |
EP1710720B1 (en) | Method of computer-aided design of a modeled object having several faces | |
CN105793848B (zh) | 包括建模步骤的计算机辅助设计方法 | |
US20150127301A1 (en) | Updating A CAD Model To Reflect Global Or Local Shape Changes | |
JP6892257B2 (ja) | 制約される非対称的細分割メッシュのトポロジー的変更 | |
US10083264B1 (en) | Systems and methods for implicit surface modeling | |
US11663779B2 (en) | Techniques for generating stylized quad-meshes from tri-meshes | |
US10943037B2 (en) | Generating a CAD model from a finite element mesh | |
US10467359B2 (en) | Special-purpose programmed computer for numerical simulation of a metal forming process having a predefined load path with corresponding mesh adjustment scheme | |
CN107567641B (zh) | 用于识别复制品的系统和方法 | |
CN114202642A (zh) | 三维三角网模型中超大空洞的填补方法及设备 | |
US11763524B2 (en) | Layered meshing for additive manufacturing simulations | |
US20220374556A1 (en) | Parameterization of digital organic geometries | |
JP7313433B2 (ja) | Cad(コンピュータ支援設計)モデルに関する反制約の構成及び執行 | |
Zint et al. | Feature‐Preserving Offset Mesh Generation from Topology‐Adapted Octrees | |
EP3316154A1 (en) | A computer-implemented method of detecting a group of geometric features in a geometric model | |
CN110349265A (zh) | 一种四面体拓扑网格生成方法及电子设备 | |
US20140136151A1 (en) | Methods and Systems for Generating Continuous Surfaces from Polygonal Data | |
US20220414277A1 (en) | Combined microstructure and object boundary representations of computer-aided design objects | |
CN113168488A (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 | ||
CB02 | Change of applicant information |
Address after: Texas, USA Applicant after: SIEMENS INDUSTRY SOFTWARE Ltd. Address before: Texas, USA Applicant before: SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |