CN110895834A - 用于生成至少包括旋转的运动的方法 - Google Patents
用于生成至少包括旋转的运动的方法 Download PDFInfo
- Publication number
- CN110895834A CN110895834A CN201910862252.8A CN201910862252A CN110895834A CN 110895834 A CN110895834 A CN 110895834A CN 201910862252 A CN201910862252 A CN 201910862252A CN 110895834 A CN110895834 A CN 110895834A
- Authority
- CN
- China
- Prior art keywords
- computer
- motion
- manipulator
- implemented method
- man
- 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.)
- Pending
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
- 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/04845—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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- 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/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- 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
本发明涉及一种用于在3D场景中生成3D组装件(ASM)的3D零件(PAR)的运动的计算机实现的方法,3D零件的运动至少表示旋转最多预定角度,该方法包括以下步骤:a)在3D场景中显示3D零件组成的3D组装件(ASM);b)选择3D组装件(ASM)的3D零件(PAR);c)在3D场景中显示包括三个轴(AX1、AX2、AX3)的3D操纵器(MAN),所述3D操纵器(MAN)被在锚定点(ANP)中被锚定到3D零件(PAR);d)沿着一个轴(AX1、AX2、AX3)将3D操纵器(MAN)拖动距所述一个轴(AX1、AX2、AX3)上的锚定点(ANP)的当前距离(CD),至少预定角度对应于距锚定点(ANP)的最大距离(MD);e)在拖动3D操纵器(MAN)的同时,计算当前距离(CD)与最大距离(MD)的比率,以及f)与比率成比例地生成3D零件的运动。
Description
技术领域
本发明涉及计算机程序领域,并且更具体地涉及一种用于在3D场景中生成3D组装件的3D零件的运动的方法、计算机程序产品、非易失性计算机可读数据存储介质、计算机辅助设计系统和三维示图创作系统。本发明属于计算机图形学领域,并且更具体地属于创作系统领域。
背景技术
创作系统(例如,由Dassault Systèmes以商标CATIA Composer提供的系统)使得用户能够从现有的3D零件组成的3D组装件开始创建2D或3D文档、技术示图、动画。用户通过详细的图像和动画来创建与3D零件相关的清晰且易懂的技术示图。例如,用户可以创建3D零件的交互式材料表(或零件目录)或3D组装件的分解视图。由于创作系统,还可以产生与维护和训练操作以及组装指示相关的动画。本发明更具体地涉及这些类型的应用。
创作系统的用户不仅是设计工程师、制造工程师、技术示图画家,而且还是具有少量或者甚至没有CAD经验的用户。因此,创作系统必须易于使用。
涉及平移、旋转或者平移和旋转的组合的动画通常由创作系统的用户创建(例如但不排他地,在制造领域或手工领域中),以示出组装或拆卸过程。平移和旋转的组合的一个示图是拧紧操作或拧松操作。例如,3D零件可以是螺钉或螺栓,并且3D组装件是至少包括3D零件的3D对象。
在现有的创作系统中(例如,在CATIA Composer中),创建涉及平移3D零件的动画的一种方法是使用称为“罗盘”的操纵器。该罗盘在文档US 2003/0187532 A1中公开。在现有的创作系统中,用户利用光标点击(按下光标并释放光标)罗盘以激活罗盘,并将罗盘拖动到待平移的3D零件。然后,用户在3D零件上释放罗盘,这将罗盘锚定在3D零件上。用户选择罗盘的轴中的一个,并且拖动光标使得3D零件沿所选定的轴的方向平移运动。在拖动光标期间,平移3D零件的化身;然后,当用户释放按钮时,3D零件而不是化身被定位。创作系统最终创建平移动画的键(时间标记),然后由创作系统对该键进行插值以便创建动画。
类似地,为了创建旋转动画,用户利用光标点击罗盘,并且将罗盘拖动到待旋转的3D零件。然后,用户在3D零件上释放罗盘,这将罗盘锚定在3D零件上。用户选择罗盘的弧中的一个,并且拖动光标使得3D零件围绕与所选定的弧的平面垂直的轴旋转运动。在拖动光标期间,使3D零件的化身旋转;然后,当用户释放按钮时,3D零件而不是化身被定位。另一种可能性是选择旋转的轴,并且在对话框中输入度数。类似于平移动画,创作系统最终创建旋转动画的键。
利用上面所描述的操纵器,用户可以创建排他的移动,即,平移或旋转。然而,对于没有CAD经验的用户来说,使用所描述的操纵器并不简单。此外,如果用户想要在3D场景中创建拧紧操作或拧松操作的动画,则他首先创建使得3D零件旋转到位的旋转动画。创作系统创建表示旋转的键。然后,用户创建使得旋转的3D零件平移的平移动画,以用于旋转动画的最后的键。因此,从旋转开始,动画不涉及同时的旋转和平移。
避免这个问题的方法是创建3D零件的旋转动画,然后创建组装件,并且将旋转的3D零件放入组装件中。最后,用户利用平移移动来动画化组装件,由此创建对旋转的3D零件进行平移的动画。该解决方案是麻烦的,因为用户已经将光标移动到3D场景的外部,在3D场景外部的菜单中导航以创建组装件,将3D零件(从特征树)拖动到菜单中的组装件,并且对组装件命名。
因此,该解决方案不易于使用,并且具有少量或者甚至没有CAD经验的用户通常不知道如何创建组装件,并放弃创建将旋转和平移组合的动画。
即使对于熟悉创作系统的用户来说,如果他们必须创建拧紧或拧松的重复动画,这种处理方式也可能是耗时的。
发明内容
然后,本发明的目的是提供一种用于在3D场景中至少生成3D零件的旋转的运动的计算机实现的方法,该实现方法是易于使用且节省时间的,特别是用于生成拧紧/拧松运动。
根据本发明的一个方面,提出了一种用于在3D场景中生成3D组装件的3D零件的运动的计算机实现的方法,3D零件的运动至少包括旋转最多预定角度,该方法包括以下步骤:
a)在3D场景中显示3D零件组成的3D组装件;
b)选择3D组装件的3D零件;
c)在3D场景中显示包括三个轴的3D操纵器,所述3D操纵器在锚定点中被锚定到3D零件;
d)沿着一个轴将3D操纵器拖动距所述一个轴上的锚定点的当前距离,预定角度对应于距锚定点的最大距离;
e)在拖动3D操纵器的同时,计算当前距离与最大距离的比率,以及
f)与该比率成比例地生成3D零件的运动。
根据本发明的特定实施例:
旋转与沿着轴的平移和围绕轴的旋转组合,从而表示根据预定螺距的拧紧或拧松。
在预先定义的方法中:
-步骤b)包括识别包围3D零件的边界框;以及
-步骤c)包括将锚定点定位在边界框的中心。
在预先定义的方法中:
-步骤b)包括识别边界框的三个割线边缘,以及
-步骤c)包括将3D操纵器的轴与边界框的三个割线边缘对齐。
运动还包括在没有旋转的情况下沿着轴平移预定长度,该方法包括以下步骤:
-在步骤d)中,将最大距离分割成两个部分最大距离,预定角度对应于第一部分最大距离,预定长度对应于第二部分最大距离;
-在步骤e)中,计算当前距离与第一部分最大距离的第一比率,确定位于轴上的中间点,远离锚定点达第一部分最大距离,重置当前距离的值,从中间点开始重新计算当前距离,并计算重新计算出的当前距离与第二部分最大距离的第二比率;
-在步骤f)中,与第一比率成比例地生成3D零件的旋转,并且与第二比率成比例地生成3D零件的平移。
该方法包括至少设置运动的参数的步骤,所述步骤包括以下子步骤:
-检测在3D操纵器上的第一用户交互;
-响应于检测到第一用户交互,显示运动的参数的至少一个值;
-检测用户对值的更新,由此设置运动的参数。
该方法包括在多个运动中选择一个运动的步骤,包括以下子步骤:
-检测在3D操纵器上的第二用户交互;
-响应于检测到第二用户交互,进行显示表示多个运动中的相应运动的图标的集合的子步骤;
-检测在该图标的集合中的一个上的第三用户交互,由此选择对应的运动。
该方法包括创建运动的视频动画的步骤。
本发明还涉及一种计算机程序产品,其存储在非易失性计算机可读数据存储介质上,该计算机程序产品包括计算机可执行指令,该计算机可执行指令用于使得计算机系统执行预先定义的计算机实现的方法。
本发明还涉及一种非易失性计算机可读数据存储介质,其包含计算机可执行指令,该计算机可执行指令用于使得计算机系统执行预先定义的计算机实现的方法。
本发明还涉及一种计算机辅助设计系统,其包括与存储器和图形用户接口耦合的处理器,该存储器存储计算机可执行指令,该算机可执行指令用于使得计算机辅助设计系统执行预先定义的计算机实现的方法。
本发明还涉及一种三维示图创作系统,其包括与存储器和图形用户接口耦合的处理器,该存储器存储计算机可执行指令,该计算机可执行指令用于使得三维示图创作系统执行预先定义的计算机实现的方法。
附图说明
通过对通过非限制性示例的方式所描述并通过附图说明的一些实施例的研究,将更好地理解本发明,其中:
-图1至图8示出了根据本发明的方法的实现方式;
-图9示出了根据本发明的方法的流程图;
-图10和图11示出了可以在其中实现本发明的计算环境。
具体实施方式
图1示出了根据本发明的方法的步骤a)和步骤b)。在第一步骤a)中,3D零件组成的3D组装件ASM在3D场景中显示。在图1中,3D组装件ASM由两个3D零件组成:连杆和螺钉。由于本发明,创作系统的用户创建了在连杆外部拧松螺钉的动画。3D组装件可以包括其它零件,并且还可以集成在包括其它3D零件的组装件中。为简单起见,在本申请中,3D组装件仅由两个3D零件组成。
根据3D场景的特定视点,在屏幕上呈现3D组装件ASM;根据已知技术,可以修改视点。
在第二步骤b)中,用户在组成3D组装件的所有3D零件中选择3D组装件ASM的一个3D零件PAR。存在几种方法来选择3D零件中的一个。第一种方法是在3D场景中导航,并且选择在3D场景中的3D零件中的一个。在触摸模式下(利用手指或触笔),用户长按3D零件中的一个;在利用鼠标的情况下,用户点击3D零件中的一个。“点击”指代按下和释放。可替代地,3D组装件可以在位于3D场景外部的菜单中显示为“特征树”。因此,用户向下滚动特征树,并且选择特征树中的3D零件中的一个。可替代地,可以通过调用创作系统中的搜索引擎来选择3D零件。例如,用户对3D零件的名称或其属性中的一些进行查询。一旦被选定,3D零件将被突出显示。在图1中,所选定的3D零件(螺钉)被连杆遮挡;因此,突出显示所选定的3D零件或其轮廓改进了所选定的3D零件的可见性。
此后,3D零件仅指代3D组装件的用户想要针对其生成运动的所选定的3D零件。
通过使用3D操纵器生成3D零件PAR的运动。3D操纵器是可由鼠标控制或用触笔或手指在触摸屏上控制的图形伪像。可以通过专用命令调用3D操纵器。例如,一旦用户已经选定了3D零件PAR,用户就点击专用图标,该专用图标可以位于3D场景中提供的功能区中,或者位于3D场景之外(如图1中所示)。3D操纵器的激活也可以在上下文菜单中向用户提出,该上下文菜单可以位于3D零件PAR附近,并且针对3D零件提供相关命令。上下文菜单可以在3D场景中永久显示,或者也可以响应于用户交互(例如,在3D场景中用鼠标右击,或在触摸模式下在3D场景中轻击)而显示。可替代地,可以通过使用键盘快捷键或通过语音命令来调用3D操纵器。
图2示出了根据本发明的方法的步骤c)。所调用的3D操纵器MAN包括三个轴(AX1、AX2、AX3)。三个轴形成空间系统(优选地是正交空间系统),其具有三个正交轴和原点。示意性地表示运动的图标可以位于正交空间系统的原点。正交轴由三个箭头表示,从而提供不同的操纵方向。3D操纵器MAN可以默认定位在3D场景中的任何位置。特别地,3D操纵器MAN可以默认定位在3D零件PAR附近或3D零件PAR上。因此,用户操纵3D操纵器MAN,并在同一视野中看到3D零件的运动。在优选实施例中,3D操纵器MAN默认定位在包围3D零件PAR的边界框BB的中心。边界框BB是包含3D零件PAR的最小尺寸的矩形立方体。计算边界框BB的中心,并且其对应于边界框BB的中心。在任何情况下,用户可以修改3D操纵器的默认位置,例如,通过在按下键盘的专用键(例如,“CTRL”键)的同时拖动3D操纵器MAN。
空间系统的原点的位置被存储为3D操纵器MAN的锚定点ANP。锚定点ANP是固定点,其对应于空间系统的原点的默认或经修改的位置。然后,用户拖动3D操纵器MAN,并且本发明的原理中的一个是根据在锚定点ANP与3D操纵器MAN之间的距离生成3D零件的运动。
然后,计算最大距离MD。在优选实施例中,最大距离MD是以像素为单位的距离,其与监视器的最小尺寸的一部分(通常是垂直长度)相对应。例如,最大距离MD与监视器的最小尺寸的一半相对应。实际上,用户倾向于将他的视点定位为使得3D零件可以处于监视器的中心。最大距离MD也可以等于监视器的最小尺寸的一部分减去预先定义的余量。
可替代地,最大距离MD可以指代在运动的轴的方向上在锚定点ANP与窗口边缘之间的距离。可替代地,最大距离MD可以是锚定点ANP与窗口边缘之间的距离的一部分(例如,一半)。因此,用户不必长距离拖动3D操纵器MAN。在任何情况下,用户可以通过选择前述方法中的一个来设置最大距离MD。
一旦已经计算出最大距离MD,该最大距离MD就与预定角度相关联。因此,即使用户拖动3D操纵器MAN超过最大距离MD,运动的生成也会停止。
在步骤d)中,用户沿3D操纵器的轴(AX1、AX2、AX3)中的一个拖动3D操纵器。如图3所示,用户沿着轴AX3拖动3D操纵器MAN。在触摸模式中,“拖动”指代维持附加物(触笔或手指)与触摸屏之间的接触。在使用鼠标的情况下,“拖动”指代按下点击(例如,左击)而不释放。在拖动期间,3D操纵器MAN根据鼠标或附加物的命令跟随光标的运动。
要生成的运动至少包括旋转预定角度。在不进行任何限制的情况下,生成的运动可以是:
-将3D零件PAR旋转预定角度;用户沿着旋转的轴拖动3D操纵器;
-围绕旋转的轴旋转预定角度与沿着相同轴平移预定长度的组合。用户沿着前述轴拖动3D操纵器。拧紧或拧松运动代表这种组合。表示旋转与平移的组合的运动根据预定的螺距来执行。螺距是在螺钉的螺纹之间沿旋转和平移的轴的距离。螺距通常以毫米表示。例如,螺距为1.5意味着一个螺纹与下一螺纹之间的距离为1.5mm。该组合还可以通过预定角度的旋转和预定长度的平移(例如,720°和10mm)来表征;
-将3D零件旋转预定角度,然后将3D零件平移预定长度(或相反地);
-根据预定的螺距拧紧或拧松,然后平移预定长度或旋转预定角度(或相反地)。
用户刚一开始拖动3D操纵器MAN,就永久地计算在锚定点ANP与3D操纵器MAN之间的距离。称为“当前距离”CD的距离更精确地从锚定点ANP延伸到空间系统的原点。用户沿着运动的轴拖动3D操纵器MAN。因此,用户“拉动”轴的箭头,以便生成运动。在图3中,运动的轴是轴AX3。用户不一定将光标准确地定位在运动的轴上。如果光标位于运动的轴的外部,则3D操纵器MAN根据光标在轴上的投影移动。
在步骤e)中,在拖动3D操纵器MAN的同时,计算当前距离CD与最大距离MD的比率。
在步骤f)中,与比率成比例地生成3D零件的运动。根据本发明的实施例,显示计算出的比率,例如,接近3D操纵器MAN或接近光标。例如,在图3中等于66%。因此,用户看到运动的时间线的表示。创作系统最终创建运动的键(时间标记),然后由创作系统对该键进行插值以便创建运动的动画。
如果运动包括至少两个不同的序列(例如,首先旋转或拧紧预定角度,其次平移预定长度),则在步骤d)中将最大距离MD分割成尽可能多的部分最大距离。每个序列的幅度对应于部分最大距离。例如,在首先旋转或拧紧预定角度其次平移预定长度的情况下,预定角度对应于第一部分最大距离MD1,并且预定长度对应于第二部分最大距离MD2。
对于所有不同的序列,对最大距离MD的分割可以相等。可替代地,与不同序列的预定角度和/或预定长度成比例地执行对最大距离MD的分割。
然后,在步骤e)中,计算当前距离CD与第一部分最大距离MD1的第一比率。确定位于轴上并且远离锚定点ANP达第一部分最大距离MD1的中间点IP。图4示意性地示出了对最大距离MD的分割。当3D操纵器MAN远离锚定点ANP达第一部分最大距离MD1时,重置当前距离CD的值,并且从中间点IP开始重新计算;然后计算重新计算的当前距离CD与第二部分最大距离MD2的第二比率。
最后,在步骤f)中,与第一比率成比例地生成3D零件的旋转,并且与第二比率成比例地生成3D零件的平移。
应该理解的是,这同样适用于包括首先平移其次拧紧或旋转的运动。在该情况下,预定长度对应于第一部分最大距离MD1,并且预定角度对应于第二部分最大距离MD2。
此外,对于包括多于两个序列的运动,计算若干中间点IP,并且重置当前距离CD,并且从每个中间点IP开始重新计算。
图3所示出的运动包括若干序列:首先,沿轴AX3拧松3D零件PAR;然后沿轴AX3进行平移。在运动开始时,3D操纵器MAN默认定位在3D零件PAR的边界框BB的中心。然而,随着运动的进行,3D操纵器MAN可以沿着运动的轴比3D零件本身“更快地”被拖动。例如,如果运动是旋转,则3D零件PAR围绕运动的轴旋转,而3D操纵器沿着运动的轴被拖动。如果运动是拧松与最大距离相比较小的预定长度,则同样适用。
根据优选实施例,3D操纵器MAN的定向与3D零件PAR的定向匹配,如图5所示。为此,在步骤b)中,识别出构成边界框BB的矩形立方体的三个割线边缘(ED1、ED2、ED3)。然后,在步骤c)中,3D操纵器MAN的轴(AX1、AX2、AX3)与边界框BB的三个割线边缘对齐。因此,如果3D零件PAR在3D场景中倾斜地出现,则3D操纵器MAN在被调用时也倾斜地出现。此外,如果3D零件PAR在3D场景中以预设的旋转角度出现,则3D操纵器的轴与边界框BB的割线边缘对齐,使得旋转运动考虑预设的旋转角度。可选地,如果运动是旋转或拧紧/拧松,则3D操纵器MAN可以围绕运动的轴旋转,以便保持3D操纵器MAN的轴与边界框BB的割线边缘对齐。
在拖动3D操纵器MAN之前或之后,用户可以与其交互,以便设置运动的一些参数。因此,该方法包括至少设置运动的参数的步骤。
在第一子步骤中,在3D操纵器MAN上检测到第一用户交互。可以在步骤c)期间(即,在生成运动之前),在步骤f)之后(即,在生成运动之后),以及甚至如果用户停止拖动3D操纵器MAN则在生成运动期间执行检测。例如,第一用户交互可以是双击位于空间系统的原点的图标MI,如图6所示。在触摸模式中,第一用户交互可以是双次轻击。
在第二子步骤中,响应于检测到第一用户交互,显示运动的参数的至少一个值。如图7所示,可以显示定制面板CPA。由于定制面板CPA的编辑按钮EB,用户可以修改预定的旋转角度或预定的平移长度。每个基本运动(旋转或平移)可以单独编辑。通过链接LNK显示基本运动的组合,例如,拧紧/拧松。用户可以通过点击链接LNK来将其激活或停用。用户可以自由地停用任何链接LNK。然而,为了激活在两个基本运动之间的链接LNK,检测到两个基本运动是不同的,并且两个基本运动都没有绑定到现有链接。用户还可以添加基本运动,或者改变基本运动的顺序次序。
在第三子步骤中,检测用户例如通过点击定制面板CPA中的专用按钮对值进行的更新,由此设置运动的参数。
用户还可以针对3D零件PAR选择另一运动。为此,在定制面板CPA中的下拉菜单DM允许用户选择他编辑的运动。
以其它方式,用户可以在针对3D零件PAR的多个运动中选择另一运动,而不需要启动定制面板CPA。在生成运动之前、在生成运动之后以及甚至在生成运动期间,用户可以与3D操纵器MAN交互(参见图6)。参考图8,通过与第一用户交互不同的第二用户交互,可以显示表示多个运动中的相应运动的图标的集合(MI,SI)。第二用户交互是例如在空间系统的原点上的单击或触摸模式中的轻击。位于空间系统的原点的主图标MI表示运动的示意图。位于接近空间系统的原点处的次要图标SI表示多个运动中的另一运动的相应示意图。顺便提及,当光标在图标中的一个上时,或者通过触摸模式中的专用命令,显示示出运动的视频。然后,如果在图标中的一个上检测到第三交互(例如,单击或触摸模式中的轻击),则针对3D零件PAR选择另一运动。
图9示出了根据本发明的方法(特别是根据本发明的方法的步骤a)至f))的流程图。
本发明为用户提供了用于执行旋转和平移以及旋转和平移的组合的高效工具。动画更容易创建,特别是针对(尤其是包含螺钉或螺栓的)组装或拆卸过程。此外,通过使用前述定制面板,可以协调对这些运动的设置。
本发明的方法可以由适当编程的通用计算机或计算机系统执行,该适当编程的通用计算机或计算机系统可能包括计算机网络,以非易失性形式将合适的程序存储在诸如硬盘、固态盘或CD-ROM之类计算机可读介质上,并且使用其(多个)微处理器和存储器执行所述程序。
参考图10描述了适合于执行根据本发明的示例性实施例的方法的计算机——更精确地是计算机辅助设计或示图创作系统或站。在图10中,计算机包括执行上面所描述的过程的中央处理单元(CPU)P。该过程可以存储为可执行程序,即,在存储器(例如,RAM M1或ROM M2)中的计算机可读指令集,或者在硬盘驱动器(HDD)M3、DVD/CD驱动器M4上的计算机可读指令集,或者可以远程存储的计算机可读指令集。此外,还可以将定义必须在其中生成3D零件PAR的运动的三维场景的一个或多个计算机文件(例如,对象组装件的分解视图)存储在存储器设备M1至M4中的一个或多个上,或远程存储。
要求保护的发明不受在其上存储发明过程的计算机可读指令和/或数字文件的计算机可读介质的形式的限制。例如,指令和文件可以存储在CD、DVD上,存储在闪速存储器、RAM、ROM、PROM、EPROM、EEPROM、硬盘或计算机辅助设计或示图创作站与其通信的任何其它信息处理设备(例如,服务器或计算机)中。程序和文件可以存储在同一存储器设备或不同的存储器设备上。
此外,适合于执行发明方法的计算机程序可以作为实用应用、后台守护进程或操作系统的组件或其组合提供,其结合CPU 800和诸如Microsoft VISTA、Microsoft Windows8、UNIX、Solaris、LINUX、Apple MAC-OS以及本领域技术人员已知的其它系统之类的操作系统执行。
CPU P可以是来自美国的Intel的Xenon处理器或来自美国的AMD的Opteron处理器,或者可以是其它处理器类型,例如,来自美国的Freescale公司的Freescale ColdFire、IMX或ARM处理器。可替代地,如本领域普通技术人员将认识到的,CPU可以是诸如来自美国的Intel公司的Core2 Duo之类的处理器,或者可以在FPGA、ASIC、PLD上或使用分立逻辑电路实现。此外,CPU可以实现为协同工作以执行上面所描述的发明过程的计算机可读指令的多个处理器。
与现有技术相比,通过降低用户操纵的数量,CPU的计算时间显著减少。实际上,在现有技术解决方案中,旋转和平移的组合运动被分割。因此,针对3D零件的平移计算第一矩阵,并且针对旋转计算第二矩阵。然后,针对平移和旋转的组合计算第一矩阵与第二矩阵的矩阵乘积。因此,执行两次矩阵计算。在根据本发明的方法中,仅执行一次矩阵计算。
此外,在现有技术解决方案中,用户首先进行平移,创建平移的键;然后,用户进行旋转,并且创建旋转的键(或相反地)。根据本发明,用户进行组合的旋转/平移并创建键。这也减少了CPU的计算时间。
图10中的计算机辅助设计或示图创作站还包括网络接口NI,例如,来自美国的Intel公司的Intel以太网PRO网络接口卡,以用于与诸如局域网(LAN)、广域网(WAN)、互联网等之类的网络相接合。计算机辅助设计或示图创作站还包括显示控制器DC,例如,来自美国的NVIDIA公司的NVIDIA GeForce GTX图形适配器,以用于与显示器DY(例如,HewlettPackard HPL2445w LCD监视器)相接合。通用I/O接口IF与键盘KB和定点设备PD(例如,滚球、鼠标、触摸板等)相接合。显示器、键盘和定点设备与显示控制器和I/O接口一起形成图形用户接口,由用户使用该图形用户接口来提供输入命令——例如,移动指针工具、选择点或平面等——并且通过计算机辅助设计或示图创作站来显示三维场景、图形工具(平面选择器、指针工具)和折线。
磁盘控制器DKC将HDD M3和DVD/CD M4与通信总线CBS连接,该通信总线CBS可以是ISA、EISA、VESA、PCI或类似物,以用于互连计算机辅助设计或示图创作站的所有组件。
为简洁起见,本文省略对显示器、键盘、定点设备以及显示控制器、磁盘控制器、网络接口和I/O接口的一般特征和功能的描述,因为这些特征是已知的。
图11是适合于执行根据本发明的不同示例性实施例的方法的计算机系统的框图。
在图11中,可执行程序EXP和定义三维场景的计算机文件存储在连接到服务器SC的存储器设备上。存储器设备和服务器的总体架构可以与上面参考图10所讨论的相同,除了在服务器中可能缺少显示控制器、显示器、键盘和/或定点设备。
然后,服务器SC经由网络NW连接到管理员系统ADS和最终用户计算机EUC。
管理员系统和最终用户计算机的总体架构可以与上面参考图10所讨论的相同,除了管理员系统和最终用户计算机的存储器设备不存储可执行程序EXP和/或定义三维场景的计算机文件。然而,最终用户计算机确实存储被设计用于与服务器的可执行程序协作的客户端程序,如下面将讨论的。
如可以认识到的,网络NW可以是公共网络(例如,互联网)或专用网络(例如,LAN或WAN网络)或其任何组合,并且还可以包括PSTN或ISDN子网络。网络NW也可以是有线的(例如,以太网)或者可以是无线的(例如,包括EDGE、3G和4G无线蜂窝系统的蜂窝网络)。无线网络还可以是Wi-Fi、蓝牙或已知的任何其它无线通信形式。因此,网络NW仅仅是示例性的,并且不以任何方式限制本改进内容的范围。
存储在最终用户计算机的存储器设备中并且由后者的CPU执行的客户端程序经由网络NW访问由服务器SC存储的数据库DB,并且该数据库DB包含定义必须在其中生成3D零件PAR的运动的三维场景的文件。这允许最终用户打开并可能修改这样的文件,以对场景的图形表示进行参数化并且生成如上面所描述的3D零件的运动。服务器执行如上面所描述的处理,并且再次使用网络NW向最终用户计算机发送与包括折线的场景的期望表示相对应的图像文件。
虽然仅示出了一个管理员系统ADS和一个最终用户系统EUX,但系统可以在没有限制的情况下支持任意数量的管理员系统和/或最终用户系统。类似地,在不脱离本发明的范围的情况下,也可以在系统中实现多个服务器。
本文所描述的任何过程应当被理解为表示包括一个或多个可执行指令的模块、片段或代码部分,可执行指令用于实现过程中的特定逻辑功能或步骤,并且替代实现方式包括在本发明的示例性实施例的范围内。
Claims (12)
1.一种用于在3D场景中生成3D组装件(ASM)的3D零件(PAR)的运动的计算机实现的方法,所述3D零件的运动至少包括旋转最多预定角度,所述方法包括以下步骤:
a)在所述3D场景中显示3D零件组成的3D组装件(ASM);
b)选择所述3D组装件(ASM)的3D零件(PAR);
c)在所述3D场景中显示包括三个轴(AX1、AX2、AX3)的3D操纵器(MAN),所述3D操纵器(MAN)在锚定点(ANP)中被锚定到所述3D零件(PAR);
d)沿着一个轴(AX1、AX2、AX3)将所述3D操纵器(MAN)拖动距所述一个轴(AX1、AX2、AX3)上的所述锚定点(ANP)的当前距离(CD),所述预定角度对应于距所述锚定点(ANP)的最大距离(MD);
e)在拖动所述3D操纵器(MAN)的同时,计算所述当前距离(CD)与所述最大距离(MD)的比率,以及
f)与所述比率成比例地生成所述3D零件的运动。
2.根据权利要求1所述的计算机实现的方法,其中,所述旋转与沿着所述轴的平移和围绕所述轴的旋转组合,从而表示根据预定螺距的拧紧或拧松。
3.根据前述权利要求中任一项所述的计算机实现的方法,其中:
-步骤b)包括识别包围所述3D零件(PAR)的边界框(BB);
-步骤c)包括将所述锚定点(ANP)定位在所述边界框(BB)的中心。
4.根据权利要求3所述的计算机实现的方法,其中:
-步骤b)包括识别所述边界框(BB)的三个割线边缘(ED1、ED2、ED3),
-步骤c)包括将所述3D操纵器(MAN)的轴(AX1、AX2、AX3)与所述边界框(BB)的三个割线边缘(ED1、ED2、ED3)对齐。
5.根据前述权利要求中任一项所述的计算机实现的方法,其中,所述运动还包括在没有旋转的情况下沿着所述轴平移预定长度,所述方法包括以下步骤:
-在步骤d)中,将所述最大距离(MD)分割成两个部分最大距离(MD1、MD2),所述预定角度对应于第一部分最大距离(MD1),所述预定长度对应于第二部分最大距离(MD2);
-在步骤e)中,计算所述当前距离(CD)与所述第一部分最大距离(MD1)的第一比率,确定位于所述轴上的中间点,远离所述锚定点(ANP)达所述第一部分最大距离(MD1),重置所述当前距离(CD)的值,从所述中间点开始重新计算所述当前距离,并且计算重新计算出的当前距离(CD)与所述第二部分最大距离(MD2)的第二比率;
-在步骤f)中,与所述第一比率成比例地生成所述3D零件的旋转,并且与所述第二比率成比例地生成所述3D零件的平移。
6.根据前述权利要求中任一项所述的计算机实现的方法,包括至少设置所述运动的参数的步骤,所述步骤包括以下子步骤:
-检测在所述3D操纵器(MAN)上的第一用户交互;
-响应于检测到所述第一用户交互,显示所述运动的参数的至少一个值;
-检测用户对所述值的更新,由此设置所述运动的参数。
7.根据前述权利要求中任一项所述的计算机实现的方法,包括在多个运动中选择一个运动的步骤,包括以下子步骤:
-检测在所述3D操纵器(MAN)上的第二用户交互;
-响应于检测到所述第二用户交互,进行显示表示所述多个运动中的相应运动的图标的集合(MI、SI)的子步骤;
-检测在所述图标的集合(MI、SI)中的一个上的第三用户交互,由此选择对应的运动。
8.根据前述权利要求中任一项所述的计算机实现的方法,包括创建所述运动的视频动画的步骤。
9.一种计算机程序产品,其存储在非易失性计算机可读数据存储介质上,所述计算机程序产品包括计算机可执行指令,所述计算机可执行指令用于使得计算机系统执行根据前述权利要求中任一项所述的计算机实现的方法。
10.一种非易失性计算机可读数据存储介质,其包含计算机可执行指令,所述计算机可执行指令用于使得计算机系统执行根据权利要求1至8中任一项所述的计算机实现的方法。
11.一种计算机辅助设计系统,其包括与存储器(M1-M4)和图形用户接口耦合的处理器(P),所述存储器(M1-M4)存储计算机可执行指令,所述计算机可执行指令用于使得所述计算机辅助设计系统执行根据权利要求1至8中任一项所述的计算机实现的方法。
12.一种三维示图创作系统,其包括与存储器(M1-M4)和图形用户接口耦合的处理器(P),所述存储器(M1-M4)存储计算机可执行指令,所述计算机可执行指令用于使得所述三维示图创作系统执行根据权利要求1至8中任一项所述的计算机实现的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18306192.8 | 2018-09-12 | ||
EP18306192.8A EP3623969B1 (en) | 2018-09-12 | 2018-09-12 | Method for generating a movement comprising at least a rotation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110895834A true CN110895834A (zh) | 2020-03-20 |
Family
ID=63713779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910862252.8A Pending CN110895834A (zh) | 2018-09-12 | 2019-09-12 | 用于生成至少包括旋转的运动的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11455073B2 (zh) |
EP (1) | EP3623969B1 (zh) |
JP (1) | JP7475120B2 (zh) |
CN (1) | CN110895834A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10957117B2 (en) * | 2018-10-15 | 2021-03-23 | Adobe Inc. | Intuitive editing of three-dimensional models |
US11733853B1 (en) * | 2022-09-28 | 2023-08-22 | Zazzle Inc. | Parametric modelling and grading |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6762778B1 (en) * | 1999-06-10 | 2004-07-13 | Dassault Systemes | Three dimensional graphical manipulator |
US6597382B1 (en) | 1999-06-10 | 2003-07-22 | Dassault Systemes | Knowledge-based polymorph undockable toolbar |
JP2002056406A (ja) | 2000-08-08 | 2002-02-22 | Clim Ncd:Kk | 組立工程支援システム及びそのデータを記録した記録媒体 |
JP2003263648A (ja) | 2002-03-08 | 2003-09-19 | Komatsu Ltd | アニメーション作成プログラム |
AU2003266608A1 (en) | 2003-06-03 | 2005-01-04 | Lattice Technology, Inc. | Process animation automatic generation method and system |
US7324121B2 (en) * | 2003-07-21 | 2008-01-29 | Autodesk, Inc. | Adaptive manipulators |
JP4583893B2 (ja) * | 2004-11-19 | 2010-11-17 | 任天堂株式会社 | ゲームプログラムおよびゲーム装置 |
US8452435B1 (en) * | 2006-05-25 | 2013-05-28 | Adobe Systems Incorporated | Computer system and method for providing exploded views of an assembly |
EP2672456B1 (en) * | 2012-06-07 | 2019-07-24 | Dassault Systèmes | Method and system for dynamically manipulating an assembly of objects in a three-dimensional scene of a system of computer-aided design |
US9075933B2 (en) * | 2012-10-11 | 2015-07-07 | Adobe Systems Incorporated | 3D transformation of objects using 2D controls projected in 3D space and contextual face selections of a three dimensional bounding box |
EP3179451B1 (en) | 2015-12-08 | 2019-05-29 | Dassault Systèmes | A computer-implemented method for drawing a polyline in a three-dimensional scene |
EP3301652A1 (en) * | 2016-09-29 | 2018-04-04 | Dassault Systèmes | Computer-implemented method of generating and displaying an exploded view |
US11120592B2 (en) * | 2018-09-26 | 2021-09-14 | Element Ai Inc. | System and method for oriented bounding box tool defining an orientation of a tilted or rotated object |
-
2018
- 2018-09-12 EP EP18306192.8A patent/EP3623969B1/en active Active
-
2019
- 2019-08-15 US US16/542,048 patent/US11455073B2/en active Active
- 2019-09-12 CN CN201910862252.8A patent/CN110895834A/zh active Pending
- 2019-09-12 JP JP2019166470A patent/JP7475120B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP7475120B2 (ja) | 2024-04-26 |
US11455073B2 (en) | 2022-09-27 |
JP2020077377A (ja) | 2020-05-21 |
EP3623969A1 (en) | 2020-03-18 |
EP3623969B1 (en) | 2023-10-25 |
US20200081604A1 (en) | 2020-03-12 |
EP3623969C0 (en) | 2023-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5861889A (en) | Three dimensional computer graphics tool facilitating movement of displayed object | |
US10839613B2 (en) | Fast manipulation of objects in a three-dimensional scene | |
WO2017152703A1 (zh) | 三维标签实现方法和装置 | |
US10713826B2 (en) | Computer-implemented method for drawing a polyline in a three-dimensional scene | |
CN110895834A (zh) | 用于生成至少包括旋转的运动的方法 | |
US20230410452A1 (en) | Method for inferring a 3d geometry onto a 2d sketch | |
US10769824B2 (en) | Method for defining drawing planes for the design of a 3D object | |
CN106991205B (zh) | 显示数字模型化对象的组件的方法 | |
US11385783B2 (en) | Gesture-based manipulator for rotation | |
JP3522505B2 (ja) | ウィンドウ表示装置 | |
KR20150038055A (ko) | 수치 제어 시스템 및 수치 제어 데이터 생성 방법 | |
EP2779116B1 (en) | Smooth manipulation of three-dimensional objects | |
US10445946B2 (en) | Dynamic workplane 3D rendering environment | |
US11176759B2 (en) | Computer-implemented method of displaying a subset of a digitally modeled assembly of objects | |
US10073600B1 (en) | Selecting large and small entities on a computer display | |
US11600030B2 (en) | Transforming digital design objects utilizing dynamic magnetic guides | |
US20240054600A1 (en) | Modifying parametric continuity of digital image content in piecewise parametric patch deformations | |
CN110060328B (zh) | 用于定义用于3d对象的设计的绘图平面的方法 | |
JP2009003566A (ja) | ウィンドウ表示装置及びウィンドウ表示方法 | |
JP2021051739A (ja) | 3dシーンにおける3dオブジェクトの位置決めを支援するためのコンピュータで実施される方法 | |
JP2005122572A (ja) | 情報処理方法及び画像処理方法 | |
JP2006134251A (ja) | 立体図形配置入力装置 | |
JPH06348813A (ja) | 図形処理装置 |
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 |