CN103631981B - 设计由深度元素表示的建模体 - Google Patents

设计由深度元素表示的建模体 Download PDF

Info

Publication number
CN103631981B
CN103631981B CN201210585587.8A CN201210585587A CN103631981B CN 103631981 B CN103631981 B CN 103631981B CN 201210585587 A CN201210585587 A CN 201210585587A CN 103631981 B CN103631981 B CN 103631981B
Authority
CN
China
Prior art keywords
group
depth
depth elements
elements
molding operation
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
Application number
CN201210585587.8A
Other languages
English (en)
Other versions
CN103631981A (zh
Inventor
N·蒙塔那
M·蒙泰伊
R·诺森佐
A·利厄捷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dassault Systemes of America Corp
Original Assignee
Dassault Systemes of America Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dassault Systemes of America Corp filed Critical Dassault Systemes of America Corp
Publication of CN103631981A publication Critical patent/CN103631981A/zh
Application granted granted Critical
Publication of CN103631981B publication Critical patent/CN103631981B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Abstract

提供一种用于设计建模体的计算机实现的方法。该方法包括提供表示所述建模体的一组深度元素(S10),每个深度元素包括表示线和所述建模体之间的交叉的至少一条线段的组,其中所述一组深度元素被划分割为邻近深度元素群组,其中给每个群组分配依赖于包括在该群组中的每个深度元素中的线段的最大数量的存储空间;提供对所述建模体的造型操作(S20);以及响应于所述造型操作更新(S30)所述一组深度元素。这种方法改善了一组深度元素组所表示的建模体的设计。

Description

设计由深度元素表示的建模体
技术领域
本发明涉及计算机程序及系统领域,更特别地涉及用于设计由一组深度元素表示的建模体的方法、系统和程序。
背景技术
在市场上提供了许多用于对象设计、工程和制造的系统和程序。CAD是计算机辅助设计的首字母缩略词,例如其涉及用于设计对象的软件解决方案。CAE是计算机辅助工程的首字母缩略词,例如其涉及用于仿真未来产品的物理行为的软件解决方法。CAM是计算机辅助制造的首字母缩略词,例如其涉及用于定义制造处理和操作的软件解决方案。在这种系统中,图形用户界面(GUI)在技术效率方面发挥了重要的作用。这些技术可嵌入产品生命周期管理(PLM)系统中。PLM指的是这样一种经营策略:在扩展企业的概念上帮助公司在产品的从概念到其生命期终止的开发中共享产品数据、应用通用处理并利用共同知识。
Dassault Systemes提供的PLM解决方案(商标为CATIA、ENOVIA以及DELMIA)提供了组织产品工程知识的工程中心、管理制造工程知识的制造中心,以及使得企业能够集成并连接到工程中心和制造中心的企业中心。系统一起传送链接产品、处理、资源的开放对象模型,以实现驱动优化产品定义、制造预备、生产和服务的动态的基于知识的产品创建和决策支持。
这些系统中的一些允许用一组深度元素表示建模体。一些论文或专利文献特别提出使用深度元素表示进行加工仿真或交互造型。
这些文献的例子是:
--Computer-Aided Design and Applications,2009中Xiaobo Peng和WeihanZhang的题为“A Virtual Sculpting System Based on Triple DexelModels withHaptics”的论文;
--Proceedings of the 21st annual conference on Computer graphicsandinteractive techniques,1994中Yunching Huang和James H.Oliver的题为“NCMilling Error Assessment and Tool Path Correction”的论文;
--SM’03Proceedings of the eighth ACM symposium on Solid modelingandapplications中Heinrich Muller,Tobias Surmann,Marc Stauter,FrankAlbersmann,Klaus Weinert的“Online Sculpting and Visualization ofMulti-Dexel Volumes”;
--Virtual and Physical Prototyping,2006中Yongfu Ren,Susana K.LaiYuen以及Yuan-Shin Lee的题为“Virtual prototyping and manufacturingplanning byusing tri-dexel models and haptic force feedback”的论文;
--The International Journal of Advanced Manufacturing Technology,1995中Sabine Stifter的题为“Simulation of NC machining based on the dexelmodel:Acritical analysis”的论文;
--Computer Graphics International,1998.Proccedings中Konig,A.H.以及Groller,E.的题为“Real time simulation and visualization of NCmillingprocesses for inhomogeneous materials on low-end graphics hardware”的论文;
--美国专利5,710,709;
--美国专利7,747,418。
GPGPU(图形处理单元上的通用计算)是使用图形处理单元(GPU)的技术,所述图形处理单元典型地仅处理计算机图形的计算,以在传统上由中央处理单元(CPU)处理的应用程序中执行计算。一些论文考虑将现代图形处理单元(GPU)的计算能力用于深度元素表示。这些论文使用LDNI(分层的标准深度图像)算法,其与特定存储器模型相关联。
这些论文的例子是:
--CCP:94:Proceedings of the Seventh International ConferenceonEngineering Computational Technology中B.Tukora和T.Szalay的题为“GPGPU-basedMaterial Removal Simulation and Cutting Force Estimation”的论文;
--Proceedings of ASME international design engineeringtechnicalconferences.Brooklyn(NY)中Charlie C.L.Wang和Yong Chen的题为“LayeredDepth-Normal Images:a Sparse Implicit Representation of SolidModels”的论文。
然而,尤其从存储器性能的角度以及用户使用的角度来看,以上列出的解决方案缺乏效率。在此上下文中,仍然需要改良用于设计由一组深度元素表示的建模体的解决方案。
发明内容
因此,根据一个方案,提供了一种用于设计建模体的计算机实现的方法。该方法包括:提供表示建模体的一组深度元素。每个深度元素包括表示线和建模体之间的交叉的至少一条线段的组。所述一组深度元素被划分为邻近深度元素的群组。并且给每个群组分配依赖于包括在该群组中的每个深度元素中的线段的最大数量的存储空间。该方法还包括提供对建模体的造型操作,以及响应于所述造型操作更新所述一组深度元素。
该方法可包括下述中的一个或多个:
-更新所述一组深度元素包括确定受所述造型操作影响的邻近深度元素的群组,以及更新所确定的群组中的每一个群组;
-更新所确定的群组中的每一个群组包括:对于相应群组,通过并行处理更新所述相应群组中的深度元素;
-更新所述相应群组中的深度元素包括:对于所述相应群组中的相应深度元素,评价造型操作对所述相应深度元素的影响,并从而修改所述相应深度元素;
-评价造型操作对所述相应深度元素的影响包括:评价造型操作对所述相应深度元素的线段的影响;
-更新所述相应群组中的深度元素是由SIMD(单指令多数据)并行处理执行的。
-所述方法进一步包括:当包括在更新后的群组中的每个深度元素中的线段的最大数量被修改时,调整分配给所述更新后的群组的存储空间;
-所述一组深度元素被划分为邻近像素的群组以适应执行所述方法采用的硬件和/或造型上下文;
进一步提出一种用于设计建模体的系统,其中该系统包括在其上记录有用于执行上述方法的指令的存储器,以及与存储器耦合用于执行指令的至少一处理器。
所述处理器是大型并行处理单元。所述系统包括适于启动指令的执行的至少一个GUI。所述GUI可包括GPU,所述处理器是GPU。
进一步提出一种包括用于执行上述方法的指令的计算机程序。
进一步提出一种其上记录有上述计算机程序的计算机可读存储介质。
附图说明
现在将通过非限定性例子并参考附图来描述本发明的实现例,其中:
--图1示出了方法的例子的流程图;
--图2示出了图形用户界面的例子;以及
--图3示出了客户端计算机系统的例子;
--图4-图8和图14示出了方法的例子;
--图9-图13示出了现有技术。
具体实现方式
图1示出了用于设计建模体的计算机实现的方法(此后称为该方法)的例子的流程图。该方法包括提供一组深度元素(S10)。所述一组深度元素表示建模体。(一组深度元素中的)每个深度元素包括至少一条线段的组。这种线段表示线和建模体之间的交叉。所述一组深度元素被化分为邻近深度元素的群组。给每个群组分配依赖于包括在所述群组中的每个深度元素中的线段的最大数量的存储空间。所述方法还包括提供对建模体的造型操作(S20)。所述方法进一步包括响应于造型操作来更新(S30)所述一组深度元素。这种方法改进了对由一组深度元素表示的建模体的设计。
还提供有由一组深度元素表示的建模体,其中(一组深度元素中的)每个深度元素包括至少一条线段的组。这种线段表示线和建模体之间的交叉。所述一组深度元素被划分为邻近深度元素的群组。给每个群组分配依赖于包括在所述群组中的每个深度元素中的线段的最大数量的存储空间。下面描述的方法的特征和例子同样应用到这种建模体。
还提供有用于通过一组深度元素表示建模体的编码方案。该编码方案包括提供体的定义。编码方案接着定义一组线并计算所述一组线与体的交叉,并确定相应的深度元素。该编码方案进一步将所述一组深度元素分为邻近深度元素的群组,并给每个群组分配依赖于包括在所述群组中的每个深度元素中的线段的最大数量的存储空间。提供一组深度元素的步骤(S10)可实现该编码方案。以下描述的方法的特征和例子也可应用于这种编码方案。
该方法可以包括在设计CAD建模对象的处理中。“设计CAD建模对象”是指详细描述建模对象的处理的至少一部分的任意动作或动作序列。因此,该方法可以包括从草图(scratch)开始创建CAD建模对象。可替换地,该方法可以包括提供之前创建的CAD建模对象,接着修改所述CAD建模对象。无论如何,该方法设计的建模体可表示CAD建模对象或CAD建模对象的至少一部分,例如CAD建模对象占用的3D空间。由于该方法改善了由一组深度元素表示建模体的设计,所以该方法也改善了CAD建模对象的设计。
建模对象是由存储在计算机系统的存储器中的数据所定义的任何对象。通过扩展,“建模对象”的表述是指数据本身。CAD建模对象是由在CAD系统的存储器中存储的数据所定义的任何对象。根据系统的类型,建模对象可由不同类型的数据所定义。CAD系统是至少适合于基于建模对象的图形表示设计建模对象的任何系统,例如CATIA。因此,定义CAD建模对象的数据包括允许表示建模对象的数据(例如几何数据,如包括空间中的相对位置)。
该方法可包括在制造处理中,制造处理可以包括:在执行该方法之后,产生与建模体相对应的物理产品。无论如何,该方法设计的建模体可以表示制造对象。因此,建模体可为建模固体(即,表示固体的建模对象)。制造对象可为产品,例如零件或零件的组件。由于该方法改善了建模体的设计,所以该方法也改进了产品的制造,并因此增加了制造处理的生产率。可使用例如DELMIA之类的CAM系统来实现该方法。CAM系统是至少适于定义、仿真和控制制造处理和操作的任何系统。
该方法是计算机实现的。这意味着该方法在至少一个计算机或任何类似的系统上执行。除非另有说明,否则该方法的所有步骤由计算机执行,即无需用户的干涉。例如,更新步骤(S30)可由单独计算机执行,而提供一组深度元素的步骤(S10)和提供造型操作的步骤(S20)可由单独计算机执行或通过用户交互执行。事实上,提供一组深度元素的步骤(S10)可由用户发起。因此,该方法允许基于用户可能提供的造型操作来自动更新(S30)表示建模体的一组深度元素。还值得一提的是,该方法的步骤可允许用户的介入。例如,用户可介入例如修改由计算机运行的算法的结果,例如修改已经被更新(S30)的一组深度元素。这相当于修改所更新的一组深度元素的步骤,在更新步骤(S30)之后执行该修改步骤。
该方法的计算机实现的典型例子是使用适合此目的的系统执行该方法。该系统可包括其上记录有用于执行该方法的指令的存储器。换句话说,软件已经在存储器上准备好以立即使用。该系统因此适于执行该方法而不需要安装任何其它软件。这样的系统也可包括用于执行指令的与存储器耦合的至少一处理器。换句话说,该系统包括在耦合到处理器的存储器上编码的指令,所述指令提供用于执行该方法的模块。这种系统是用于设计建模体的有效工具。
这种系统可以是CAD系统。该系统也可以是CAE和/或CAM系统,并且CAD建模对象也可以是CAE建模对象和/或CAM建模对象。事实上,CAD、CAE以及CAM系统并非彼此排他的,这是因为建模对象可由与这些系统的任何组合相对应的数据定义。
系统可包括用于例如由用户发起指令的执行的至少一个GUI。尤其是,GUI可以允许用户通过以下操作来发起提供一组深度元素的步骤(S10):通过根据草图设计这样的一组深度元素,或者从系统的存储器中或在系统的外部但耦合到该系统(例如通过网络服务)的存储器中获取一组深度元素。GUI也可以允许用户提供造型操作(S20)。GUI可以包括GPU。在这种情况下,处理器可以是GPU。换句话说,执行该方法的至少部分步骤(特别是执行更新(S30)步骤)的处理器可以是GPU。这种系统是用户设计建模体的有效工具。由于基于深度元素的算法很好地适于大规模并行硬件,所以很自然地想到使用现代图形处理单元(GPU)的计算能力。
建模体可为3D(即三维)。这意味着建模体是由允许其3D表示的数据定义的。3D表示允许从所有角度查看所表示的体。例如,当使用3D表示时,可以处理建模体并可以围绕着建模体的任何轴或围绕在其上显示所述表示的屏幕中的任何轴转动该建模体。这特别地排除了不是3D建模的2D图标。3D表示的显示有利于设计(即,提高了设计者统计地完成其任务的速度)。这加速了工业的制造过程,这是因为产品的设计是制造处理的一部分。
图2示出了代表性的CAD系统的GUI的例子。
GUI 2100可以是代表性的类CAD界面,具有标准的菜单栏2110、2120以及底部和侧面工具栏2140、2150。本领域公知的是,这样的菜单栏和工具栏包括一组用户可选图标,每一图标与一个或多个操作或功能相关联。这些图标中的一些与软件工具相关联,适用于对在GUI 2100上显示的3D建模对象2000进行编辑和/或在其上工作。软件工具可分组为工作台。每一工作台包括软件工具的子集。特别地,工作台之一是编辑工作台,适用于编辑建模产品2000的几何特征。在操作中,例如,设计者可预先选择对象2000的一部分,并接着通过选择合适的图标来发起操作(例如造型操作、或任何其它操作,例如改变维度、颜色等等)或编辑几何约束。例如,典型的CAD操作是对在屏幕上显示的3D建模对象的冲压或折叠进行建模。
GUI可以例如显示与被显示的产品2000相关的数据2500。在图2的例子中,显示为“特征树”的数据2500及其3D表示2000属于包括制动钳和盘的制动组件。GUI可进一步示出例如有助于对象的3D定向、触发所编辑的产品的操作的仿真的各种类型的图形工具2130、2070、2080,或呈现所显示的产品2000的各种属性。指针2060可由触觉装置控制以允许用户与图形工具交互。
图3示出了作为客户端计算机系统(例如,用户的工作站)的系统架构的例子。
客户端计算机包括连接到内部通信总线1000的中央处理单元(CPU)1010、也连接到总线的随机存取存储器(RAM)1070。客户端计算机还设置有图形处理单元(GPU)1110,该图形处理单元1110与连接到总线的视频随机存取存储器1100相关联。视频RAM 1110在本领域内可称为帧缓冲器。大容量存储装置控制器1020管理对大容量存储装置(例如,硬盘驱动器1030)的访问。适于有形地体现计算机程序指令和数据的大容量存储装置包括所有形式的非易失性存储器,举例来说包括半导体存储装置,例如EPROM、EEPROM以及闪存装置;磁盘,例如内部硬盘以及可移动磁盘;磁光盘;以及CD-ROM盘1040。前述提及的任何装置可由特殊设计的ASIC(专用集成电路)补充或集成在ASIC中。网络适配器1050管理对网络1060的访问。客户端计算机也可包括触觉装置1090,例如指针控制装置、键盘等等。如参考图2所提及的,指针控制装置用在客户端计算机内,以允许用户将指针选择性地定位在屏幕1080的任何期望的位置。对于屏幕,其意味着可以在其上执行显示的任何支持设备,例如计算机监视器。另外,指针控制装置允许用户选择各种命令,和输入控制信号。指针控制装置包括向系统输入控制信号的若干信号生成装置。典型地,指针控制装置可为鼠标、用于产生信号的鼠标按钮。
为了使得该系统执行该方法,提供包括用于由计算机执行的指令的计算机程序。所述指令包括用于此目的的模块。该程序可以例如在数字电子电路中实现,或在计算机硬件、固件、软件或其组合中实现。本发明的装置可以用计算机程序产品实现,该计算机程序产品有形地体现在机器可读存储装置中并由可编程处理器执行;本发明的方法步骤可由通过操作输入数据并生成输出执行指令程序以实现本发明功能的可编程处理器执行。指令可有利地在一个或多个计算机程序中实现,所述一个或多个计算机程序在可编程系统上是可执行的,该可编程系统包括耦合来从数据存储系统接收数据和指令并向数据存储系统传输数据和指令的至少一个可编程处理器、至少一个输入装置和至少一个输出装置。应用程序可使用高级过程编程语言或面向对象编程语言实现,或者如果希望的话使用汇编语言或机器语言实现;无论如何,语言可以是编译语言或解释型语言。程序可以是完整安装程序或更新程序。在后一种情况下,程序将现有的CAD系统更新到使该系统适于执行该方法的状态。
该方法包括提供表示建模体的一组深度元素(S10)。这允许建模体的轻度表示(换句话说,可使用很少的存储空间表示建模体)。这也使得建模体的表示更易于处理。尤其是,在建模体由深度元素组表示时,由于深度元素组的数据结构,可以十分有效地执行建模体的设计操作。事实上,可以以高响应和高鲁棒性执行设计操作。
术语“深度元素(dexel)”众所周知是“深度元素(depth element)”的缩略(就像术语“像素(pixel)”是“图像元素(picture element)”的缩略一样)。深度元素的概念在大量的研究论文中均有提及。在该方法的上下文中,深度元素包括至少一条线段(即一对3D点)的组。在例子中,建模体包括至少一个深度元素,该深度元素包括至少两条线段的组。如果深度元素的线段是几个的话,则深度元素的线段可为有序的(在这种情况下,深度元素是列表)或是无序的。深度元素的线段表示线和建模体的交叉。换句话说,考虑到虚拟线和建模体交叉,深度元素是来源于给定线的线段的组并且由交叉的计算产生。因此提供一组深度元素(S10)可包括计算这种交叉,例如通过追踪虚拟线并计算其与建模体的交叉,该建模体初始可由B-Rep或任何其它体表示所表示。因此所述一组深度元素表示建模体。
值得重视的是,一组深度元素被提供(S10)为计算机实现的数据。因此,在以上和以下提供的关于建模体的任何表示的定义具有来自数据结构角度的含义。例如,线段可以被提供为一对3D位置(例如,彼此链接的两个3D位置)。3D位置本身可以被提供为与参考3D框架相关联的三个坐标(例如,浮点)的列表。深度元素是线段的组,这意味着线段是在组结构中链接在一起的。一组深度元素中的深度元素也可链接到一起。由一组深度元素表示建模体(所述深度元素本身包括至少一条线段的组)允许建模体的快速更新(S30)。
现在参考图4-图6示出深度元素的概念,图4-图6呈现了将一组深度元素作为深度元素结构67提供的步骤(S10)的例子。
给定建模体和给定无限线,深度元素是表示无限线和建模体的交叉的线段(或间隔)的组。在存储器中,将线段的该组捕获为每条线段的一组边界点。深度元素结构是被组织(例如,被在直角坐标网上排序)的一组深度元素(每个包括一组线段)。图4和图5示出了建模体40以及10×10网格线50。如图4所示出的,本例子的方法包括提供建模体40,例如B-Rep。如图5所示,本例子的方法接着包括定义与建模体40(至少部分)交叉的10×10网格线50。如图6所示出的,本例子的方法接着包括计算包括线段60和/或线段62的组的深度元素65。在图上圈出一个深度元素65。深度元素65可包括几条线段60或一条线段62,这取决于线50与建模体40是在一个点上还是在几个分开的点处交叉。当然,可替换地,该方法可以从存储器获取深度元素65。无论如何,都因而提供了深度元素结构67。
图6示出了获得的深度元素结构67。值得注意的是,不是所有的线50都与建模体40交叉(在例子中,只有五十二条线与建模体40交叉),从而产生出许多深度元素65(不与建模体40交叉的线事实上可被丢弃并且不产生深度元素)。此外,一些线50通过一条线段62与建模体40交叉(例如,深度元素(2,3)或深度元素(9,6)),而其它线通过几条线段60与建模体40交叉,例如通过两条线段(例如深度元素(7,7)或深度元素(4,7)),或通过三条线段(深度元素(2,8)或深度元素(5,8)),或通过四条线段(深度元素(2,9)或深度元素(4,9))。获得的深度元素结构67包括五十二个深度元素65,该五十二个深度元素65包括具有一条线段62的三十六个深度元素65、具有两条线段60的六个深度元素65、具有三条线段60的五个深度元素65以及具有四条线段60的五个深度元素。
在(S10)提供的一组深度元素可为三维深度元素(tridexel)结构。三维深度元素结构是通过包括三个深度元素结构定义的,典型地,一个深度元素结构平行于x轴,一个深度元素结构平行于y轴,并且一个深度元素结构平行于z轴。该方法可包括在任何时间(例如,在提供(S20)和更新(S30)期间)显示建模体的图形表示。此显示可基于一组深度元素。由于三维深度元素结构较少依赖于“观察方向”,所以三维深度元素结构提供良好的显示。尤其当用户改变视角时,三维深度元素结构提供更精确的显示。
图6-图8中的每个代表表示相同建模体的深度元素结构。换句话说,可由三维深度元素数据定义建模体,该三维深度元素数据包括图6-图8的三个深度元素结构。图6示出了沿着y轴的深度元素结构67。图7示出了沿着x轴的深度元素结构68。图8示出了沿着z轴的深度元素结构69。在每个图中,深度元素的线平行于各自的轴。
在数据中也可以提供在线段的端点处建模体的边界的外部法向量。这允许更精细地呈现建模体。
该方法还包括提供对建模体的造型操作(S20)。造型操作是系统提供的用于对建模体进行造型的任何操作。通过对建模体造型,意味着通过布尔运算从建模体增加和/或移除体。因此,造型操作是建模体上的至少一个体布尔运算的任意组合。例如,局部体移除和局部体增加是造型操作,而表面的挤压不是造型操作,这是因为其不基于任何布尔运算。造型处理是具有至少一个造型操作的任何序列。在例子中,造型操作是一系列连续的布尔运算,其涉及在持续时间段内被增加到建模体(或从其减去)的连续体(即,非间断的)。例如,造型操作表示机械加工。
因此,一组深度元素可表示任何固体,该方法可仿真固体的真正造型。特别的,利用计算机辅助设计系统或计算机辅助制造系统可将该方法包括在实时加工仿真中。换句话说,固体可为原料,而该方法可显示由切削刀具虚拟加工的原料的形状。在这种情况下,建模体表示原料,而操作是切削操作。此例子可推广到向零件增加材料的其他制造处理,例如在虚拟粘土上的合成制造和形状造型。也可推广到所有的传统固体建模应用,包括机械设计、形状设计、建筑结构等等。最后,由于其工作能力,该方法可处理更加高级的应用,例如交互式3D造型。更通用地,造型操作可表示加工操作。在这种情况下,建模体可表示经历加工操作的工件,因此该方法改善了工件加工的仿真。从而该方法可以作为测试虚拟加工处理的良好的基础。
事实上,该方法进一步包括响应于(即根据)造型操作更新(S30)(即修改)一组深度元素。换句话说,该方法将造型处理应用到初始提供(S10)的一组深度元素。更新后的一组深度元素表示造型(例如加工)之后的对象。
每个深度元素包括一组线段。与建模体交叉的线的所有线段被分组为一个深度元素。例如由于其允许并行处理,因而允许对建模体的逐线的以及因此更有效率的处理。此外,将所述一组深度元素化分为邻近深度元素的群组。当深度元素之间的距离在预定阈值之下时,这些深度元素被称为邻近的。因此,一组深度元素可被化分(即,划分为深度元素的不相交子集,这些子集的重组构成深度元素的整个组)为邻近深度元素(即,一群组内的两个深度元素必须是邻近的)。第一深度元素和第二深度元素之间的距离是第一深度元素的线和第二深度元素的线之间的距离。第一线和第二线之间的距离可为测量第一线距离第二线有多远的任意距离。例如,如果线是平行的,则所述距离可为第一线的点和第二线的点之间的最小欧几里德距离。如果线不是平行的,则所述距离可为第一线的点和第二线的点之间的最小欧几里德距离,所述的两个点属于一组深度元素的凸包。
给每个群组分配依赖于包括在所述群组中的每个深度元素中的线段的最大数量的存储空间。换句话说,分配给一个群组的存储空间是包括在所述群组中的每个深度元素中的线段的最大数量的函数,该函数是递增函数,可以是线性函数。这允许最优地利用分配给一组深度元素的存储空间。事实上,造型操作(尤其是表示加工操作的那些造型操作)通常对建模体具有局部影响。将深度元素分组为邻近群组允许在更新(S30)时对所述一组深度元素进行逐群组处理。因此,如将参考例子所描述的,可以在逐群组的基础上分配存储器并优化全局分配的存储器。
将一组深度元素划分为邻近深度元素的群组,以适应执行所述方法所应用的硬件和/或造型上下文(sculpting context)。换句话说,调整所述划分以适应于(即可依赖于)用于执行该方法的硬件(例如处理器和/或存储器)和/或造型上下文(即关于方法的上下文的信息)。例如,在一群组内的邻近深度元素的最大数量可为处理器可以执行的并行线程的数量的递增函数。造型上下文可包括关于建模体和/或造型操作的信息。例如,造型上下文可测量建模体的复杂度(例如,其不规则程度的度量)和/或造型操作的复杂度(例如,虚拟地用于执行造型操作的工具的几何体)。造型上下文也可包括关于这种工具的尺寸的信息。例如,在一个群组内的邻近深度元素的最大数量可为建模体的复杂度、造型操作的复杂度的递减函数,和/或造型工具尺寸的递增函数。
现在讨论现有技术以突出该方法的优势。
在现有技术中公知的是,LDNI实现的决定性弱点是达到给定精确级别所必需的存储器的大小。已知的LDNI实现利用“帧缓冲器”和“层”,并通过利用OpenGL和Shaders编程的GPU处理表示建模体的一组深度元素。“帧缓冲器”是位于GPU中的存储空间,其初始专用于以像素的二维阵列存储图像。GPGPU技术利用这种帧缓冲器来存储深度间隔(即,深度元素的线段)的二维阵列。必须理解的是,帧缓冲器的每个元件仅包括一个线段。“层”按如下所定义。在每个深度元素中,根据深度顺序对线段排序。“层”是具有相同深度顺序的所有线段的组。
使用OpenGL和Shaders编程的现有技术计算要求整个帧缓冲器存储每个层。因此,给定深度元素结构和记录深度元素的间隔的最大数量Nmax,接着计算Nmax个层并将其存储在一样多的帧缓冲器中。即使大部分所计算的帧缓冲器是非常稀疏的,出于性能的目的,在该上下文中的严格的存储器管理按照人们所期望地在GPU板上保存整个建模常驻程序(resident)。因此,如果所述一组深度元素包括Nx*Ny个深度元素,则板上存储器必须保留大小为Nx*Ny*Nmax的缓冲器。这参考图9-图13示出。
对于图6的深度元素结构67,根据10*10的网格线,帧缓冲器的大小是Nx*Ny=10*10。如图9所示,由于至少一个深度元素(例如图6中圈出的深度元素65)包括四条线段60,所以由深度元素定义了四层(72、74、76、78)。现在还参考图10-图13,图10-图13将帧缓冲器表示为大小为10*10的网格,在该网格的框中,当帧缓冲器存储针对该网格上的与所述框相对应的位置的和与该帧缓冲器相对应的层的深度元素线段时,呈现叉号。第一帧缓冲器82存储第一层72线段;第二帧缓冲器84存储第二层74线段;第三帧缓冲器86存储第三层76线段;第四帧缓冲器88存储第四层78线段。图10-图13的表格示出了帧缓冲器82-88中已使用和未使用的存储器插槽。标记为X的框87存储一条线段,空白框89是未使用的存储器。必须理解的是,所有四个帧缓冲器(82、84、86、88)是分配的存储器,其示出了大量未使用的存储器。
对于现有技术的该例子,分配的存储器与已使用的存储器的平衡如下。所有四个帧缓冲器所需要的存储器的大小是Nx*Ny*NMAX=10*10*4=400,而已使用的存储器是深度元素的间隔的数量:83。另外,LDNI帧缓冲器的稀疏数据表示将不会直接从通用的稀疏矩阵表示推导出,例如层的链接列表或在深度元素/线程级别的间接表。事实上,这样的技术并不适合大规模并行硬件结构和相应的程序设计抽象,从而将导致低效率的执行速度和数据流。
与现有技术相反,该方法允许快速且鲁棒的更新(S30),同时使用相对较少的存储空间。事实上,被组织为一组深度元素(每个深度元素包括至少一条线段的组)的数据结构允许并行处理。划分为邻近深度元素的群组和分配依赖于包括在群组中的每个深度元素中的线段的最大数量的存储空间允许基于逐群组地执行并行处理。由于造型操作通常具有局部影响,所以这允许获得并行处理的优点,同时避免现有技术中占据的存储器大小方面的不便。
更新(S30)所述一组深度元素可包括确定受造型操作影响的邻近深度元素的群组以及更新每个所确定的群组。换句话说,更新(S30)对在更新时实际上要被被修改的群组进行修改,以便获得效率。事实上,可能有用的是预测造型操作影响邻近深度元素的哪个群组,例如以加速计算。
更新每个确定的群组可包括:对于相应群组,通过并行处理更新所述相应群组中的深度元素。这允许更快速的更新(S30),因此,如果显示了所述一组深度元素,则这允许对提供造型操作的用户动作的快速响应。
并行处理由系统同时执行多个任务所组成。在该方法的情况下,对相应群组中的深度元素进行更新可包括在相应群组中的每个深度元素上运行单一的指令线程。因此,更新相应群组中的深度元素可由SIMD(单指令多数据)并行处理执行。特别地,执行该方法的系统的处理器可为大规模并行处理单元,例如如果所述系统联网有10个或100个以上的处理器。
对于每个深度元素,通用建模操作符(例如布尔运算、偏移或冲突探测)归结为其一维的对应部分,也就是线段上的简单操作。由于对一个深度元素的计算和更新不依赖于对其它深度元素的相应操作,所以该模型很好地适用于大规模并行处理。
现在讨论和示出工作群组和单指令多数据执行。该方法可通过工作组和单指令多数据执行。邻近深度元素的群组可构成工作群组,更新步骤(S30)可包括被确定为受造型操作影响的每个群组上的SIMD执行(所述确定可为SIMD执行的第一步)。
工作群组和SIMD(单指令多数据)执行是OpenCL概念。也就是,属于相同工作群组的所有线程根据“单指令多数据”的方式运行。举例而言,现在考虑输出两个输入数字中最大数的非常简单的程序:即max(a,b),其中a和b是两个输入数字。
所述程序可包括下述指令:
01 if(a>b)then
02 c:=a
03 else
04 c:=b
05 end if
06 return c
此程序包括六条指令。现在考虑下述“Test”程序,其通过三次调用“max”程序而计算三对数字中的最大数。
程序Test
x:=max(5,4)
y:=max(2,6)
z:=max(3,3)
end.
“Test”程序的顺序运行是计算机连续执行第一次调用的指令1、2、5、6,接着第二次调用的指令1、3、4、5、6,以及第三次调用的指令1、3、4、5、6。这导致了执行十四条指令。
现在,属于相同工作群组的三个线程可执行“Test”程序。根据SIMD策略,每个线程运行对“max”程序的一次调用。这意味着“同时”执行对“max”程序的所有三次调用的指令,虽然它们处理的是不同的数据集。更精确地,表I示出了逐步的处理。
表I.示出了使用三对(a,b)运行“max(a,b)程序”的过程。
在计算步骤1,工作群组对所有的三个数据集执行“max”程序的第一条指令“if(a>b)then”。在步骤2,分支效应是第一线程执行“max”程序的指令2,而第二线程和第三线程在此期间等待。这是因为第二线程和第三线程管理a≤b的情况,而第一线程管理a>b的情况。在步骤3,第二线程和第三线程执行“max”程序的指令3,而第一线程等待。如表所示继续执行。结果是,与顺序运行十四条指令的策略相比,三线程工作群组以与执行六条指令相同的计算时间而运行对“max”程序的三次调用。
清楚地,此例子示出了当程序使用独立的数据集运行并且分支逻辑在从一个执行到另一个执行差异不是太大时,同步线程的工作群组是有效率的。
类似地,该方法可通过在每个群组中的深度元素上执行SIMD而更新每个群组。当每个群组中的深度元素是邻近的时,SIMD很可能对工作群组(上述邻近深度元素的群组)的所有线程(即,邻近深度元素的群组中的深度元素)以时间上类似的方式执行。事实上,相同群组中的深度元素在统计学上是类似的并以类似的方式受造型操作的影响。因此,对相同群组中的深度元素进行更新通常包括(几乎都是)相同的操作。由于此原因,获得了并行处理的优势,并节省了存储空间。
所述方法可进一步包括:当包括在更新后的群组中的每个深度元素中的线段的最大数量被改变时,调整分配给更新后的群组的存储空间。换句话说,该方法可进一步包括:在响应于造型操作而更新(S30)一组深度元素之后修改存储器的分配。这可包括释放或进一步分配存储块。这种块分配/释放机制大幅度地提高了存储器模型的效率。在实践中,由于板上存储器的大小是有界限的,所以这对于给定的存储器大小提供了更好的精度。也导致了性能的增益。
该方法因此可提供适应于大规模并行硬件(例如,CUDA或OpenCL编程抽象)的上下文的存储块分配/释放的机制。块可在工作群组级别(OpenCL概念)分配/释放,并且间接表可对这些块进行寻址以获得每个工作群组和相应的深度元素的群组。
通过参考例子在以下讨论的特征,CUDA和OpenCL语言为大规模并行硬件提供了编程抽象。
在例子中,在工作群组(OpenCL的术语)中分组线程。也就是,属于相同工作群组的线程优选以SIMD(单指令多数据)方式执行,因此当分支差异很小时更有效率。
存储器被分为两个主要的种类。第一,小尺寸的专用/本地(OpenCL的术语)存储器,其存取快速并专属于单一线程或由工作群组所分享。第二,大型全局存储区域,其存取慢速,对所有线程可见并优选被连续的块访问。
在更新(S30)的某一阶段,单独的线程负责更新单独的深度元素,同步线程的“工作群组”管理邻近深度元素的群组,也即我们所称的深度元素群组。该例子的数据结构被设计为使得所有的深度元素群组具有相同数量的深度元素,记为k。相同深度元素群组中的深度元素的几何邻近(典型的是网格内的小的子网格)增大了层的相似配置和所需数量的可能性。
回顾图6的例子,根据本例子的方法,可将深度元素结构67划分成具有5*5=25个深度元素群组的网格,每个群组包括k=4个深度元素。可以对相同群组内的所有深度元素分配相同的存储器大小,这越来越多地依赖于所述群组中的所有深度元素的线段的最大数量。图14示出了深度元素群组和它们相应的最大线段数量140。
为该深度元素群组结构分配的存储器大小存储1线段深度元素的十个群组、3线段深度元素的三个群组、2线段深度元素的一个群组和4线段深度元素的三个群组,即(10*1+3*3+1*2+4*3)*4=132个存储器单元。与现有技术需要400个存储单元相比,这是存储空间十分高的增益。
在处理期间,当相同深度元素群组中的深度元素的线段的最大数量增加1时,可分配一个全局存储块。当然,此存储块被限定尺寸以存储线段。相反地,当在相同工作群组中的所有深度元素的间距的最大数量减少时,可释放存储块表中相应的块。这样,下一重新分配可重用自由块。因此,这可最优地由SIMD(同步)线程群组执行。
这时候,除了经由SIMD产生这样的更新以便在每个群组上通过并行处理执行更新步骤(S30)的事实之外,没有过多描述如何更新群组中的每个深度元素。所述方法可包括更新每个深度元素的任意方案。例如,更新相应群组的深度元素包括:对于相应群组中的相应深度元素,评价造型操作在所述相应深度元素上的影响,以及因此修改相应深度元素。例如,如果造型操作是切削操作,则可将切削体从受这样的操作影响的深度元素上减去。
评价造型操作对相应深度元素的影响可包括:评价造型操作对相应深度元素的线段的影响。换句话说,更新发生在线段级别。事实上,造型操作可修改深度元素的线段结构。例如,可删除一些线段,可增加一些线段,和/或可修改一些线段。

Claims (23)

1.一种用于设计表示工件的建模体的计算机实现的方法,其中所述方法包括:
提供表示所述建模体的一组深度元素(S10),每个深度元素包括表示线和所述建模体之间的交叉的至少一条线段的组,其中所述一组深度元素被划分为邻近深度元素群组,其中,群组中的任何深度元素对都是相邻深度元素,其中,两个相邻深度元素在它们之间具有在预定阈值之下的距离,并且其中给每个群组分配依赖于包括在该群组中的每个深度元素中的线段的最大数量的存储空间;
提供对所述建模体的造型操作(S20),所述造型操作表示由所述建模体所表示的所述工件经历的机械操作;以及
响应于所述造型操作更新(S30)所述一组深度元素。
2.如权利要求1所述的方法,其中更新所述一组深度元素包括:确定受所述造型操作影响的邻近深度元素群组,以及更新每个所确定的群组。
3.如权利要求2所述的方法,其中更新每个所确定的群组包括:对于相应群组,更新所述相应群组中的深度元素。
4.如权利要求3所述的方法,其中更新所述相应群组中的深度元素是通过并行处理执行的。
5.如权利要求3或4所述的方法,其中更新所述相应群组中的深度元素包括:对于所述相应群组中的相应深度元素,评价所述造型操作对所述相应深度元素的影响,并从而修改所述相应深度元素。
6.如权利要求5所述的方法,其中评价所述造型操作对所述相应深度元素的影响包括:评价所述造型操作对所述相应深度元素的线段的影响。
7.如权利要求6所述的方法,其中更新所述相应群组中的深度元素是由SIMD(单指令多数据)并行处理执行的。
8.如权利要求2所述的方法,其中所述方法进一步包括:当包括在所更新的群组中的每个深度元素中的线段的最大数量被修改时,调整分配给所更新的群组的存储空间。
9.如权利要求1所述的方法,其中所述一组深度元素被划分为邻近像素群组以适应执行所述方法所采用的硬件和/或造型上下文。
10.一种用于设计建模体的系统,其中所述系统包括在其上记录有用于执行如权利要求1-9的任一项所述的方法的指令的存储器,以及与所述存储器耦合用于执行所述指令的至少一个处理器。
11.如权利要求10所述的系统,其中所述处理器是大规模并行处理单元。
12.如权利要求10或11所述的系统,其中所述系统包括适于启动所述指令的执行的至少一个GUI。
13.如权利要求12所述的系统,其中所述GUI包括GPU,所述处理器是所述GPU。
14.一种用于设计表示工件的建模体的装置,包括:
用于提供表示所述建模体的一组深度元素(S10)的单元,每个深度元素包括表示线和所述建模体之间的交叉的至少一条线段的组,其中所述一组深度元素被划分为邻近深度元素群组,其中,群组中的任何深度元素对都是相邻深度元素,其中,两个相邻深度元素在它们之间具有在预定阈值之下的距离,并且其中给每个群组分配依赖于包括在该群组中的每个深度元素中的线段的最大数量的存储空间;
用于提供对所述建模体的造型操作(S20)的单元,所述造型操作表示由所述建模体所表示的所述工件经历的机械操作;以及
用于响应于所述造型操作更新(S30)所述一组深度元素的单元。
15.如权利要求14所述的装置,其中更新所述一组深度元素包括:确定受所述造型操作影响的邻近深度元素群组,以及更新每个所确定的群组。
16.如权利要求15所述的装置,其中更新每个所确定的群组包括:对于相应群组,更新所述相应群组中的深度元素。
17.如权利要求16所述的装置,其中更新所述相应群组中的深度元素是通过并行处理执行的。
18.如权利要求16或17所述的装置,其中更新所述相应群组中的深度元素包括:对于所述相应群组中的相应深度元素,评价所述造型操作对所述相应深度元素的影响,并从而修改所述相应深度元素。
19.如权利要求18所述的装置,其中评价所述造型操作对所述相应深度元素的影响包括:评价所述造型操作对所述相应深度元素的线段的影响。
20.如权利要求19所述的装置,其中更新所述相应群组中的深度元素是由SIMD(单指令多数据)并行处理执行的。
21.如权利要求15所述的装置,其中所述装置进一步包括:用于当包括在所更新的群组中的每个深度元素中的线段的最大数量被修改时,调整分配给所更新的群组的存储空间的单元。
22.如权利要求14所述的装置,其中所述一组深度元素被划分为邻近像素群组以适应执行所述装置所采用的硬件和/或造型上下文。
23.一种其上记录有计算机可执行指令的计算机可读存储介质,当被执行时,所述计算机可执行指令执行根据权利要求1-9的任一项所述的方法。
CN201210585587.8A 2011-11-03 2012-11-02 设计由深度元素表示的建模体 Active CN103631981B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP11306424.0A EP2590144B1 (en) 2011-11-03 2011-11-03 Designing a modeled volume represented by dexels
EP11306424.0 2011-11-03

Publications (2)

Publication Number Publication Date
CN103631981A CN103631981A (zh) 2014-03-12
CN103631981B true CN103631981B (zh) 2018-01-23

Family

ID=45218590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210585587.8A Active CN103631981B (zh) 2011-11-03 2012-11-02 设计由深度元素表示的建模体

Country Status (6)

Country Link
US (1) US10217291B2 (zh)
EP (1) EP2590144B1 (zh)
JP (1) JP6046449B2 (zh)
KR (1) KR101947184B1 (zh)
CN (1) CN103631981B (zh)
CA (1) CA2794074C (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2590143B1 (en) 2011-11-03 2018-10-24 Dassault Systèmes Simulation of the machining of a workpiece
EP2590142B1 (en) 2011-11-03 2018-03-14 Dassault Systèmes Designing a modeled volume represented by dexels
CN103400417B (zh) * 2013-08-02 2016-07-06 拓维信息系统股份有限公司 一种基于计算机仿生的模拟铜版雕刻效果的图像处理方法
US9703696B1 (en) * 2013-09-11 2017-07-11 Altera Corporation Guided memory buffer allocation
EP3040797B1 (en) 2014-12-31 2020-10-28 Dassault Systèmes Simulating the machining of a workpiece
US10621524B2 (en) * 2015-11-09 2020-04-14 Dassault Systemes Americas Corp. Exporting hierarchical data from a source code management (SCM) system to a product lifecycle management (PLM) system
US10621526B2 (en) * 2015-11-09 2020-04-14 Dassault Systemes Americas Corp. Exporting hierarchical data from a product lifecycle management (PLM) system to a source code management (SCM) system
CN107526895B (zh) * 2017-09-06 2021-02-05 合肥工业大学 一种古民居群快速建模系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4833617A (en) 1987-08-14 1989-05-23 General Electric Company Solid modeling based adaptive feedrate control for NC machining
US5710709A (en) 1993-08-19 1998-01-20 Iowa State University Research Foundation, Inc. NC milling simulation and dimensional verification via dexel representation
US6311100B1 (en) 1998-09-14 2001-10-30 Mass. Institute Of Technology Tool path generator for computer aided manufacturing
DE19846426A1 (de) 1998-10-08 2000-04-13 Open Mind Software Technologie Verfahren zum Steuern der Arbeitsbewegung eines Werkzeugs zur materialabtragenden Bearbeitung eines Materialblocks
JP3571564B2 (ja) * 1999-02-15 2004-09-29 独立行政法人 科学技術振興機構 表示方法及び表示プログラムを記録したコンピュータ読み取り可能な記録媒体及び表示装置
JP2001109906A (ja) * 1999-10-01 2001-04-20 Mitsubishi Electric Inf Technol Center America Inc ボリューム・データ・セットのレンダリング装置およびその方法
US20020133264A1 (en) 2001-01-26 2002-09-19 New Jersey Institute Of Technology Virtual reality system for creation of design models and generation of numerically controlled machining trajectories
DE10144932B4 (de) 2001-09-12 2014-07-31 Siemens Aktiengesellschaft Visualisierung von Werkstücken bei der Simulation von Fräsprozessen
WO2004110309A2 (en) 2003-06-11 2004-12-23 Case Western Reserve University Computer-aided-design of skeletal implants
DE10330831A1 (de) 2003-07-08 2005-02-10 Mtu Aero Engines Gmbh Fräsverfahren zur Fertigung von Bauteilen
KR100517880B1 (ko) 2003-11-20 2005-09-28 학교법인 포항공과대학교 Cnc 가공에서 생산시간 단축과 가공 정밀도 향상을위한 이송속도 스케줄링 방법
US7747418B2 (en) 2005-12-09 2010-06-29 Leu Ming C Computer aided dental bar design
DE102007059568A1 (de) 2007-12-11 2009-06-18 Mtu Aero Engines Gmbh Tauchfräsverfahren
US9530246B2 (en) 2009-01-15 2016-12-27 Mitsubishi Electric Corporation Collision determination device and collision determination program
US8538574B2 (en) 2009-04-02 2013-09-17 Dmg Electronics Gmbh Method and apparatus for generating control data for controlling a tool on a machine tool
US8265909B2 (en) 2009-05-19 2012-09-11 Mitsubishi Electric Research Laboratories, Inc. Method for reconstructing a distance field of a swept volume at a sample point
WO2011042764A1 (en) 2009-10-06 2011-04-14 Pécsi Tudományegyetem Method, computer system and computer program product for machining simulation and for visually presenting such simulation
US8503750B2 (en) * 2009-10-06 2013-08-06 General Electric Company Method and apparatus for reduction of metal artifacts in CT images
US8805570B2 (en) 2009-11-10 2014-08-12 Mitsubishi Heavy Industries, Ltd. Workpiece measuring device, collision preventing device, and machine tool
DE112010005458T5 (de) 2010-04-07 2013-01-24 Mitsubishi Electric Corp. Bearbeitungssimulationsverfahren, Einrichtung für dasselbe und Programm zum Veranlassen eines Computers, das Verfahren auszuführen
US8838419B2 (en) 2011-06-24 2014-09-16 Mitsubishi Electric Research Laboratories, Inc. System and method for simulating machining objects
EP2590142B1 (en) 2011-11-03 2018-03-14 Dassault Systèmes Designing a modeled volume represented by dexels
EP2590143B1 (en) 2011-11-03 2018-10-24 Dassault Systèmes Simulation of the machining of a workpiece
EP3040797B1 (en) 2014-12-31 2020-10-28 Dassault Systèmes Simulating the machining of a workpiece

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Parallel and efficient Boolean on polygonal solids;Hanli Zhao et al.;《Visual Computer》;20110422;全文 *
基于Dexel模型的NC加工仿真和验证研究;汤幼宁 等;《西北工业大学学报》;19971130;第15卷(第4期);引言,第1.1-1.2,2.1-2.2节,图1 *

Also Published As

Publication number Publication date
KR20130049753A (ko) 2013-05-14
EP2590144A1 (en) 2013-05-08
EP2590144B1 (en) 2018-10-24
US10217291B2 (en) 2019-02-26
CA2794074C (en) 2020-09-08
CN103631981A (zh) 2014-03-12
JP2013097811A (ja) 2013-05-20
KR101947184B1 (ko) 2019-02-12
CA2794074A1 (en) 2013-05-03
US20130116984A1 (en) 2013-05-09
JP6046449B2 (ja) 2016-12-14

Similar Documents

Publication Publication Date Title
CN103631981B (zh) 设计由深度元素表示的建模体
Minetto et al. An optimal algorithm for 3D triangle mesh slicing
CN103914865B (zh) 形成几何图案的面的组
KR102028203B1 (ko) 워크피스의 기계가공의 시뮬레이션
KR101955035B1 (ko) 기하학적 3차원 모델링된 오브젝트를 디자인하는 방법
JP6721332B2 (ja) 3dモデル化されたアセンブリ上で境界ボックスを生成すること
CN103150416B (zh) 设计由深度元素表示的建模体
CN109767495A (zh) 3d部件的增材制造
US11307560B2 (en) System, method and computer program for creating united cellular lattice structure
KR20140139984A (ko) 3d 모델링된 오브젝트의 압축 및 압축해제
JP2005038219A (ja) 境界表現データからボリュームデータを生成する方法及びそのプログラム
KR20140142470A (ko) 나무 모델과 숲 모델 생성 방법 및 장치
Mazumder et al. A structured method to generate conformal FE mesh for realistic textile composite micro-geometry
KR101586765B1 (ko) 반도체 공정 기반 3차원 가상 형상 모델링 방법
CN109726442A (zh) 一种基于acis平台的三维实体模型重构方法
Jang et al. Determination and application of installation sequence of piping systems in cramped spaces of ships and offshore structures considering geometric relationship of pipe elements
CN115087982A (zh) 计算机辅助设计对象的基于机器学习的选择性实体化
JPH06314317A (ja) Cadデータの立体図描画方法
CN116442514A (zh) 一种曲面分层3d打印路径规划方法及系统
Liu et al. Towards a Unified In-Process Geometrical Model for Multiple Machining and Layered Manufacturing
Sarabia-Pérez et al. Deterministic mathematical morphology for CAD/CAM
Suzuki On Representing Product Information in CAD–Present Status and Future Directions
Tarbutton Automated Digital Machining for Parallel Processors
Khardekar Efficient computation of geometric manufacturability metrics for injection molding
US20120069016A1 (en) Method and Apparatus for Adding Detail to a 3D Solid Model Using a Secondary Geometric Representation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant