用于设计包括曲线和放在曲线上的点的三维建模对象的计算机实现的方法与流程

文档序号:11591723阅读:134来源:国知局
本发明涉及用于在三维场景中设计三维(3d)建模对象的计算机实现的方法,其中对象包括至少一个曲线(即,弯曲线)和位于所述曲线上的点。本发明尤其应用于待制造的物理对象(例如,注塑模具)的几何设计。
背景技术
::本发明应用于计算机图形学、计算机辅助设计(cad)、计算机辅助工程(cae)和计算机辅助制造(cam)领域。本发明尤其适合于考虑到物理对象的制造而生成物理对象的三维几何模型。在cad系统中,三维建模对象是三维空间中的形状的数字表示,其可以或者不对应于已经存在于现实世界中或者现实世界不存在的物理对象。通常,三维建模对象包括线、点以及可能包括面(面在“线框”模型中不存在)。线可以是直线或曲线(即,弯曲线)。通常,曲线是由一组点(称为顶点)和一组直或曲线段(称为边)来定义的;每个段链接一对顶点,相反,除了与单个其它顶点连接的两个端点(extremityvertices)之外,每个顶点借助相应的边与两个其它的顶点连接。常见地,要求将点放在曲线上的特定位置处。例如,点可以表示曲线与对象或场景的另一条线或面之间的交叉。通常,点在曲线上的位置是由沿曲线测得的、其距“基准顶点”的距离来定义的。如果在设计过程期间曲线的形状被修改而没有去除基准顶点,则点在三维场景中的位置被重新计算以允许其自动地顺应变化:因此,点仍在曲线上,距基准顶点的相同距离处。然而,在一些情况下,设计改变要求删除曲线的某些顶点(“拓扑结构改变”);如果删除的顶点之一是点的基准顶点,则无法重新计算该点的位置。该点则不得不通过cad系统的用户的直接干预来重新定位。这样耗时且易于出错。而且,其限制了自动进行设计改变的可能性,例如,从而以有效的方式探索设计空间。本发明旨在克服现有技术的该缺陷。由于设计改变到目前为止是物理对象的设计周期的最耗时且劳动密集的部分,所以本发明所提供的改进将实现显著的节约。技术实现要素:更确切地,本发明提供了一种在曲线修改后将点自动地重新定位到曲线上的方法,所述修改包括基准顶点的删除。根据本发明,点的初始位置以两种互补的方式来限定:通过沿着曲线测得的该点距基准顶点的距离或其函数(“主规约(primaryspecification”),以及通过其在三维场景内的位置,即,相对于所述场景的基准坐标系。只要基准顶点存在,就使用主规约。如果在不删除基准顶点的情况下修改曲线,则根据主规约来重新定位该点,即,通过保持距基准顶点的恒定距离,并且其在三维场景内的位置的记录值相应地被更新。然而,如果基准顶点被删除,则所存储的在三维场景内的位置被用于以“最优”方式重新定位该点,即,通过将其放在曲线上的、使距其先前存储的在三维场景内的位置的距离最小化的位置处(“辅规约”)。本发明的目的则是用于设计三维建模对象的计算机实现的方法,包括如下步骤:●在三维场景中提供所述三维建模对象,所述三维建模对象包括曲线,所述曲线由一组顶点和连接所述顶点的一组边定义;●将点放在所述曲线上;●存储所述点在所述曲线上的相对于第一顶点的初始位置;●存储所述点在所述三维场景内的初始位置;以及●通过删除所述第一顶点来修改所述曲线;其特征在于,所述方法还包括:●将所述点放在所述修改后的曲线上的、在定位成距所述点在所述三维场景内的所存储的初始位置的最小距离的修改后的位置处。根据本发明的特定的实施例:-该方法还可以包括在所述第一顶点删除后再次修改所述曲线的步骤,所述步骤包括改变所述点在所述三维场景中的位置而使得其保留在所述曲线上且在距所述点在所述三维场景内的所存储的初始位置的最小距离处。-该方法还可以包括在所述第一顶点删除之前修改所述曲线的步骤,所述步骤包括:改变所述点在所述三维场景中的位置而使其保留在所述曲线上且其相对于所述第一顶点的位置保持不变,以及存储所述点在所述三维场景中的所述改变后的位置。-该方法还可以包括通过恢复所述第一顶点来修改所述曲线的步骤,所述步骤还包括:改变所述点在所述三维场景中的位置而使其保留在所述曲线上且取得所存储的相对于所述第一顶点的初始位置,以及存储所述点在所述三维场景中的所述改变后的位置。-所述点在所述曲线上相对于第一顶点的初始位置可以被定义为沿所述曲线测得的、在所述点与所述第一顶点之间的距离,或其函数(例如,该距离的倍数或封顶值(cappedvalue))。-所述三维建模对象可以是物理对象的几何模型。本发明的另一目的是制造物理对象的方法,包括:通过实现如上文所限定的方法来实施的计算机实现的设计步骤;以及根据所述设计来物理地制造所述物理对象的步骤。所述物理地制造所述物理对象的步骤可以利用常规技术来执行。本发明的另一目的是计算机程序产品,其存储在非易失性的计算机可读数据存储介质上,包括使计算机系统实施如上文所限定的方法的计算机可执行指令。本发明的另一目的是一种非易失性的计算机可读数据存储介质,包括使计算机系统实施如上文所限定的方法的计算机可执行指令。本发明的另一目的是计算机辅助设计系统,其包含与存储器耦合的处理器和图形用户接口,所述存储器存储使计算机辅助设计系统实施如上文所限定的方法的计算机可执行指令。附图说明本发明的附加的特征和优点将从下面结合附图进行的说明中变得明显,附图中示出:–图1a,由顶点和边形成的数字建模曲线;–图1b,该曲线,点放到该曲线上且相对于基准顶点定位;–图2,根据现有技术的基准顶点的删除的结果;–图3a,3b,3c和3d,根据本发明的实施例的方法的不同的步骤;–图4,根据本发明的实施例的方法的流程图;–图5a,5b和5c是相对于现有技术而言本发明所提供的改进的说明;以及–图6和图7,适合实施根据本发明的不同实施例的方法的相应的计算机系统的框图。具体实施方式下面,“三维”(或“3d”)建模对象将是允许三维(3d)图形表示的对象或其在计算机系统中的数字表示。3d表示允许从所有角度观看零件。例如,3d建模对象在进行3d表示时可以被处置且绕其任意轴线转动,或者绕着表示显示于其中的屏幕中的任意轴线转动。三维场景由布置在三维空间内的多个3d建模对象构成。图1a示出了曲线c由三个顶点v1,v2和v3以及两个边e1(链接v1和v2)和e2(链接v2和v3)构成。边e1和e2是曲线段,由例如多项式限定,在该情况下,曲线c是所谓的“样条”。在其它实施例中,e1和e2可能是直线段,在该情况下曲线c将是所谓的“折线”。图1b示出了放在曲线c上的点p,并且更具体地放在段e1上的点p。点p相对于顶点v2定位,该顶点构成了其“基准顶点”。其在曲线c上的位置由沿曲线测得的、距基准顶点的(带符号的)距离d来定义;例如,如果(在当前情况下)点p朝向顶点v1定位,则d可以是负的,而如果点p朝向顶点v3定位,则d是正的。换言之,点p的位置由包括三个元素的三元组(c,v2,d)来定义:该点所在的曲线c的标识符,用作基准顶点的曲线的顶点的标识符,以及距所述基准顶点的距离。如果曲线c在不删除基准顶点v2的情况下经过修改(例如,通过删除另一顶点,通过移动顶点而不删除顶点和/或通过改变边的形状),点p的位置被自动地重新计算:点保留在曲线上,距基准顶点为恒定距离d。然而,如果基准顶点被删除,这是不可能实现的;在该情况下,根据现有技术,点p保持其在曲线所属的三维场景内的位置,并且发现其自身在曲线之外。这说明于图2中,其中基准c’指示修改后的曲线,是通过删除顶点v2而从曲线c获得的;v1’,v3’是修改后的曲线c’的顶点。图3a至图3d示出了根据本发明的方法的不同的步骤。图3a类似于图2:其示出了紧接在曲线c修改后的情形,该修改包括用作点p的基准的顶点v2的删除。然而,此时,点p的初始位置由两种不同的方式来限定:如现有技术那样通过三元组(c,v2,d),以及通过其在三维场景内的坐标(x,y,z),即通过其相对于所述场景的基准坐标系rf的位置。三元组(c,v2,d)构成了点的“主规约”,并且每当基准顶点v2存在时使用。然而,在v2删除后,仅坐标(x,y,z)是有意义的。如图3b所示,坐标(x,y,z)用于将点p重新定位在修改后的曲线c’上、在最靠近初始位置的位置处(“辅规约”)。换言之,重新定位的点p’具有相对于基准坐标系rf的坐标(x’,y’,z’),以使‖(x′,y′,z′)-(x,y,z)‖在约束(x′,y′,z′)∈c′下最小化,‖·‖是范数,通常是欧几里得范数。通常,但是并非在所有情况下都是必然地,p’将是p在修改后的曲线c’上的法向投影。可能的是,修改后的曲线的多个点将定位成距(x,y,z)相同距离处;在该情况下,优选地,将显示出错消息,将允许用户手动选择这些点中的一个点。其它解决方案也是可能的,例如由系统对等距点之一随机选择。如图3c所示,可以再次修改曲线(参考c”,顶点v1”,v2”)。在该情况下,自动地重新计算点在修改后的曲线c”上的新位置p”=(x”,y”,z”),使得‖(x″,y″,z″)-(x,y,z)‖在约束(x″,y″,z″)∈c″下被最小化。换言之,在任何时候,根据辅规约的点的位置被确定为紧接在基准顶点删除前其在三维场景内的位置的函数。曲线的进一步的修改可以包括基准顶点v2的恢复。在该情况下,如图3d上所示,主规约再次有意义,并且相对于辅规约占优。因此,点(现在由参考p”’标识)取在修改后的曲线(现在由参考c”’标识)上的新位置,其定位成与恢复后的基准顶点v2相距距离d。点相对于基准坐标系rf的新坐标(x”’,y”’,z”’)被存储,从而允许在v2再次删除的情况下新的辅规约的计算。图4是根据本发明的实施例的方法的流程图,该方法的步骤对应于已经结合图3a-3d所论述的操作。在图4上,指示出哪些步骤由(人类)用户执行,哪些步骤通过cad系统自动地执行。能够看出,对于曲线、基准顶点和点的初始定义,需要用户的干预;曲线的修改可以通过用户或者自动地来执行;而在曲线修改后的点的重新放置是自动的。然而,在一些实施例中,用户还将具有在自动放置被认为不令人满意的情况下手动地重新放置点的可能性。在图4的流程图中:●步骤a),由用户执行,是三维场景的曲线c的选择,点p将放在该曲线c上。该选择可利用例如鼠标指针的定点设备来执行。●步骤b),也是由用户执行,是曲线的基准顶点的选择。该选择也可以利用诸如鼠标指针的定点设备来执行。●步骤c),也是由用户执行,是将要在其上放置点的、距基准顶点的距离的输入。例如,基准顶点的选择(步骤b)可以提示其中可以输入距离的对话窗口的显示。●步骤d),由系统自动地执行,是将点放置成与选定的基准顶点相距要求的距离,即,根据“主规约”。该点称为“曲线上的稳定点(stablepoint)”以强调即使基准点之后被删除其仍在曲线上(即,“稳定”)的事实。●步骤e),也是由系统自动地执行,包括存储如主规约所定义的、该点在三维场景内的坐标。●步骤f),通常由用户执行,是曲线的修改,包括基准顶点的删除。该删除可利用诸如鼠标指针的定点设备来执行。●步骤g),由系统自动地执行,是将点重新定位在曲线上,在使得距主规约的存储坐标的距离最小化的位置处。这对应于该点的辅规约;参见图3b。●步骤h),通常由用户执行,包括对曲线的进一步的修改,不包括基准顶点的恢复。例如,用户可以“点击”边上的点并且将其“拖动”以改变边的形状,或者可以通过“拖放”它来重新定位顶点。关于步骤f),在一些情况下,曲线的修改可以由系统自动执行。参见图3c。●步骤i),由系统自动执行,包括将该点重新定位在修改后的曲线上、使得距主规约的存储坐标的距离最小化的位置处。●步骤j),通常由用户执行,包括曲线的进一步的修改,包括基准顶点恢复。该恢复还可以利用诸如鼠标指针的定点设备来执行。关于步骤f)和h),在一些情况下,基准顶点的恢复可以由于系统自动执行的曲线的修改而引起。●步骤k),由系统自动执行,包括根据主规约重新定位曲线上的点,该主规约由于基准顶点的恢复而再次有意义。参见图3d。●步骤l),由系统自动执行,包括存储点在三维场景内的新坐标。图5a示出了由cad系统生成的三维场景,所述场景包括表示待制造的物理对象的三维建模对象o。例如,对象o可以是将被用来生产由塑料制成的零件的注塑模具的元件。该场景还包括面s,其可以表示注塑模具的分离面。面s由在点p处会合的两个直线l1,l2来定义。假设点p位于由对象o的两个连续边形成的曲线c上。设计者,cad系统的用户,决定通过创建圆抹角,即通过使得其一个边有圆角来修改对象o。这暗指修改曲线c,并且更具体地,删除其一个顶点,该顶点充当点p的基准(在该特定情况下,基准顶点也是对象的顶点,并且与点p重合,否则规定d=0)。如果使用根据现有技术的方法,则点p不再存在于修改后的曲线c*上并且面s与对象o半分离,如果该面是模具的分离面则这明显不可接受。这被系统检测为出错情况,并且显示表明需要用户手动纠正的消息。该情形图示于图5b上。相反,如果使用根据本发明的方法,则点p自动地重新定位在修改后的曲线c*上,面s维持可接受构造且未检测到出错情况。能够看出,本发明的方法简化且加速了物理对象的设计,随后可以通过常规的方式来制造该物理对象。本发明的方法可以通过适当编程的通用计算机或计算机系统来执行,该通用计算机或计算机系统可能包括计算机网络,在诸如硬盘、固态盘或cd-rom的计算机可读介质上以非易失性的形式存储适当的程序,以及利用其微处理器和存储器来执行所述程序。参考图6描述了适合于实施根据本发明的示例性实施例的方法的计算机——更确切地计算机辅助设计系统或站。在图6中,计算机包括执行上述过程的中央处理器cpu。该过程可以存储为可执行程序,即在例如ramm1或romm2的存储器内、硬盘驱动器(hdd)m3、dvd/cd驱动m4上的一组计算机可读指令,或者可以远程地存储。而且,限定包括曲线c和点p的三维场景的一个或多个计算机文件也可以存储在存储器设备m1至m4中的一个或多个上,或者远程地存储。特别地,构成点p及其在三维场景内的坐标(x,y,z)的主规约的三元组(c,v2,d)可以由ram存储器m1来记录。要求保护的发明不受存储有本发明的过程的计算机可读指令和/或数字文件的计算机可读介质的形式限制。例如,指令和文件可以存储在cd、dvd上、闪速存储器、ram、rom、prom、eprom、eeprom、硬盘或任何其它信息处理设备上,计算机辅助设计或图解创作站与这些信息处理设备通信,信息处理设备例如为服务器或计算机。程序和文件可以存储在同一存储器设备上或不同的存储器设备上。此外,适合于实施本发明的方法的计算机程序可以被提供作为实用应用、后台守护程序、或操作系统的组件、或其组合,它们与cpu800和诸如microsoftvista,microsoftwindows8,unix,solaris,linux,applemac-os和本领域技术人员已知的其它系统的操作系统相结合地来执行。中央处理器cpu可以是来自美国因特尔公司的xenon处理器或来自美国的amd公司的opteron处理器,或者可以是其它处理器类型,例如来自美国飞思卡尔公司的freescalecoldfire、imx或arm处理器。可替代地,中央处理器可以是诸如来自美国的因特尔公司的如core2duo的处理器,或者可以实现在fpga、asic、pld上或者使用离散逻辑电路,这是本领域普通技术人员将认识到的。此外,中央处理器可以实现为协作地工作以执行本发明的上述过程的计算机可读指令的多个处理器。图6中的计算机辅助设计或图解创作站还包括网络接口ni,诸如来自美国的因特尔公司的因特尔以太网pro网络接口卡,用于与诸如局域网(lan)、广域网(wan)、因特网等网络相连接。计算机辅助设计站还包括显示控制器dc,诸如来自美国的nvidia公司的nvidiageforcegtx图形适配器,用于与诸如惠普的hpl2445wlcd监视器的显示器dy相连接。通用的i/o接口if与键盘kb和诸如滚动球、鼠标、触摸垫等定点设备pd相连接。显示器、键盘和定点设备连同显示控制器和i/o接口一起,形成了图形用户接口,其由用户用来提供输入命令——例如,移动指针工具、选择曲线或顶点…——以及由计算机辅助设计站使用来显示包括曲线的三维场景。磁盘控制器dkc将hddm3和dvd/cdm4与通信总线cbs连接,通信总线cbs可以是isa、eisa、vesa、pci或类似物,用于将计算机辅助设计站的全部组件互连。在此,为简要起见,省去显示器、键盘、定点设备以及显示控制器、磁盘控制器、网络接口和i/o接口的一般特征和功能的描述,因为这些特征是已知的。图7是适合实施根据本发明的不同的示例性实施例的方法的计算机系统的框图。在图7中,可执行程序exp和定义包括曲线c和点p的三维场景的计算机文件存储在与服务器sc连接的存储器设备上。除了显示控制器、显示器、键盘和/或定点设备可以在服务器中省去之外,存储器设备和服务器的总的体系结构可以与上文参考图6所论述的相同。然后,服务器sc经由网络nw与管理员系统ads和终端用户计算机euc连接。除了管理员系统和终端用户计算机的存储器设备不存储可执行程序exp和/或定义三维场景的计算机文件之外,管理员系统和终端用户计算机的总的体系结构可以与上文参考图6所论述的相同。然而,终端用户计算机确实存储设计成用于与服务器的可执行程序协作的客户端程序,如下文将论述的。能够意识到,网络nw可以是公共网,例如因特网,或者私有网,例如lan或wan网络、或其任意组合,并且还可包括pstn或isdn子网。网络nw还可以是有线的,例如以太网,或者可以是无线的,例如包括edge、3g和4g无线蜂窝系统的蜂窝网络。无线网还可以是wi-fi、蓝牙或已知的任何其它无线通信形式。因此,网络nw仅是示范性的,绝不限制本进步的范围。存储在终端用户计算机的存储器设备中且由终端用户计算机的cpu执行的客户端程序经由网络nw来访问数据库db,该数据库db由服务器sc存储且包含定义三维场景或其元素的文件。这允许终端用户打开该文件以及可能地修改该文件,例如通过将点放在场景的曲线上和/或通过修改所述曲线。服务器执行如上所述的处理,并且向终端用户计算机发送对应于场景的期望的表示的图像文件,也是利用网络nw。虽然仅示出了一个管理员系统ads和一个终端用户系统eux,该系统能够支持任意数量的管理员系统和/或终端用户系统,而不做限制。类似地,多个服务器也可以实现在系统中,而不偏离本发明的范围。本文所描述的任何过程应当理解为表示包含用于实现过程中的具体的逻辑功能或步骤的一条或多条可执行指令的代码的模块、段或部分,并且可替代的实现方式包含在本发明的示范性的实施例的范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1