CN105761303B - 在3d建模组件上创建包围盒 - Google Patents
在3d建模组件上创建包围盒 Download PDFInfo
- Publication number
- CN105761303B CN105761303B CN201511036116.1A CN201511036116A CN105761303B CN 105761303 B CN105761303 B CN 105761303B CN 201511036116 A CN201511036116 A CN 201511036116A CN 105761303 B CN105761303 B CN 105761303B
- Authority
- CN
- China
- Prior art keywords
- dimensional
- bounding box
- computer
- bounding boxes
- objects
- 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
-
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- 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/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
-
- 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/2016—Rotation, translation, scaling
Abstract
提出了一种用于在三维场景中的三维建模组件上创建包围盒的集合的计算机实现的方法。所述方法包括提供形成所述三维场景中三维建模组件的三维建模对象;计算包围所述三维建模组件的主包围盒;创建满足所述三维建模组件的至少一个属性的三维建模对象的集合;计算所述主包围盒所包含的两个或更多个包围盒,所述两个或更多个包围盒中的一个包括该集合的三维建模对象。
Description
技术领域
本发明涉及计算机程序及系统的领域,并且具体地涉及一种用于在3D建模对象的三维组件上创建包围盒的集合的方法、系统及程序。
背景技术
市场上提供了用于对象的设计、工程及制造的若干系统及程序。CAD是计算机辅助设计的缩写,例如,它涉及用于设计对象的软件解决方案。CAE为计算机辅助工程的缩写,例如,它涉及用于对未来产品的物理行为进行仿真的软件解决方案。CAM为计算机辅助制造的缩写,例如,它涉及用于定义制造过程及操作的软件解决方案。在这样的计算机辅助设计系统中,图形用户界面对于所述技术的效率起着重要作用。这些技术可以嵌入在产品生命周期管理(PLM)系统中。PLM是指一种经营策略,其跨越扩展企业的概念,帮助公司共享产品数据、应用共同过程和利用企业知识以用于从概念至生命结束的产品开发。
由达索系统公司(商标为CATIA、ENOVIA和DELMIA)提供的PLM解决方案提供了组织产品工程知识的工程中心,管理制造工程知识的制造中心、以及使企业能够集成并连接到工程及制造中心的企业中心。所有系统一起传递开放的对象模型链接产品、过程、资源,以使能驱动优化的产品定义、制造预备、生产及服务的动态的、基于知识的产品创造及决策支持。
在CAD系统中,包围体使用广泛,例如,用于拣选(culling)或交叉测试的目的。典型的包围体例如为立方体、圆筒形或球体。一般来说,包围体的创建仅取决于3D建模对象的组件的产品结构,使得每一个3D对象被包围在其自己的包围盒内。然而,当包围盒的目的不是拣选或交叉测试时,仅取决于产品结构对组件的划分并非总是适合的。例如,包围盒可能用于操纵所述组件的目的。
在此上下文中,仍然需要改进在三维场景中的三维建模组件上对包围盒集合的创建。
发明内容
因此,提供了一种在三维场景中的三维建模组件上创建包围盒的集合的计算机实现的方法。所述方法包括提供形成三维场景中三维建模组件的三维建模对象,计算包围所述三维建模组件的主包围盒,创建满足所述三维建模组件的至少一个属性的三维建模对象的集合,以及计算所述主包围盒包含的两个或更多个包围盒,所述两个或更多个包围盒中的一个包括该集合中的三维建模对象。
所述方法可以包括:
-三维建模的至少一个属性包括所述三维建模组件的一个或多个三维建模对象的至少一个属性;并且在计算所述两个或更多个包围盒之前,进一步包括:基于用户动作,选择所述三维建模组件的一个或多个三维建模对象的至少一个属性;
-计算所述两个或更多个包围盒的所述步骤进一步包括:计算所述三维场景中的表示所创建的组的三维建模对象的轮廓的一个点集;计算所述一个点集的重心(barycenter);计算将所述重心作为由包围盒限定的体的中心的包围盒;
-至少一个选择的属性为以下中的一个:所述三维建模组件的产品结构中的级别;所述对象的材料参数;所述对象的颜色;
-所述三维建模组件的所述至少一个属性为三维场景中三维建模组件的尺寸;
-根据所述三维建模组件的主要部分的尺寸,确定所述主包围盒中包含的计算的包围盒的数目n;
-所述主包围盒和所述两个或更多个包围盒为矩形体、立方体中的一个;
-所述主包围盒在所述主包围盒的一个方向周围包括至多两个邻接的叠加的包围盒;
-所述计算的两个或更多个包围盒在所述三维场景中在邻接包围盒间之间具有最小间距;
-在提供的步骤之后:计算三维建模组件的简化视图,计算的简化视图为用缩小的比例表示所述组件并且形成一个单个网格的一个三维对象的视图;在所述简化视图上显示所述计算的包围盒;
进一步提供了一种包括用于执行上述方法的指令的计算机程序。
进一步提供了一种计算机可读存储介质,具有记录在其上的计算机程序。
进一步提供了一种系统,包括耦接到存储器和图形用户界面的处理理,所述存储器具有记录在其上的所述计算机程序。
附图说明
现在将通过非限制性示例并且参考附图来描述本发明的实施例,其中:
-图1示出了所述方法的第一示例的流程图;
-图2示出了所述方法的第二示例的流程图;
-图3示出了根据本发明获得的包围盒的显示的示例的流程图;
-图4示出了3D建模对象的3D建模组件的视图的示例;
-图5示出了所述系统的图形用户界面的示例;
-图8a至图9b示出了显示根据本发明获得的包围盒的示例。
-图10示出了用于执行本方法的系统的示例。
具体实施方式
参考图1和2的流程图,提出了一种用于在三维(3D)场景中的3D建模组件上创建包围盒的集合的计算机实现的方法。所述方法包括提供形成3D场景中的3D建模组件的3D建模对象。所述方法进一步包括计算包围所述3D建模组件的主包围盒。所述方法还包括创建满足所述3D建模组件的至少一个属性的3D建模对象的集合。所述方法进一步包括计算所述主包围盒包含的两个或更多个包围盒。这些两个或更多个包围盒中的一个包括该集合的3D建模对象。换言之,根据创建的3D建模对象的集合,来计算所述两个或更多个包围盒。
此方法允许根据系统、用户、应用的具体需求来划分3D建模组件,因为包围盒的创建是根据形成所述组件的3D建模对象的一组对象来执行的。有趣的是,这组对象能够自动获得。因此,所述系统选择参数,根据所述参数来对3D建模组件进行划分。这允许所述系统优化其用于创建包围盒集合的资源消耗。可替换地,能够根据一个或多个三维建模对象所满足的属性的用户选择,来获得这组对象。这样的选择允许用户取决于其需求在所述3D建模组件上创建其自己的区字段。
所述方法是计算机实现的。这表示所述方法的步骤(或基本上所有步骤)由至少一个计算机或类似的任意系统执行。因此,所述方法的步骤由所述计算机可能全自动或半自动地执行。在示例中,可以通过用户-计算机交互来执行对所述方法的至少某些步骤的触发。所需的用户-计算机交互的水平可以取决于预见的自动化水平,并且与实现用户意愿的需求平衡。在示例中,这一水平可能是用户定义和/或预定义的。
例如,可以基于用户动作来触发提供3D建模对象的步骤(图1和2的S10)。作为另一示例,还基于用户动作来执行选择的步骤S120。
所述方法的计算机实现的一个典型示例是利用适合于此目的的系统来执行所述方法。所述系统可以包括耦接到存储器和图形用户界而(GUI)的处理器,所述存储器具有记录在其上的包括用于执行所述方法的指令的计算机程序。所述存储器还可以存储数据库。所述存储器是适合于这样的存储的任意硬件,可能包括数个物理不同的部件(例如,一个用于程序,并且一个可能用于数据库)。
在本发明的方法中,所述3D建模对象的组件的对象能够存储在存储器上。计算的包围盒也可以存储在所述存储器上。
“数据库”,表示被组织用于搜索和检索的数据(即信息)的任意集合。当存储在存储器上时,数据库允许由计算机进行的快速搜索和检索。数据库实际上被结构化为便于与各种数据处理操作协作的对数据进行存储、检索、更改和删除。所述数据库可以由能够被拆分为记录的一个文件或文件的集合构成,所述记录中的每一个记录由一个或多个字段构成。字段为数据存储的基本单位。用户可以主要通过查询来检索数据。使用关键词和排序命令,用户能够根据所用的数据库管理系统的规则,快速搜索、重排、分组和选择许多记录中的字段,以检索或创建有关特定数据的聚合的报告。
所述方法通常操纵建模的对象,例如,表示诸如部件或部件的组件、或可能是产品组件之类的产品。建模对象是由所述数据库中存储的数据所定义的任意对象。通过扩展,“建模对象”这一表述指数据本身。根据所述系统的类型,所述建模对象可以由不同种类的数据定义。所述系统可能实际上是CAD系统、CAE系统、CAM系统、PDM系统和/或PLM系统的任何组合。在那些不同的系统中,建模对象由对应的数据定义。人们可以据此谈及CAD对象、PLM对象、PDM对象、CAE对象、CAM对象、CAD数据、PLM数据、PDM数据、CAM数据、CAE数据。然而,这些系统并不互相排斥,因为建模对象可以由与这些系统的任意组合相对应的数据定义。由此,一个系统可以是CAD和PLM系统二者,根据下面提供的这样的系统的定义这显而易见的。
CAD系统,表示至少适合于基于建模对象的图形表示来设计该建模对象的任意系统,例如,CATIA。在此情形下,定义建模对象的数据包括允许建模对象的表示的数据。CAD系统可以例如使用边或线,某些情况下用面或表面,来提供CAD建模对象的表示。线、边或表面可以以各种方式表示,例如,非一致性理性B样条(NURBS)。尤其是,CAD文件包含规范,根据其可以生成几何形状,继而允许生成表示。建模对象的规范可以存储在单个CAD文件或多个CAD文件内。表示CAD系统中的建模对象的文件的典型大小在每部件一兆字节的范围内。并且建模对象通常可以使成千上万部件的组件。
在CAD的上下文中,建模对象通常可以是3D建模对象,例如,表示诸如部件或部件的组件或可能是产品组件之类的产品。“3D建模对象”表示由允许其3D表示的数据建模的任意对象。3D表示允许从所有角度来观看该部件。例如,当对3D建模对象进行3D表示时,可以对3D建模对象进行处理并且绕其任意轴,或绕显示所述表示的屏幕上的任意轴旋转。这明显排除了非3D建模的2D图标。3D表示的显示便于设计(即,加快了设计者统计上完成其任务的速度)。这加速了工业中的制造过程,因为产品的设计是制造过程的一部分。
CAD系统可以基于历史。在此情形下,建模对象进一步由包括几何特征的历史的数据定义。建模对象可能实际上由物理的人(即,设计者/用户)使用标准的建模特征(例如,模压、外卷、切割和/或环绕等)和/或标准的表面处理特征(例如,刮模、接合、放样、填充、变形、和/或平滑等)来进行设计。许多支持这样的建模功能的CAD系统是基于历史的系统。这表示设计特征的创建历史一般是由非循环数据流保存的,所述非循环数据流通过输入及输出链接将所述几何特征链接在一起。自80年代起,基于建模范例的历史就是公知的。建模对象由两个持续的数据表示来进行描述:历史和B-rep(即界限表示)。所述B-rep为历史中定义的计算的结果。当表示建模对象时,计算机屏幕上显示的部件形状是B-rep的(棋盘形铺嵌)。所述部件的历史是设计意图。基本上,所述历史收集了所述建模对象所经历的操作有关的信息。所述B-rep可以与所述历史一块保存,使得更易于显示复杂部件。所述历史可以与所述B-rep保存在一起,以便根据所述设计意图允许部件的设计变化。
PLM系统表示适合于对表示物理制造的产品的建模对象进行管理的任意系统。在PLM系统中,建模对象由此由适于物理对象的制造的数据来进行定义。这些可能一般是尺寸值和/或公差值。对于对象的正确制造,实际上最好有这样的值。
CAM代表计算机辅助制造。CAM解决方案表示适合于管理产品的制造数据的任意解决方案、软件或硬件。所述制造数据一般包括与用于制造产品、制造过程和所需资源有关的数据。CAM解决方案用于规划和优化产品的整个制造过程。例如,它能够给CAM用户提供关于可行性、制造过程的持续时间或资源(例如,特定机器人)数目的信息,其可以用在制造过程的特定步骤;从而允许关于管理或所需投资的决策。CAM为CAD过程和潜在的CAE过程之后的过程。这样的CAM解决方案由达索系统公司提供,商标为
CAE代表计算机辅助工程。CAE解决方案表示适合于对建模对象的物理行为进行分析的任意解决方案、软件或硬件。一种公知的并且广泛使用的CAE技术为有限元素法(FEM),其一般涉及将建模对象划分为能够通过方程来对物理行为进行计算并且仿真的元素。这样的CAE解决方案由达索系统公司提供,商标为另一种发展中的CAE技术涉及根据物理的不同字段而不是CAD几何数据来对由多个组件构成的复杂系统进行建模与分析。CAE解决方案允许模拟,从而允许优化、改进和验证制造的产品。这样的CAE解决方案由达索系统公司提供,商标为
PDM代表产品数据管理。PDM解决方案表示适合于管理与特定产品有关的所有类型数据的解决方案、软件或硬件。PDM解决方案可以由产品的生命周期中涉及的所有参与者使用;主要是工程师,也包括项目经理、金融人士、销售人员和买家。PDM解决方案通常基于面向产品的数据库。它允许参与者共享关于其产品的一致性数据,因此防止参与者使用分歧性数据。这样的PDM解决方案由达索系统公司提供,商标为
有趣的是,本发明不限于CAD/CAE/CAM/PDM或PLM系统,并且它能够与使用对象的3D表示并且可以专用于非CAD用户的任意系统一起使用,例如,用于执行技术说明、维护或培训操作、组件介绍、例如互动部件目录的互动应用程序的系统、设计/创作系统……。要理解所述建模对象可以由不同种类的数据定义。
图5显示了用于执行技术说明的系统的GUI的示例。本方法能够用于任意种类的GUI。
GUI 100可以是典型的类似CAD的界面,具有标准的菜单栏110、112以及底部140和侧工具栏。如本领域公知的,这样的菜单及工具栏包含一组用户可选的图标,每一个图标与一个或多个操作或功能关联,如本领域所公知的。这些图标中的某些与适合于对GUI 100内显示的3D建模对象200进行编辑和/或操作的软件工具关联。要理解3D建模对象200为3D建模对象的3D建模组件。所述软件工具可以分组为工作台。每一个工作台包括软件工具的子集。尤其是,所述工作台中的一个为编辑工作台,适于编辑建模产品200的图形特征。操作时,设计者可以例如预先选择对象200的一个部件,接着启动操作(例如,添加用于完成技术说明的注释)。作为另一示例,所述设计者可以预先选择对象200的一个部件,接着通过选择适当的图标来编辑几何约束。例如,典型的CAD操作为对屏幕上显示的3D建模对象的冲孔或折叠进行建模。
GUI 100可以进一步显示各种类型的图形工具130、150,例如用于便于所述对象的3D定位,用于触发编辑产品的操作的仿真或渲染所显示的产品200的各种属性。光标160可以由触觉设备控制,以允许用户与所述图形工具进行交互。
图10示出了所述系统的示例,其中所述系统为客户端计算机系统,例如,用户的工作站。
所述示例的客户端计算机包括连接到内部通信总线1000的中央处理单元(CPU)1010、也连接到所述总线的随机存取存储器(RAM)1070。所述客户端计算机进一步被提供有图像处理单元(GPU)1110,其与连接到所述总线的视频随机存取存储器1100关联。视频RAM1100在本领域中也称作帧缓冲器。大容量存储设备控制器1020管理对大容量存储设备(例如,硬盘驱动1030)的访问。适于有形地体现计算机程序指令及数据的大容量存储设备包括各种形式的非易失性存储器,举例来说包括半导体存储设备,例如EPROM、EEPROM和闪存设备;例如内部硬盘和可移除盘的磁盘;磁光盘;以及CD-ROM盘1040。前述的任一个可以由特别设计的ASIC(专用集成电路)补充或并入在其中。网络适配器1050管理对网络1060的访问。所述客户端计算机还可以包括触觉设备1090,例如,光标控制设备、键盘等。光标控制设备在客户端计算机中使用以允许所述用户选择性将光标定位在显示器1080上任意想要的位置。另外,所述光标控制设备允许用户选择各种命令并且输入控制信号。所述光标控制设备包括用于将控制信号输入到系统中的若干信号产生设备。一般地,光标控制设备可以是鼠标,所述鼠标的按钮用于产生所述信号。替代或另外地,所述客户端计算机系统可以包括触敏垫和/或触敏屏。
所述计算机程序可以包括计算机可执行的指令,所述指令包括用于使上述系统执行所述方法的模块。所述程序可记录在任意数据存储介质上,包括所述系统的存储器。所述程序可以例如以数字电子电路、或以计算机硬件、固件、软件或其组合实现。所述方法可以实现为装置,例如,机器可读存储设备中有形地体现的用于由可编程处理器执行的产品。方法步骤可以由可编程处理器执行,所述可编程处理器执行指令的程序以通过操作输入数据并且生成输出来执行所述方法的功能。所述处理器因而可以是可编程的,并且被耦接用于从数据存储系统、至少一个输入设备和至少一个输出设备接收数据及指令,并向其传送数据及指令。所述应用程序按照需要可以以高级过程或面向对象的编程语言、或以汇编或机器语言来实现。在任何情况下,所述语言可以是编译的或解释的语言。所述程序可以是全安装程序或更新程序。在任何情况下,系统上的所述程序的应用产生用于执行所述方法的指令。
现在参考图1。在步骤S100,提供了形成3D场景中3D建模组件的3D建模对象。提供3D建模对象表示所述对象可用于执行本方法的所述系统。所述3D建模对象可以显示在例如图10的系统的显示器1080上。
图4示出了3D建模对象的3D建模组件的示例:此处对自行车进行建模。图5示出了在GUI 100上显示的图4的自行车200。所述3D建模组件在3D场景内显示。所述3D场景为在其中描述了3D对象之间空间关系的空间,例如,形成所述自行车的3D建模对象为所述3D场景中的位置和方位。
接下来,在图1的步骤S110,计算包围所述3D建模组件的主包围盒。这是按照本领域公知的来进行执行的。结果,步骤S100的所有提供的对象被包围在所述主包围盒中。
接着,在步骤S120,用户执行在步骤S100提供的一个或多个3D建模对象的至少一个属性的选择。所述属性可以是,但不限于,例如所述对象的材料参数的对象的物理属性,例如,其颜色的所述对象的渲染属性,3D建模组件的产品结构中对象的级别,在其中存储3D建模的数据库的属性-所述数据库可能为PLM数据库——,由用户根据组件的对象的任意属性创建的属性……。一般来说,术语属性能够包含所述对象的任意特性。例如,对象的创建日期、对象在3D场景中的位置、允许对所述对象操作的设计者(或任意其它读/写/执行访问权……),是与一个或多个对象相关的特性,因而是所述对象的属性。
接下来,在步骤S130,创建一组3D建模对象。要理解所述组能够包括一个或多个3D建模对象。所述组中的对象满足所述用户选择的一个或多个属性。例如,假如用户选择属性“蓝色对象”,则创建渲染为蓝色(或要渲染成蓝色)的一组对象。
当用户选择两个或更多个属性时,对象能够属于多个组。在此情况下,可能限制对象能够属于的组的数目;例如,对象不能够属于多于三个组。这有利地限制了组数。另外,对象的属性之间可能存在优先权规则。可能属于多个组的对象将属于与具有最高优先权的属性关联的组。
现在,在步骤S140,计算两个或更多个包围盒。这些包围盒被包围在所述主包围盒内;换言之,它们被完全包围在所述主包围盒内。这些两个或更多个包围盒中的一个包括属于在步骤S130创建的组的3D建模对象。换言之,所述组的3D对象被包围在所述两个或更多个包围盒中的一个内。
实践中,对所述包围盒的计算取决于3D场景中所述对象的位置。在示例中,通过标识加权点的系统中的重心来计算所述包围盒。在第一步骤中,计算3D场景中的点云,其中所述点表示所创建的组的3D建模对象的轮廓。接着,针对包括不属于组的对象的所有的对象的组连续执行所述操作。所述点云因而包括属于组的点(例如,根据点属于的组来对点赋予特定的颜色),并且例如根据该点所来自的对象的三角数或体积,来对所述云的点进行加权。接下来,如本领域公知的,对于指定组的每一个点,计算重心。然后,计算用于3D对象组的包围盒,所述包围盒使用所述重心作为由所述包围盒限定的体的重心。针对每一个组来执行所述操作。重要的是,不会恢复计算的包围盒之间的叠加或交叉。
现在参考图8a和8b,示出了在用户选择产品结构的属性子组件后,根据本发明计算的包围盒的示例。更精确地,所述用户选择属性“前轮”和“后轮”,使得能够形成满足3D建模组件200的这一属性的两组对象:第一组包括属于后轮的对象,而第二组包括属于前轮的对象。隐含地,创建第三组对象,即不属于所述第一及第二组的所述集的对象(即,与所选属性无关的对象)。现在针对每一个组的对象来计算三个包围盒,如图8b所示。在此示例中,由所述主包围盒(未表示)限定的整个体由计算的包围盒使用,而对于每一个组(此处三个组),仅有一个包同盒800、820、840。而且,在此示例中,所述主包围盒及其它计算的包围盒800、820、840可能仅是矩形体。这产生如图8b所示布置的三个包围盒800、820、840。
现在参考图9a和9b,示出了在用户选择属性所述对象的颜色后,根据本发明计算的包围盒的示例。用户将四种颜色选作属性,即红、绿、黄和粉。将5个组标识为这一用户选择的结果:第一组对应于红色的前轮80,第二组对应于绿色的后轮82,第三组为黄色的座位86,第四组为粉色的车把88,3D建模对象的最后一组(隐含的)为自行车架90。对象的每一个组由虚线圆环绕。如图9b所示,计算了6个包围盒900、910、920、930、940、950。在此示例中,所述系统要求由所述主包围盒(未表示)限定的整个体必须由所述计算的包围盒使用,并且所述计算的包围盒为矩形体。这导致第6个包围盒如图9b所示进行布置。有趣的是,包围盒930为空,也就是说,没有对象被包围在此包围盒中(完全或部分)。创建包围盒930是出于遵循所述系统的以下两个额外要求的目的:(i)对于所述主包围盒的一个方向,所述主包围盒其周围包括最多两个邻接的叠加的包围盒,以及(ii)所述主包围盒的所述一个方向上的两个相邻的叠加的包围盒之间的界面形成所述主包围盒中的层,所述层限制了其它包围盒的扩展。这允许创建所述主包围盒的常规划分;用户能够更易于理解所述3D建模组件是如何划分的。在图9b中,叠加的包围盒的数目在(提供所述主包围盒的方位的参考系960的)方向“y”限为2;例如对于方向“x”,情况并非如此。另外,包围盒950和900在方向“y”创建层(未表示),并且此层无法被任意其它包围盒穿过。因此,所有其它叠加的包围盒940、910和930、920在此层的两侧。
现在参考图2,其讨论了另一示例,其中所述系统自动选择所述三维建模组件的一个或多个属性。
在步骤S200,在3D场景中提供了3D建模对象的组件。此步骤类似于步骤S100。
接着,在步骤S210,计算包围所述3D建模组件的主包围盒。此步骤类似于步骤S110。
接下来,在步骤S220,所述系统确定所述主包围盒包含的计算的包围盒的数目n。数目n取决于所述3D建模组件的大小。术语大小表示3D建模组件与其参考系有关的尺寸,也就是说,所述3D建模组件的长度、宽度和高度。所述3D建模对象的尺寸因而确定了矩形体或立方体包围盒的最小大小。因此,能够根据3D建模组件的尺寸来确定被包围在所述主包围盒的包围盒的数目。例如,能够根据主包围盒的大小与所围的包围盒的大小之间的比例,确定所围的包围盒的最小大小。在实践中,所述比例使得每一个所围的包围盒可易于由用户标识。
一旦确定数目n,就能计算所围的包围盒的尺寸。在实践中,所述n个包围盒还遵循以下规则:(i)对于所述主包围盒的一个方向,主包围盒在所述方向周围包括最多两个邻接的叠加的包围盒,(ii)所述主包围盒的所述一个方向上的两个邻接的叠加的包围盒之间的界面形成了所述主包围盒中的层,所述层限制了其它包围盒的扩展,(iii)由所述主包围盒限定的整个体必须由所述计算的包围盒使用,以及(iv)所述计算的包围盒是矩形体或立方体。
图6示出了所述系统确定的所述主包围盒包含的包围盒的示例。所述包围盒(未示出)中包围有12个立方体矩形体,并且这12个包围盒具有相同的尺寸。
图7示出了所述系统通过使用3D建模组件的大小属性确定的包围的包围盒的另一示例。
所述计算的包围盒(主及所包围的)能够呈现给用户。例如,它们能够直接显示在3D建模组件上。这是按照本领域公知的执行的。
或者,它们能够示出在所述3D建模组件的视图的简化视图上。图3的流程图示出了用于显示根据本发明计算的包围盒的方法的示例。
在步骤S300,计算3D建模组件的简化视图。简化视图这一表述表示从系统的立场,所述视图的图形元素不是根据所述组件的个体对象进行划分的。这涉及用户无法在简化视图上选择任何对象。换言之,所述简化视图中表示的对象的集合不是内容可寻址的,并且用户无法选择构成所述视图中显示的组件的任意个体对象。所述用户因而看到所述组件的简化模型。
所述简化视图可以是暗白色模型,应当理解可以使用任意其它颜色。所述颜色优选为是统一的;这有利地允许将它与GUI上的原始模型进行区分,并且它突出了与所提供的信息有关的对象。另外,没有材料或纹理被应用于所述简化视图的表示上;这允许简化视图的更快的计算及渲染,并且需要较少的存储。
对所述简化视图的计算包括将变换矩阵与3D建模对象的组件关联的步骤S310。所述变换矩阵表示与所述组件的3D建模对象相关的信息的集合。在此上下文中,术语关联代表表示所述变换矩阵的数据与表示所述一个对象的数据存储在一起;所述数据能够进行物理存储(例如在同一文件中)或逻辑存储(例如在两个文件中,具有从一个文件到第二个文件的指针)。
如本领域公知的,所述变换矩阵针对提供两个空间之间的线性变换。例如,所述变换矩阵允许从所述组件的3D空间到所述简化视图的3D空间的变换。所述变换矩阵允许执行如下操作,例如但不限于对3D空间中的组件(或者子组件、或3D建模的对象)进行变换、旋转、缩小比例。有趣的是,所述变换矩阵可能易于逆转,使得对所述简化视图的操作能够应用在所述组件上。
所述变换矩阵表示的信息的集合包括至少3D场景中所述组件的方位和位置。如本领域公知的,所述组件的方位及位置定义为相对3D场景的全局系(也称作参考系)附接于所述组件的参考系的定位及位置——例如三轴(x,y,z)系。所述信息的集合进一步包括比例因子,其与用于获得以缩小比例表示所述组件的简化视图的相同(也就是说,相同值)。
在3D建模对象的组件和变换矩阵之间创建关联,因此可能创建位于第一3D空间内的组件与位于第二3D空间内的简化视图之间的链接。有趣的是,一个变换矩阵可以与所述组件的每一个对象相关联:这表示所述组件与所述组件中的对象一样多的变换矩阵相关联,并且一个变换矩阵包括与所述组件的对象中的一个相关的信息的集合。换言之,所述组件与所述组件的每一个对象的变换矩阵关联。这有利地允许提高在所述简化视图与组件之间创建的链接的准确性,因为所用的粒度为对象,而不是形成所述组件的对象的集合。
接下来,在步骤S320,根据所述变换矩阵和3D建模对象的组件来计算所述简化的视图。这是按照本领域公知的执行的。计算的简化视图为以缩小比例(例如,以1/10的比例因子(所述简化视图比所述对象的组件小10倍))表示组件的3D对象(也称作简化模型)的视图。缩小比例不同于缩小,缩小是对表示进行操纵以仅使其变小,而缩小比例涉及在获得表示之前实施对形成所述组件的对象的变换(收缩)。
而且,所述一个3D对象(或简化对象)形成一个网格。这表示仅一个网格被获得作为子网格的聚合,其中每一个子网格为所述组件的对象的网格。因此,对聚合的表示进行处理以形成接下来渲染的视图。如本领域公知的执行所述网格的聚合。术语网格表示定义3D的建模对象的形状的顶点、边和面的集合。在实践中,所述面可以是三角形、四边形或其它简单的凸多边形。所述简化视图的网格,因而相较于所述组件的网格是简化的网格;用于显示所述简化视图所需的存储器较少。
如本领域公知的,基于各种准则,例如,阈值大小(可能是用户参数化的)或垂度,也即用于对象的棋盘格表示的条目参数,简化可以先于计算步骤S320进行。因此,聚合期间无需使用所述集合的全部部件(例如,假如显示整个飞机,将丢弃所述飞机的铆钉)。进一步地,其它部件中包含的部件无需用于聚合(因此掩去)。其它准则可以用于丢弃某些对象,例如用户可选的部件的目录。
有趣的是,所述计算的简化视图在显示视图所需的存储器方面极为不同。实际上,尽管所述简化视图一般需要一些存储器资源(例如,数K字节),但是包含所述部件全部表示的视图可能需要高达成千上万兆字节被载入到所述计算机存储器中。由于缩小比例以及对一个网格的计算,而更快地计算和渲染所述视图。
接下来,在步骤S330,在GUI上的3D场景内显示从计算步骤S300获得的简化视图。显示所述简化视图的3D空间与显示所述组件的3D空间不同。换言之,在第一3D场景中显示所述3D建模对象的组件,而在第二3D场景中显示3D建模对象的组件的简化视图,两个场景都显示在同一GUI上。换言之,在不同于显示的组件的3D场景的3D场景内显示所述简化视图。
在实践中,上述操作通过在GUI上显示两个窗口来执行,如图5所示。自行车200和简化模型的简化视图300显示在同一GUI 100上,但在两个不同的窗口中。窗口310示出了显示简化视图300的3D空间,窗口210示出了显示组件200的3D空间;这两个3D空间不相同;它们具有其自身的全局方位。
接下来,在步骤S340,在简化视图上显示计算的包围盒。使用变换矩阵来计算所述简化视图上的包围盒的定位。在实践中,3D场景中包围盒的坐标与变换矩阵之间的(数学)积提供了所述简化视图的3D场景中所述包围盒的新坐标。
描述了本发明的优选实施例。要理解可以做各种更改,而不偏离本发明的精神及范畴。因此,其它实现方式在随后的权利要求的范畴内。
Claims (12)
1.一种用于在三维场景中在代表产品的CAD三维建模对象的三维建模组件上创建包围盒的集合的计算机实现的方法,包括:
-提供形成三维场景中三维建模组件的三维建模对象;
-计算包含所述三维建模组件的主包围盒;
-基于用户动作,来选择所述三维建模组件的所述三维建模对象中的一个或多个三维建模对象的至少一个属性;
-对于每个选择的属性,创建满足所选择的属性的所述三维建模对象中的一个或更多个三维建模对象的组;
-计算由所述主包围盒包含的两个或更多个包围盒,其中包围盒是针对每个创建的组计算的并且包括所述组中的所述一个或更多个三维建模对象。
2.根据权利要求1所述的计算机实现的方法,其中,所述计算两个或更多个包围盒的步骤进一步包括:
-计算所述三维场景中的表示所创建的组的三维建模对象的轮廓的点的一个集合;
-计算所述点的一个集合的重心;
-计算将所述重心作为由所述包围盒限定的体的中心的包围盒。
3.根据权利要求1所述的计算机实现的方法,其中,至少一个所选择的属性为以下中的一个:
-所述三维建模组件的产品结构中的级别;
-所述对象的材料参数;
-所述对象的颜色。
4.根据权利要求1所述的计算机实现的方法,其中,所述三维建模组件的所述至少一个属性是所述三维场景中的所述三维建模组件的尺寸。
5.根据权利要求4所述的计算机实现的方法,其中,被包围在所述主包围盒中的计算的包围盒的数目n根据所述三维建模组件的主要部分的尺寸来进行确定。
6.根据权利要求1所述的计算机实现的方法,其中,所述主包围盒和所述两个或更多个包围盒为矩形体、立方体中的一个。
7.根据权利要求6所述的计算机实现的方法,其中,所述主包围盒关于所述主包围盒的一个方向包括最多两个邻接的叠加的包围盒。
8.根据权利要求1至7中的一项所述的计算机实现的方法,其中,所计算的两个或更多个包围盒在所述三维场景中表示为在邻接包围盒之间具有间距。
9.根据权利要求1所述的计算机实现的方法,进一步包括在提供的步骤之后:
-计算所述三维建模组件的简化视图,所计算的简化视图为以缩小的比例表示所述组件并且形成一个单个网格的一个三维对象的视图;
-在所述简化视图上显示所计算的包围盒。
10.一种计算机程序,包括用于执行权利要求1-9中的任一项所述的方法的指令。
11.一种计算机可读存储介质,具有记录在其上的权利要求10所述的计算机程序。
12.一种计算机系统,包括耦接到存储器和图形用户界面的处理器,所述存储器具有记录在其上的权利要求10所述的计算机程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14307216.3 | 2014-12-30 | ||
EP14307216.3A EP3040945B1 (en) | 2014-12-30 | 2014-12-30 | Creation of bounding boxes on a 3d modeled assembly |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105761303A CN105761303A (zh) | 2016-07-13 |
CN105761303B true CN105761303B (zh) | 2021-02-05 |
Family
ID=52423549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511036116.1A Active CN105761303B (zh) | 2014-12-30 | 2015-12-30 | 在3d建模组件上创建包围盒 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10002465B2 (zh) |
EP (1) | EP3040945B1 (zh) |
JP (1) | JP6721332B2 (zh) |
KR (1) | KR20160081828A (zh) |
CN (1) | CN105761303B (zh) |
CA (1) | CA2916207A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE539807C2 (en) * | 2016-04-06 | 2017-12-05 | Advanced Technical Solutions In Scandinavia Ab | A METHOD FOR GENERATING A 3D COMBINED MODEL REPRESENTING A SCENE |
US10192366B2 (en) * | 2016-06-06 | 2019-01-29 | The Boeing Company | Interactive graphical user interface (GUI) for designing preform geometries |
US10311648B2 (en) * | 2016-06-22 | 2019-06-04 | Aquifi, Inc. | Systems and methods for scanning three-dimensional objects |
US10713853B2 (en) * | 2016-10-25 | 2020-07-14 | Microsoft Technology Licensing, Llc | Automatically grouping objects in three-dimensional graphical space |
KR20180051288A (ko) * | 2016-11-08 | 2018-05-16 | 삼성전자주식회사 | 디스플레이 장치 및 그 제어 방법 |
CN106873851A (zh) * | 2017-01-13 | 2017-06-20 | 北京奇虎科技有限公司 | 在交互界面中创建3D视效的Widget的方法、装置及终端 |
US11379688B2 (en) | 2017-03-16 | 2022-07-05 | Packsize Llc | Systems and methods for keypoint detection with convolutional neural networks |
US11163916B2 (en) * | 2017-06-16 | 2021-11-02 | Dassault Systemes Solidworks Corporation | Automatic generation of dimension and tolerance information for fastened components |
CN110321048B (zh) * | 2018-03-30 | 2022-11-01 | 阿里巴巴集团控股有限公司 | 三维全景场景信息处理、交互方法及装置 |
US10957116B2 (en) * | 2018-09-07 | 2021-03-23 | The Boeing Company | Gap detection for 3D models |
US11295532B2 (en) | 2018-11-15 | 2022-04-05 | Samsung Electronics Co., Ltd. | Method and apparatus for aligning 3D model |
KR102211914B1 (ko) * | 2018-11-30 | 2021-02-04 | 주식회사 뎁스 | 비계 설계 모델링 방법 및 시스템 |
WO2020242047A1 (en) * | 2019-05-30 | 2020-12-03 | Samsung Electronics Co., Ltd. | Method and apparatus for acquiring virtual object data in augmented reality |
WO2021112858A1 (en) * | 2019-12-05 | 2021-06-10 | Hewlett-Packard Development Company, L.P. | Registering objects |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101408990A (zh) * | 2008-08-21 | 2009-04-15 | 杭州科澜信息技术有限公司 | 一种城市建筑模型的渐进压缩和传输方法 |
CN101702244A (zh) * | 2009-11-10 | 2010-05-05 | 南京大学 | 一种适用于绘制区域任意划分的并行绘制负载平衡方法 |
US7825940B1 (en) * | 2007-05-21 | 2010-11-02 | Adobe Systems Incorporated | Computer system and method for manipulating views of an assembly |
JP2010287233A (ja) * | 2009-06-10 | 2010-12-24 | Dassault Systemes | Plmデータベースのオブジェクトのアセンブリを表示するプロセス、プログラムおよび装置 |
US8253730B1 (en) * | 2008-08-29 | 2012-08-28 | Adobe Systems Incorporated | System and method for construction of data structures for ray tracing using bounding hierarchies |
CN102667850A (zh) * | 2009-12-23 | 2012-09-12 | 英特尔公司 | 图像处理技术 |
US20130235050A1 (en) * | 2012-03-09 | 2013-09-12 | Nvidia Corporation | Fully parallel construction of k-d trees, octrees, and quadtrees in a graphics processing unit |
CN103942365A (zh) * | 2014-03-21 | 2014-07-23 | 北京航空航天大学 | 一种飞机装配型架骨架的关联设计方法 |
CN104133929A (zh) * | 2013-04-30 | 2014-11-05 | 达索系统公司 | 用于操纵三维场景中的组件的三维建模对象的计算机实现方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4886640B2 (ja) * | 2007-09-10 | 2012-02-29 | 株式会社リコー | パーツカタログ生成装置、パーツカタログ生成方法、パーツカタログ生成プログラムおよび記録媒体 |
JP5278927B2 (ja) * | 2011-09-30 | 2013-09-04 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、情報処理装置の制御方法、及びプログラム |
US10402067B2 (en) * | 2014-08-01 | 2019-09-03 | Autodesk, Inc. | Bi-directional search and sorting |
-
2014
- 2014-12-30 EP EP14307216.3A patent/EP3040945B1/en active Active
-
2015
- 2015-12-23 CA CA2916207A patent/CA2916207A1/en not_active Abandoned
- 2015-12-25 JP JP2015255044A patent/JP6721332B2/ja active Active
- 2015-12-29 KR KR1020150188700A patent/KR20160081828A/ko unknown
- 2015-12-30 US US14/984,414 patent/US10002465B2/en active Active
- 2015-12-30 CN CN201511036116.1A patent/CN105761303B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7825940B1 (en) * | 2007-05-21 | 2010-11-02 | Adobe Systems Incorporated | Computer system and method for manipulating views of an assembly |
CN101408990A (zh) * | 2008-08-21 | 2009-04-15 | 杭州科澜信息技术有限公司 | 一种城市建筑模型的渐进压缩和传输方法 |
US8253730B1 (en) * | 2008-08-29 | 2012-08-28 | Adobe Systems Incorporated | System and method for construction of data structures for ray tracing using bounding hierarchies |
JP2010287233A (ja) * | 2009-06-10 | 2010-12-24 | Dassault Systemes | Plmデータベースのオブジェクトのアセンブリを表示するプロセス、プログラムおよび装置 |
CN102004809A (zh) * | 2009-06-10 | 2011-04-06 | 达索系统公司 | 用于显示plm数据库的对象的组件的处理、程序和装置 |
CN101702244A (zh) * | 2009-11-10 | 2010-05-05 | 南京大学 | 一种适用于绘制区域任意划分的并行绘制负载平衡方法 |
CN102667850A (zh) * | 2009-12-23 | 2012-09-12 | 英特尔公司 | 图像处理技术 |
US20130235050A1 (en) * | 2012-03-09 | 2013-09-12 | Nvidia Corporation | Fully parallel construction of k-d trees, octrees, and quadtrees in a graphics processing unit |
CN104133929A (zh) * | 2013-04-30 | 2014-11-05 | 达索系统公司 | 用于操纵三维场景中的组件的三维建模对象的计算机实现方法 |
EP2800064A1 (en) * | 2013-04-30 | 2014-11-05 | Dassault Systèmes | A computer-implemented method for manipulating three-dimensional modeled objects of an assembly in a three-dimensional scene |
JP2014219975A (ja) * | 2013-04-30 | 2014-11-20 | ダッソー システムズDassault Systemes | コンピュータによって実行され、三次元シーンにおいてアセンブリの三次元モデル化オブジェクトを操作するための方法 |
CN103942365A (zh) * | 2014-03-21 | 2014-07-23 | 北京航空航天大学 | 一种飞机装配型架骨架的关联设计方法 |
Non-Patent Citations (1)
Title |
---|
A simple method for fitting of bounding rectangle to closed regions;D.Chaudhuri 等;《Pattern Recognition》;20070731;第40卷(第7期);摘要、正文第1-5节 * |
Also Published As
Publication number | Publication date |
---|---|
CN105761303A (zh) | 2016-07-13 |
EP3040945B1 (en) | 2019-06-19 |
JP6721332B2 (ja) | 2020-07-15 |
EP3040945A1 (en) | 2016-07-06 |
JP2016126794A (ja) | 2016-07-11 |
US20160189433A1 (en) | 2016-06-30 |
CA2916207A1 (en) | 2016-06-30 |
US10002465B2 (en) | 2018-06-19 |
KR20160081828A (ko) | 2016-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105761303B (zh) | 在3d建模组件上创建包围盒 | |
JP7235478B2 (ja) | 3d部品の付加製造 | |
JP6469987B2 (ja) | 三次元モデル化オブジェクトの圧縮 | |
JP7327943B2 (ja) | フライス作業によって製造可能な部品の設計 | |
KR101955035B1 (ko) | 기하학적 3차원 모델링된 오브젝트를 디자인하는 방법 | |
CN105760570B (zh) | 选择对象集的视点 | |
US10592065B2 (en) | Navigation through the hierarchical structure of a three-dimensional modeled assembly of parts | |
KR101925640B1 (ko) | 3차원 장면에서 오브젝트들의 3차원 모델링된 어셈블리의 디자인 | |
US10409921B2 (en) | Designing industrial products by using geometries connected by geometrical constraints | |
KR102055952B1 (ko) | 오브젝트들의 원형 스태거드 패턴의 설계 | |
US9483585B2 (en) | Designing a staggered pattern of objects in a computer-aided design system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |