图纸中实体的选择方法和装置制造方法

文档序号:6515993阅读:102来源:国知局
图纸中实体的选择方法和装置制造方法
【专利摘要】本发明公开了一种图纸中实体的选择方法和装置。其中,该方法包括:在CAD系统中输入功能指令之后,调用对应该功能指令所挂接的预览程序;选取图纸中的拾取点;以拾取点为中心筛选预定范围内的实体,以获取预选择实体;通过挂接的预览程序处理预选择实体,以预先显示输入指令对预选择实体处理后的结果。通过本发明,能够可以预览控制指令对选择实体进行处理后的效果,避免了用户重复选择图形实体的次数,进而提高了工作效率。
【专利说明】图纸中实体的选择方法和装置
【技术领域】
[0001]本发明涉及图形处理领域,具体而言,涉及一种图纸中实体的选择方法和装置。
【背景技术】
[0002]随着信息技术的不断发展,CAD (Computer Aided Design)图形系统软件已经成为绘图人员或者设计师们不可缺少的制图工具。由于科技水平的提升,存储设备的容量扩大,设计人员经常在一张CAD图纸中绘制很多实体。这样庞大又密集的实体集合,给CAD系统操作人员在选择单个或部分实体时带来了很大的难题。实体的密集性,使得用户选中目标实体的机率降低。这样的问题还尤为突出地体现在移动设备上。因为一般移动设备的屏幕较小,手指的指肚和屏幕相比较大,手指在设备上的CAD图形系统上,选择目标实体更佳不准确,难度会更高。
[0003]一般情况下,可以通过CAD系统中的控制指令来处理CAD图形的实体,控制指令可以包括TRIM命令(修剪实体命令)、offset命令(偏移实体命令)、chamfer命令(实体倒角命令)、Mirror命令(镜像实体命令)和Array命令(阵列实体命令)等,现有的控制指令的处理流程过程包括以下几个步骤:
[0004]首先,在CAD平台上输入控制指令之后,该控制指令对应的命令函数被调用。
[0005]接着,提示用户去选择实体,用户按照需求选取拾取点。
[0006]然后,系统根据拾取点的预定范围进行实体筛选,将筛选出的实体作为已选定实体。
[0007]最后,控制指令对已选择的实体进行相应处理。例如:修剪命令会将实体进行裁剪;删除命令会将实体从图纸中删除掉等等。
[0008]由上分析可知,针对实体的选择技术,现有的CAD图形系统选择方法和装置,都是通过手指离开移动设备屏幕上的点,作为拾取点,再判断该拾取点在哪个实体上,然后将此实体作为最终选择实体。但是这样的选择装置弊端很多,一方面现在的移动设备屏幕很多是电容屏,这样的屏幕在手指抬起时,离开屏幕的点与用户想要的拾取点存在偏差,导致最后得到的实体不能满足用户的预想;另一方面,多数移动设备的屏幕都是触摸屏,使用手指来选择实体时很麻烦,由于手指的指肚占据屏幕区域比较大,它遮挡了用户观察屏幕上的实体,导致查看选择实体困难和无法选择到理想的实体。
[0009]并且在现有的选择实体方法中,没有采用选择过程中预选择实体并将预选择实体的结果显示给用户,导致手指范围较大,不能解决手指选择区多个实体时,无法提示用户将要选择到实体,造成用户误选实体。
[0010]另外,由于在实体选择过程中,用户无法预知到控制指令对预选择实体的最终处理效果,因此,用户只能通过控制指令对已选择的实体进行处理之后,才能知道选择的实体是否满足需要。如果不满足,那证明选择错了,用户还得执行CAD上回退命令,将实体恢复到命令处理之前的状态重新进行选择,造成重复选择次数多,这样无形之中造成很多不必要的工作,导致工作效率下降。[0011]目前针对相关技术的在利用图形系统的控制指令处理图形实体的过程中,由于用户只能在控制指令执行之后才可以获知处理结果,因此如果处理结果不满足需求时,用户需要将图形实体返回到处理前的状态,导致需要重复执行控制指令的处理过程,降低了工作效率的问题,目前尚未提出有效的解决方案。

【发明内容】

[0012]针对相关技术的在利用图形系统的控制指令处理图形实体的过程中,由于用户只能在控制指令执行之后才可以获知处理结果,因此如果处理结果不满足需求时,用户需要将图形实体返回到处理前的状态,导致需要重复执行控制指令的处理过程,降低了工作效率的问题,目前尚未提出有效的解决方案,为此,本发明的主要目的在于提供一种图纸中实体的选择方法和装置,以解决上述问题。
[0013]为了实现上述目的,根据本发明的一个方面,提供了一种图纸中实体的选择方法,该方法包括:在CAD系统中输入功能指令之后,调用对应该功能指令所挂接的预览程序;选取图纸中的拾取点;以拾取点为中心筛选预定范围内的实体,以获取预选择实体;通过挂接的预览程序处理预选择实体,以预先显示输入指令对预选择实体处理后的结果。
[0014]为了实现上述目的,根据本发明的另一方面,提供了一种图纸中实体的选择装置,该装置包括:调用模块,用于在CAD系统中输入功能指令之后,调用对应该功能指令所挂接的预览程序;选取模块,用于选取图纸中的拾取点;筛选模块,用于以拾取点为中心筛选预定范围内的实体,以获取预选择实体;处理模块,用于通过挂接的预览程序处理预选择实体,以预先显示输入指令对预选择实体处理后的结果。
[0015]通过本发明,采用在CAD系统中输入功能指令之后,调用对应该功能指令所挂接的预览程序;选取图纸中的拾取点;以拾取点为中心筛选预定范围内的实体,以获取预选择实体;通过挂接的预览程序处理预选择实体,以预先显示输入指令对预选择实体处理后的结果,解决了相关技术的在利用图形系统的控制指令处理图形实体的过程中,由于用户只能在控制指令执行之后才可以获知处理结果,因此如果处理结果不满足需求时,用户需要将图形实体返回到处理前的状态,导致需要重复执行控制指令的处理过程,降低了工作效率的问题,进而实现可以预览控制指令对选择实体进行处理后的效果,避免了用户重复选择图形实体的次数,进而达到了提高工作效率的效果。
【专利附图】

【附图说明】
[0016]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0017]图1是根据本发明实施例的图纸中实体的选择装置的结构示意图;
[0018]图2是根据本发明实施例的图纸中实体的选择方法的流程图;
[0019]图3是根据本发明实施例的图纸中实体的选择方法的详细流程图;
[0020]图4是如图3所示的实施例的TRIM命令初始界面的功能示意图;
[0021]图5是如图3所示的实施例的TRIM命令操作的功能示意图;以及
[0022]图6是如图5所示的实施例的TRIM命令操作的修剪源实体和拾取点信息的示意图。【具体实施方式】
[0023]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0024]在描述本发明的各实施例的进一步细节之前,将参考图1来描述可用于实现本发明的原理的一个合适的计算体系结构。在以下描述中,除非另外指明,否则将参考由一个或多个计算机执行的动作和操作的符号表示来描述本发明的各实施例。由此,可以理解,有时被称为计算机执行的这类动作和操作包括计算机的处理单元对以结构化形式表示数据的电信号的操纵。这一操纵转换了数据或在计算机的存储器系统中的位置上维护它,这以本领域的技术人员都理解的方式重配置或改变了计算机的操作。维护数据的数据结构是具有数据的格式所定义的特定属性的存储器的物理位置。然而,尽管在上述上下文中描述本发明,但它并不意味着限制性的,如本领域的技术人员所理解的,后文所描述的动作和操作的各方面也可用硬件来实现。
[0025]转向附图,其中相同的参考标号指代相同的元素,本发明的原理被示为在一个合适的计算环境中实现。以下描述基于所述的本发明的实施例,并且不应认为是关于此处未明确描述的替换实施例而限制本发明。
[0026]本申请的原理可以使用其它通用或专用计算或通信环境或配置来操作。适用于本申请的众所周知的计算系统、环境和配置的示例包括但不限于,个人计算机、服务器,多处理器系统、基于微处理的系统、小型机、大型计算机、以及包括任一上述系统或设备的分布式计算环境。
[0027]在其最基本的配置中,图1是根据本发明实施例的图纸中实体的选择装置的结构示意图。如图1所示,该图纸中实体的选择装置可以包括:调用模块10、选取模块30、筛选模块50和处理模块70。
[0028]其中,调用模块10,用于在CAD系统中输入功能指令之后,调用对应该功能指令所挂接的预览程序。
[0029]选取模块30,用于选取图纸中的拾取点。具体的,该选取模块30可以用于在CAD图形系统中选择拾取点。
[0030]筛选模块50,用于以拾取点为中心筛选预定范围内的实体,以获取预选择实体。具体的,该筛选模块50可以筛选以拾取点为中心一定区域范围内的实体作为预选择实体,区域范围可以按照当前显示屏幕的大小来进行调整,例如如果是手机显示屏则可以预定相对较大的区域,而计算机显示屏可以根据实际情况预定相对较小的显示区域。
[0031]处理模块70,用于通过挂接的所述预览程序处理所述预选择实体,以预先显示所述输入指令处理后的所述预选择实体。
[0032]本申请上述实施例中的调用模块10在CAD系统中输入功能指令之后,开始调用挂接在该功能指令上的预览程序,并在选取模块30和筛选模块50实现在图形系统(例如CAD图形系统)中基于选取的拾取点进行筛选处理,以得到预选择实体之后,通过该挂接的预览程序来处理预选择实体,从而预览到CAD功能指令所选择实体的处理后的效果,解决了相关技术的在利用图形系统的控制指令处理图形实体的过程中,由于用户只能在控制指令执行之后才可以获知处理结果,因此如果处理结果不满足需求时,用户需要将图形实体返回到处理前的状态,导致需要重复执行控制指令的处理过程,降低了工作效率的问题,进而实现可以预览控制指令对选择实体进行处理后的效果,避免了用户重复选择图形实体的次数,进而达到了提高工作效率的效果。
[0033]具体的,上述方案可以实现用户不需要通过“控制命令对已选择实体处理”后,才能知道对选择的实体的处理是否满足需要。如果不满足,用户不需要执行CAD系统上的回退命令,将实体恢复到命令处理之前的状态,可以通过预览程序对预选择实体进行处理,把处理后的效果显示到图纸上,这样避免造成很多不必要的工作。从而解决“选择实体过程”中无法预知处理结果的盲点,提高用户选择实体的准确性。在选择的过程中,如果用户预览到处理的效果不满足需求,那么可以移动鼠标或者手指重新选择拾取点,来获取新的预选择实体,解决现有选择错误后,还需要回退的多余操作。
[0034]本申请上述实施例中的处理模块70可以包括:第一获取模块,用于获取预选择实体的实体信息和拾取点的坐标值;子调用模块,用于调用控制指令挂接的预览程序中的回调函数,具体的,该回调函数可以为Preview (Entity*ent,Point pt);传输模块,用于回调函数将实体信息和坐标值作为参数传入给预览处理函数,具体的,可以将实体信息和拾取点坐标值作为参数传入给Preview (Entity*ent, Point pt);预览处理模块,用于预览处理函数对预选择实体进行预览处理,以获取预览处理结果;显示模块,用于将预览处理结果返回给预览程序中的回调函数,并显示预览处理结果,从而实现将函数返回的实体信息,即对预选择实体进行处理后的效果数据,显示到当前图纸中。其中,预览处理结果与挂接预览程序的控制指令处理预选择实体的结果相同。由于上述实施例通过提供一个接口来实现预览程序中的回调函数去调用预览处理函数,从而实现了可以在控制指令处理预选则实体之前,用于先预览一下处理效果。
[0035]优选地,上述理装置还可以包括:第一判断模块,用于判断是否选择预览处理结果,具体的,可以采用判断用户是否输入确定选择指令,以确定选择所述预览处理结果;返回模块,用于如果确定选择预览处理结果,则将预选择实体的实体信息返回给挂接预览程序的控制指令,以使得控制指令来处理预选择实体;恢复模块,用于如果确定不选择预览处理结果,则恢复该预选择实体的至预览程序处理该预选择实体之前的状态,在这个过程中,后台先需要删除预览处理结果,然后保存预览程序处理之前的预选择实体的状态。
[0036]具体的,上述实施例实现了判断用户是否确认选择,如果是,则将实体恢复到函数处理前的状态,然后将预选择实体信息返回给上层命令。如果否,则将显示在当前图纸中的效果数据删除,并将预选择实体原来的数据信息显示到图纸中,然后,再去获取新的预选择实体,重新调用挂接的预览程序对新预选择实体进行处理。
[0037]本申请的上述实施例中,筛选模块50可以包括:第二获取模块、第一计算模块和匹配实体模块。其中,
[0038]第二获取模块,用于获取图纸中所有实体的坐标值,具体的,该第一获取模块提供了一个实体信息获取模块,可以用于获取图纸中所有实体的数据,例如,实体的坐标值。
[0039]第一计算模块,用于按照预定的范围域值计算以拾取点为中心的区域范围,以获取预定范围。
[0040]匹配实体模块,用于将所有实体的坐标值与拾取点的坐标值进行匹配,并与拾取点在预定范围的点的坐标值进行匹配,以筛选得到预选择实体,其中,预选择实体是与拾取点及该拾取点在预定范围内的点的坐标值部分相同或者完全相同的实体集合。具体的,该模块实现了根据所有实体的坐标数据与预定范围内的实体的坐标数据进行匹配,以确定预选择实体,预定范围是以当前拾取点的坐标值及区域范围内的坐标值来划定,由于预定范围不一定可以涵盖实体的全部,因此,预选择实体的范围可能与预定范围相同,也可能与预定范围有较多的重合部分,由此可知,构成该预选择实体的所有实体点的坐标可以全部落在预定范围内,也可以部分落在该预定范围内,显然,此处部分相同的实体坐标值是一个范围值,例如,在移动设备上部分相同的范围可以是大于等于I个像素点,优选可以是10个像素点,在PC机部分相同的范围也可以是大于等于I个像素点,优选可以是5个像素点。
[0041]其中,如果在拾取点区域范围内没有匹配到实体,表示本次未选择到实体,那么将返回空值给后面的处理模块。
[0042]本申请的上述各个实施例中,装置还可以包括放大区预览模块,该模块可以包括:第三获取模块、第二计算模块、创建模块和放大显示模块。其中,
[0043]第三获取模块,用于获取预设的放大倍数。
[0044]第二计算模块,用于根据预设的放大倍数和显示屏的像素进行计算,以得到放大显示区域的尺寸。具体的,该模块实现了计算放大尺寸的功能,可以根据屏幕的大小和放大倍数计算出放大区域的尺寸,例如,放大区域的尺寸可以等于屏幕的尺寸乘以一个比例系数t (变量t可以是用户设定的值,但该值不能大于1,用以保证显示区域大小总小于屏幕大小),放大区域内部显示的内容大小等于拾取点所在像素乘以预设的放大倍数。
[0045]创建模块,用于在显示屏的预定位置创建放大显示区域,具体的,该模块提供了一个创建放大区的功能,即根据拾取点和屏幕大小在手指遮挡不到的合适位置上,创建显示放大区。
[0046]放大显示模块,用于在放大显示区域显示预选择实体,或显示通过挂接的所述预览程序处理后的预选择实体。具体的,该模块实现了预览放显示处理后的结果,用于预览被选实体在命令处理过后的效果。
[0047]具体的,上述实施例可以应用于放大显示当手指的指肚遮挡了选择实体的区域,即提供了一个在放大区预览预选择实体的功能,用于在屏幕的适当位置生成一个放大区域,在此放大区域中放大显示手指的指肚遮挡的区域,并显示挂接的预览程序对预选择实体处理后的效果,如果用户没有挂接预览程序,那么结果预览模块中只有放大显示预选择实体的功能起作用。
[0048]优选地,本申请上述实施例还可以包括一个预设模块,用于选择实体前挂接预览程序并设定范围域值和放大倍数。具体的,该预设模块中设置的放大倍数,为了能达到放大的效果,放大倍数至少在原实体一倍以上。
[0049]优选地,本申请上述装置中还可以包括:突出显示模块,用于按照预定的突出显示方式显示预选择实体,其中,突出显示方式包括:设置预选择实体的线条显示属性。例如,可以将预选择实体的线性变成虚线,也可以将预选择实体的线宽加粗,还可以将预选择实体的颜色改变等等方式。
[0050]该突出显示模块可以包括:读取模块,用于读取预选择实体的实体信息;
[0051]突出处理模块70,用于按照预设的显示属性更新预选择实体的实体信息,以获取突出显示的预选择实体。具体的,可以按照预定的突出显示方式处理预选择实体,并显示处理后的预选择实体。
[0052]本申请上述实施例通过选取模块30和筛选模块50实现在图形系统(例如CAD图形系统)中基于选取的拾取点进行筛选处理,即基于拾取点确定一个实体的范围,并通过突出显示模块将这个预定范围内的实体作为一个被选择的对象显示给用户,且用区别于其它实体部分的特殊的突出显示方式来显示该预选择实体,用户可以准确的确认自己选择的实体,且不需要做出其它多余的操作,从而解决了相关技术的在图形系统中,用户无法准确且简单的获取实体的问题,进而实现提高图形系统中选择目标实体的准确度的效果。
[0053]具体的,上述实施例可以应用在CAD图形系统中进行复杂错乱的多实体选择场景中,特别是在移动平台(如智能手机,平板电脑)设备上面实体的选择装置,例如可以克服在CAD系统上选择实体操作时手指抬起后,拾取点偏差,导致没有选择到预期实体的不足。
[0054]优选地,上述实施例中的选取模块30可以包括:提示模块,用于显示文字,以提示用户选择实体;拾取点获取模块,用于获取用户在移动设备上拾取点的坐标值。其中,该拾取点不是固定点,用户可在显示设备上CAD图形系统中随处选取。并且支持手指滑动的方式拾取,本发明将获取最后的滑动点作为拾取点。
[0055]本申请的上述实施例中,装置还可以包括:第二判断模块,用于判断当前拾取点与上一次拾取点是否相同;确定模块,用于在相同的情况下,返回确定是否结束获取拾取点的操作,其中,在没有结束获取拾取点的情况下,如果上一次拾取点处于所述预定范围内,获取上一次拾取点,否则,取消显示当前拾取点所对应的预选择实体,和/或取消在放大显示区域显示预选择实体;在不相同的情况下,执行处理模块70,以通过挂接的预览程序处理当前的拾取点所对应的预选择实体,具体的,可以清除上一次拾取点所对应的预选择实体,以显示当前拾取点所对应的预选择实体。
[0056]优选地,可以在没有结束获取拾取点,且如果上一次预选择实体处于预定范围内的情况下,获取所述上一次预选择实体。
[0057]具体的,上述实施例实现了,判断此次拾取点是否与上一次拾取点相同,如果是,则调用确定模块,该确定模块用于确定结束选择操作,返回预选择实体作为最终结果;如果不是,则需要调用恢复原状态模块,该恢复原状态模块,用于将上一次的预选择实体的预览效果清除,并恢复到它之前的状态,即如果不选择当前原来程序对预选择实体的处理结果,则在用户手指离开显示界面上的预选择实体之后,系统删除当前预览程序处理预选择实体的效果,回复到处理前的状态,目的是为了突出显示本次预选择实体。
[0058]其中,确定模块可以包括如下业务功能模块:判断操作模块,用于判断用户是否结束选择操作,如果用户结束选择操作,则调用清除预览模块进行清理操作,例如取消图纸上预选择实体被预览的效果或突出显示效果,以及清除放大区域中预选择实体的结果预览;然后再调用返回结果模块,用于返回最后一次筛选模块50得到的预选择实体;如果没有结束操作,则跳转到选取模块30进行拾取点的选取。
[0059]由上可知,本申请所提供的方案通过突出显示方式来显示该预选择实体,用户可以准确的确认自己选择的实体,同时提供挂接用户预览程序接口,可以在放大区中预览到命令对预选择实体操作后的效果,来提高用户对实体选择的准确性。
[0060]由于本发明通过在屏幕上创建放大区域,放大显示用户手指触屏点周围区域内容,从而解决手指的指肚遮挡屏幕上实体,无法选择目标实体的问题。[0061]另外,本发明在选择实体过程中,就可以进行实体预选择,同时将预选择的结果表现在屏幕上。可以让用户在选择实体过程中,知道选择完成后将是哪个实体被选择及将被处理后的效果。
[0062]具体的,本发明涉及用于在CAD图形系统中实体选择,特别是在移动平台(如智能手机,平板电脑)设备上面实体的选择装置。发明的应用领域主要在CAD系统中复杂错乱的多实体选择场景等等方面。
[0063]图2是根据本发明实施例的图纸中实体的选择方法的流程图;图3是根据本发明实施例的图纸中实体的选择方法的详细流程图。
[0064]如图2所示,该方法包括如下步骤:
[0065]步骤A,通过图1中的调用函数在CAD系统中输入功能指令之后,调用对应该功能指令所挂接的预览程序。
[0066]步骤B,通过图1中的选取模块30来选取图纸中的拾取点。具体的,该步骤实现了可以用于在CAD图形系统中选择拾取点。
[0067]步骤C,通过图1中的筛选模块50来实现以拾取点为中心筛选预定范围内的实体,以获取预选择实体。具体的,该步骤实现了可以筛选以拾取点为中心一定区域范围内的实体作为预选择实体,区域范围可以按照当前显示屏幕的大小来进行调整,例如如果是手机显示屏则可以预定相对较大的区域,而计算机显示屏可以根据实际情况预定相对较小的显示区域。
[0068]步骤D,通过图1中的突出显示模块来实现通过挂接的所述预览程序处理所述预选择实体,以预先显示所述输入指令处理后的所述预选择实体。具体的,该步骤实现了提供了一个预览当前预选择实体的功能,用于在图纸上,显示预览预选择的实体,用以给用户提供预览当前控制指令处理预选择实体后的效果。
[0069]本申请上述实施例中的在CAD系统中输入功能指令之后,开始调用挂接在该功能指令上的预览程序,并在实现在图形系统(例如CAD图形系统)中基于选取的拾取点进行筛选处理,以得到预选择实体之后,通过该挂接的预览程序来处理预选择实体,从而预览到CAD功能指令所选择实体的处理后的效果,解决了相关技术的在利用图形系统的控制指令处理图形实体的过程中,由于用户只能在控制指令执行之后才可以获知处理结果,因此如果处理结果不满足需求时,用户需要将图形实体返回到处理前的状态,导致需要重复执行控制指令的处理过程,降低了工作效率的问题,进而实现可以预览控制指令对选择实体进行处理后的效果,避免了用户重复选择图形实体的次数,进而达到了提高工作效率的效果。
[0070]具体的,上述方案可以实现用户不需要通过“控制命令对已选择实体处理”后,才能知道对选择的实体的处理是否满足需要。如果不满足,用户不需要执行CAD系统上的回退命令,将实体恢复到命令处理之前的状态,可以通过预览程序对预选择实体进行处理,把处理后的效果显示到图纸上,这样避免造成很多不必要的工作。从而解决“选择实体过程”中无法预知处理结果的盲点,提高用户选择实体的准确性。在选择的过程中,如果用户预览到处理的效果不满足需求,那么可以移动鼠标或者手指重新选择拾取点,来获取新的预选择实体,解决现有选择错误后,还需要回退的多余操作。
[0071]本申请上述实施例中的步骤D,通过挂接的预览程序处理预选择实体,以预先显示输入指令对预选择实体处理后的结果的步骤可以包括如下步骤:[0072]步骤DI,提示用户选择实体,用户确定拾取点之后,系统可以获取预选择实体的实体信息和拾取点的坐标值。
[0073]步骤D2,调用控制指令挂接的预览程序中的回调函数。,具体的,该回调函数可以为 Preview (Entity*ent, Point pt)
[0074]步骤D3,回调函数将实体信息和坐标值作为参数传入给预览处理函数,具体的,可以将实体信息和拾取点坐标值作为参数传入给Preview (Entity*ent, Point pt)。
[0075]步骤D4,预览处理函数对预选择实体进行预览处理,以获取预览处理结果;
[0076]步骤D5,将预览处理结果返回给预览程序中的回调函数,并显示预览处理结果,从而实现将函数返回的实体信息,即对预选择实体进行处理后的效果数据,显示到当前图纸中。
[0077]其中,预览处理结果与挂接预览程序的控制指令处理预选择实体的结果相同。在上述过程中,在预览程序处理预选择实体之前,如果存在上一次对实体的预览效果,要先清除上一次的预览结果。
[0078]由于上述实施例通过提供一个接口来实现预览程序中的回调函数去调用预览处理函数,从而实现了可以在控制指令处理预选则实体之前,用于先预览一下处理效果。
[0079]优选地,在上述步骤D5中显示预览处理结果之后,还可以包括如下步骤:
[0080]步骤D6,判断是否选择预览处理结果,如果确定选择预览处理结果,则进入步骤D7,而如果确定不选择预览处理结果,则进入步骤D8。具体的,可以采用判断用户是否输入确定选择指令,以确定选择所述预览处理结果。
[0081]步骤D7,此时,可以将预选择实体的实体信息返回给挂接预览程序的控制指令,以使得控制指令来处理预选择实体。具体的,此时会将预选择实体作为已经选择的实体返回给对应的控制指令,控制指令对已选择的实体进行相应的处理。
[0082]步骤D8,恢复该预选择实体的至预览程序处理该预选择实体之前的状态。在这个过程中,后台先需要删除预览处理结果,然后保存预览程序处理之前的预选择实体的状态。
[0083]具体的,上述实施例实现了判断用户是否确认选择,如果是,则将实体恢复到函数处理前的状态,然后将预选择实体信息返回给上层命令。如果否,则将显示在当前图纸中的效果数据删除,并将预选择实体原来的数据信息显示到图纸中,然后,再去获取新的预选择实体,重新调用挂接的预览程序对新预选择实体进行处理。
[0084]本申请上述实施例中,步骤B,以拾取点为中心筛选预定范围内的实体,以获取预选择实体的步骤可以包括如下步骤:
[0085]步骤BI,获取图纸中所有实体的坐标值,具体的,该步骤提供了一个实体信息获取模块,可以用于获取图纸中所有实体的数据,例如,实体的坐标值。
[0086]步骤B2,按照预定的范围域值计算以拾取点为中心的区域范围,以获取预定范围。
[0087]步骤B3,将所有实体的坐标值与拾取点的坐标值进行匹配,并与拾取点在预定范围的点的坐标值进行匹配,以筛选得到预选择实体,其中,预选择实体是与拾取点及该拾取点在预定范围内的点的坐标值部分相同或者完全相同的实体集合。具体的,该步骤实现了根据所有实体数据和当前拾取点的坐标值,以及域值数据匹配在拾取点区域范围内的实体,作为预选择实体,由于预定范围不一定可以涵盖实体的全部,因此,预选择实体的范围可能与预定范围相同,也可能与预定范围有较多的重合部分,由此可知,构成该预选择实体的所有实体点的坐标可以全部落在预定范围内,也可以部分落在该预定范围内,显然,此处部分相同的实体坐标值可以是一个范围值,例如,在移动设备上部分相同的范围可以是大于等于I个像素点,优选可以是10个像素点,在PC机部分相同的范围也可以是大于等于I个像素点,优选可以是5个像素点。而且,如果在拾取点区域范围内没有匹配到实体,表示本次未选择到实体,那么将返回空值给后面处理模块。
[0088]本申请上述实施例中,在以拾取点为中心筛选预定范围内的实体,以获取预选择实体之后,还可以包括如下步骤:获取预设的放大倍数;根据预设的放大倍数和显示屏的像素进行计算,以得到放大显示区域的尺寸,具体的,可以根据屏幕的大小和放大倍数计算出放大区域的尺寸;在显示屏的预定位置创建放大显示区域,即根据拾取点和屏幕大小在手指遮挡不到的合适位置上,创建显示放大区;在放大显示区域显示预选择实体,和/或显示突出显示方式处理后的预选择实体。具体的,放大区域的尺寸可以等于屏幕的尺寸乘以一个比例系数t(变量t可以是用户设定的值,但该值不能大于1,用以保证显示区域大小总小于屏幕大小),放大区域内部显示的内容大小等于拾取点所在像素乘以预设的放大倍数。
[0089]具体的,上述实施例可以应用于放大显示当手指的指肚遮挡了选择实体的区域,即提供了一个在放大区预览预选择实体的功能,用于在屏幕的适当位置生成一个放大区域,在此放大区域中放大显示手指的指肚遮挡的区域,并显示挂接的预览程序对预选择实体处理后的效果,如果用户没有挂接预览程序,那么结果预览模块中只有放大显示预选择实体的功能起作用。
[0090]优选地,如图3所示,在选取图纸中的拾取点之前,可以挂接预览程序并设定范围域值和放大倍数。具体的,该预设模块中设置的放大倍数,为了能达到放大的效果,放大倍数至少在原实体一倍以上。
[0091]本申请上述实施例中的步骤C,在以拾取点为中心筛选预定范围内的实体,以获取预选择实体之后,还可以包括如下步骤:按照预定的突出显示方式显示预选择实体,其中,突出显示方式包括:设置预选择实体的显示属性,该步骤的具体流程如下:
[0092]首先,读取预选择实体的实体信息。
[0093]然后,按照预设的显示属性更新预选择实体的实体信息,以获取突出显示的预选择实体。具体的,可以按照预定的突出显示方式处理预选择实体,并显示处理后的预选择实体。
[0094]本申请上述实施例通过在图形系统(例如CAD图形系统)中基于选取的拾取点进行筛选处理,即基于拾取点确定一个实体的范围,将这个预定范围内的实体作为一个被选择的对象显示给用户,且用区别于其它实体部分的特殊的突出显示方式来显示该预选择实体,用户可以准确的确认自己选择的实体,且不需要做出其它多余的操作,从而解决了相关技术的在图形系统中,用户无法准确且简单的获取实体的问题,进而实现提高图形系统中选择目标实体的准确度的效果。
[0095]具体的,上述实施例可以应用在CAD图形系统中进行复杂错乱的多实体选择场景中,特别是在移动平台(如智能手机,平板电脑)设备上面实体的选择装置,例如可以克服在CAD系统上选择实体操作时手指抬起后,拾取点偏差,导致没有选择到预期实体的不足。由此可知,利用本发明可以克服在CAD系统上选择实体操作时手指抬起后,拾取点偏差,导致没有选择到预期实体的不足。进一步可以解决手指遮挡实体,导致无法预览选择实体的问题,从而提高了 CAD系统上选择实体的准确度,且在选取实体过程中就能预览到命令对选择实体处理的结果。
[0096]优选地,上述实施例中的步骤A选取图纸中的拾取点的步骤可以包括:显示文字,以提示用户选择实体;获取用户在移动设备上拾取点的坐标值。其中,该拾取点不是固定点,用户可在显示设备上CAD图形系统中随处选取。并且支持手指滑动的方式拾取,本发明将获取最后的滑动点作为拾取点。
[0097]本申请上述实施例中,在以拾取点为中心筛选预定范围内的实体,以获取预选择实体之后,还可以包括如下步骤:判断当前拾取点与上一次拾取点是否相同,其中,在相同的情况下,返回确定是否结束获取拾取点的操作,其中,在没有结束获取拾取点的情况下,获取上一次拾取点,否则,取消显示当前拾取点所对应的预选择实体,和/或取消在放大显示区域显示预选择实体;在不相同的情况下,执行通过挂接的预览程序处理当前的拾取点所对应的预选择实体的步骤,具体的,可以清除上一次预选择实体,以显示当前预选择实体。优选地,可以在没有结束获取拾取点,且如果上一次拾取点处于预定范围内的情况下,获取所述上一次拾取点。
[0098]上述实施例实现了,判断此次预选择实体是否与上一次预选择实体相同,如果是,则确定结束选择操作并返回预选择实体作为最终结果,即确定结束选择操作,并返回预选择实体作为最终结果;如果不是,则需要调用恢复原状态模块,该恢复原状态模块,用于将上一次的预选择实体的预览效果清除,并恢复到它之前的状态,即如果不选择当前预览程序对预选择实体的处理结果,则在用户手指离开显示界面上的预选择实体之后,系统删除当前预览程序处理预选择实体的效果,恢复到处理前的状态,目的是为了预览显示本次预选择实体。
[0099]优选地,还需要于判断用户是否结束选择操作,如果用户结束选择操作,则调用清除预览模块进行清理操作,例如取消图纸上预选择实体被预览的效果或突出显示效果,以及清除放大区域中预选择实体的结果预览;然后再调用返回结果模块,用于返回最后一次筛选得到的预选择实体;如果没有结束操作,则跳转到进行拾取点的选取。
[0100]由上可知,本申请所提供的方案通过突出显示方式来显示该预选择实体,用户可以准确的确认自己选择的实体,同时提供挂接用户预览程序接口,可以在放大区中预览到命令对预选择实体操作后的效果,来提高用户对实体选择的准确性。
[0101]本申请上述图纸中实体的选择方法和装置的实施例,可以实现在CAD图形系统的应用环境中,如图3所示,下面就基于CAD图形系统中TRM命令为例,结合TRM命令调用本详细描述本发明的一个实施例流程,并对每个步骤加以详细介绍。
[0102]图3是根据本发明实施例的图纸中实体的选择方法的详细流程图;图4是如图3所示的实施例的TRIM命令初始界面的功能示意图;图5是如图3所示的实施例的TRIM命令操作的功能示意图;图6是如图5所示的实施例的TRIM命令操作的修剪源实体和拾取点信息的示意图。
[0103]如图3所示,其中TRM命令为CAD图形系统中,用于修剪实体对象以与其他实体对象的边相接的操作方法。TRIM命令操作方式是先选择要修剪的实体作为修剪源,然后再选择修剪边。
[0104]如图4所示,在移动设备的CAD图形系统中存在一些复杂的图元实体。用户已经选择了图4中SlOl区域内的两条直线实体,作为TRIM命令的修剪源,修剪源是用于在CAD图形系统中执行TRIM修剪命令所操作的目标实体,选择实体作为修剪边。具体步骤如图4所示,包括如下步骤:
[0105]步骤I)选择实体前挂接命令预览程序并设定范围域值和放大倍数。
[0106]步骤2)提示用户选择实体,用于TRM命令的修剪操作。具体的,Trim命令调用用户选择的实体作为修剪实体。
[0107]步骤3)如图5所示,选取拾取点S102,并获取用户在屏幕上拾取点S102的坐标值和图纸中所有实体信息。
[0108]具体的,如图6所示,该拾取点S102可以是拾取点Pt,该拾取点S102标识的是执行TRIM命令时用户去选择实体的操作点或选择点,由于SlOl标识的是即将被执行TRIM命令所需要的实体,因此,S102可以是SlOl标识的实体上的一个点。
[0109]步骤4)计算拾取点S102区域范围,如图5中S105所示。根据预设的范围域值来确定拾取点S102对应的区域范围S105。
[0110]步骤5)筛选范围S105内的实体。如图5中的S103实体在区域范围内,那么将此实体作为本次预选择实体。如果范围S105内没有筛选到实体,那么将返回空值。具体的,如图6所示,筛选拾取点pt预选范围内的实体作为预选择实体ent。
[0111]步骤6)判断本次预选择实体是否与上一次预选择实体相同。如果是,则进入步骤10);如果否,则进入下一步骤7)。
[0112]步骤7)清除上一次预选择实体的预览显示效果,为了显示本次预览结果。
[0113]步骤8)在图纸上显示预览程序处理该预选择实体后的预览结果,并突出显示预选择实体S103,如图5所示,这里采用加粗线宽的突出显示方式。但不限于图5所示的加粗线宽,还可以采用将线条设为虚线,变换颜色等方式。
[0114]步骤9)生成一个放大区显示手指的指肚遮挡的区域,并显示控制指令所挂接的预览程序对此预选择实体处理后的效果。其中,显示控制指令所挂接的预览程序对此预选择实体处理后的效果的步骤具体可以包括如下步骤:
[0115]首先,调用trim命令的回调函数Preview(Entity*ent, Point pt),将获取的预选择实体的实体信息ent和拾取点坐标Pt传入给预览处理函数。
[0116]然后,在trim命令挂接的函数Preview内部,根据pt坐标值判断该预选择实体将要被修剪掉的线段。
[0117]接着,如图6所示,该预览处理函数将需要修剪线段的端点Pts的坐标值修改与此预选择实体相关的另一个修剪源实体的交点PtIns的坐标值,得到预览处理结果。
[0118]此时,将修改后的实体信息ent作为回调函数的结果返回,即将预览处理结果返回。
[0119]最后,将函数返回的实体信息,即对预选择实体进行预览程序处理后得到的预览处理结果的数据ent,显示到当前图纸中。
[0120]根据放大倍数和屏幕像素计算出,用于放大显示区域的大小尺寸,在屏幕的适当位置显示此放大区,并在放大区中显示保存的实体。如果用户在步骤I)中挂接了命令预览程序,那么调用程序对此实体进行处理,然后获取处理结果在放大区中显示,如上图中S104所示。[0121]步骤10)判断是否结束选择。如果是,则进入下一步骤11);如果否,则清除预览显示的效果,再转回到步骤3 )重新获取拾取点。
[0122]步骤11)返回最后一次筛选出的预选择实体给上层TRIM命令,结束本次选择操作。
[0123]此处需要明了的是,本申请的图纸中实体的选择方法和装置的实施例可以应用于CAD图纸中TRM命令的操作,还可以应用在CAD图纸中的其他操作,例如:
[0124]a、可以用在offset命令(偏移实体命令)上,在输入命令后提示用户选择实体,然后调用本申请上述实施例所提供的方案在CAD系统上进行选择实体,最后将预览结果、突出显示和/或放大显示的实体给上层offset命令。
[0125]b.可以用在chamfer命令(实体倒角命令)上,在输入命令后提示用户选择复制实体,然后调用本申请上述实施例所提供的方案来选择实体进行复制操作,最后将预览结果、突出显示和/或放大显示的实体给上层chamfer命令。
[0126]c.可以用在Mirror命令(镜像实体命令)上,执行命令后提示用户选择镜像实体,然后调用本申请上述实施例所提供的方案来选择镜像实体,最后将预览结果、突出显示和/或放大显示的实体给上层Mirror命令。
[0127]d.可以用在Array命令(阵列实体命令)上,执行命令后提示用户选择实体进行阵列,然后调用本申请上述实施例所提供的方案来选择实体,最后将预览结果、突出显示和/或放大显示的实体给上层Array命令。
[0128]从以上描述中,可以看出,本发明上述的实施例中实现了如下技术效果:本发明通过在选择实体过程中,突显拾取点所在范围内的实体,以及在放大区域中调用挂接的命令预览程序,对实体处理预览效果,提高用户对实体选择的准确性。解决用户多次选择和选择不准确的问题。
[0129]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0130]本发明的原理可以使用其它通用或专用计算或通信环境或配置来操作。适用于本发明的众所周知的计算系统、环境和配置的示例包括但不限于,个人计算机、服务器,多处理器系统、基于微处理的系统、小型机、大型计算机、以及包括任一上述系统或设备的分布式计算环境。
[0131]如本发明所使用的,术语“模块”、“组件”或“单元”可以指在配置信息的更新系统200上执行的软件对象或例程。此处所描述的不同组件、模块、单元、引擎和服务可被实现为在标志位的访问系统200上执行(例如,作为单独的线程)的对象或进程。尽管此处所描述的系统和方法较佳地以软件来实现,但是硬件或软件和硬件的组合的实现也是可能并被构
相的
心、U J O
[0132]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0133]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0134] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种图纸中实体的选择方法,其特征在于,包括: 在CAD系统中输入功能指令之后,调用对应该功能指令所挂接的预览程序; 选取图纸中的拾取点; 以所述拾取点为中心筛选预定范围内的实体,以获取预选择实体; 通过挂接的所述预览程序处理所述预选择实体,以预先显示所述输入指令对所述预选择实体处理后的结果。
2.根据权利要求1所述的方法,其特征在于,通过挂接的所述预览程序处理所述预选择实体,以预先显示所述输入指令对所述预选择实体处理后的结果的步骤包括: 获取所述预选择实体的实体信息和所述拾取点的坐标值; 调用所述控制指令挂接的所述预览程序中的回调函数; 所述回调函数将所述实体信息和所述坐标值作为参数传入给预览处理函数; 所述预览处理函数对所述预选择实体进行预览处理,以获取预览处理结果; 将所述预览处理结果返回给所述预览程序中的回调函数,并显示所述预览处理结果;其中,所述预览处理结果与挂接所述预览程序的控制指令处理所述预选择实体的结果相同。
3.根据权利要求2所述的方法,其特征在于,在显示所述预览处理结果之后,所述方法还包括: 判断是否选择所述预览处理结果; 如果确定选择所述预览处理结果,则将所述预选择实体的实体信息返回给挂接所述预览程序的控制指令,以使得所述控制指令来处理所述预选择实体; 如果确定不选择所述预览处理结果,则恢复所述预选择实体的至所述预览程序处理所述预选择实体之前的状态。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,以所述拾取点为中心筛选预定范围内的实体,以获取预选择实体的步骤包括: 获取所述图纸中所有实体的坐标值; 按照预定的范围域值计算以所述拾取点为中心的区域范围,以获取所述预定范围; 将所述所有实体的坐标值与所述拾取点的坐标值进行匹配,并与所述预定范围的点的坐标值进行匹配,以筛选得到所述预选择实体,其中,所述预选择实体是与所述拾取点及该拾取点在预定范围内的点的坐标值部分相同或者完全相同的实体集合。
5.根据权利要求4所述的方法,其特征在于,在通过挂接的所述预览程序处理所述预选择实体之后,所述方法还包括: 获取预设的放大倍数; 根据所述预设的放大倍数和显示屏的像素进行计算,以得到放大显示区域的尺寸; 在所述显示屏的预定位置创建所述放大显示区域; 在所述放大显示区域显示所述预选择实体,或显示通过挂接的所述预览程序处理后的预选择实体。
6.根据权利要求5所述的方法,其特征在于,在以所述拾取点为中心筛选预定范围内的实体,以获取预选择实体之后,所述方法还包括:按照预定的突出显示方式显示所述预选择实体,其中,所述突出显示方式包括:设置所述预选择实体的显示属性,该步骤包括:读取预选择实体的实体信息; 按照预设的显示属性更新所述预选择实体的实体信息,以获取突出显示的所述预选择实体。
7.根据权利要求6所述的方法,其特征在于,在按照预定的突出显示方式显示所述预选择实体之前,所述方法还包括: 判断当前拾取点与上一次拾取点是否相同,其中, 在相同的情况下,返回确定是否结束获取所述拾取点的操作,其中,在没有结束获取所述拾取点的情况下,如果上一次拾取点处于所述预定范围内,则获取所述上一次拾取点,否贝U,取消显示所述当前拾取点所对应的预选择实体; 在不相同的情况下,进入通过挂接的所述预览程序处理所述当前拾取点所对应的预选择实体的步骤。
8.—种图纸中实体的选择装置,其特征在于,包括: 调用模块,用于在CAD系统中输入功能指令之后,调用对应该功能指令所挂接的预览程序; 选取模块,用于选取图纸中的拾取点; 筛选模块,用于以所述拾取点为中心筛选预定范围内的实体,以获取预选择实体; 处理模块,用于通过挂接的所述预览程序处理所述预选择实体,以预先显示所述输入指令对所述预选择实体处理后的结果。
9.根据权利要求8所述的装置,其特征在于,所述处理模块包括: 第一获取模块,用于获取所述预选择实体的实体信息和所述拾取点的坐标值; 子调用模块,用于调用所述控制指令挂接的所述预览程序中的回调函数; 传输模块,用于所述回调函数将所述实体信息和所述坐标值作为参数传入给预览处理函数; 预览处理模块,用于所述预览处理函数对所述预选择实体进行预览处理,以获取预览处理结果; 显示模块,用于将所述预览处理结果返回给所述预览程序中的回调函数,并显示所述预览处理结果; 其中,所述预览处理结果与挂接所述预览程序的控制指令处理所述预选择实体的结果相同。
10.根据权利要求9所述的装置,其特征在于,所述处理装置还包括: 第一判断模块,用于判断是否选择所述预览处理结果; 返回模块,用于如果确定选择所述预览处理结果,则将所述预选择实体的实体信息返回给挂接所述预览程序的控制指令,以使得所述控制指令来处理所述预选择实体; 恢复模块,用于如果确定不选择所述预览处理结果,则恢复所述预选择实体的至所述预览程序处理所述预选择实体之前的状态。
11.根据权利要求8至10中任意一项所述的装置,其特征在于,所述筛选模块包括: 第二获取模块,用于获取所述图纸中所有实体的坐标值; 第一计算模块,用于按照预定的范围域值计算以所述拾取点为中心的区域范围,以获取所述预定范围;匹配实体模块,用于将所述所有实体的坐标值与所述拾取点的坐标值进行匹配,并与所述预定范围的点的坐标值进行匹配,以筛选得到所述预选择实体,其中,所述预选择实体是与所述拾取点及该拾取点在预定范围内的点的坐标值部分相同或者完全相同的实体集口 O
12.根据权利要求11所述的装置,其特征在于,所述装置还包括: 第三获取模块,用于获取预设的放大倍数; 第二计算模块,用于根据所述预设的放大倍数和显示屏的像素进行计算,以得到放大显示区域的尺寸; 创建模块,用于在所述显示屏的预定位置创建所述放大显示区域; 放大显示模块,用于在所述放大显示区域显示所述预选择实体,或显示通过挂接的所述预览程序处理后的预选择实体。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:突出显示模块,用于按照预定的突出显示方式显示所述预选择实体,其中,所述突出显示方式包括:设置所述预选择实体的线条显示属性,所述突出显示模块包括: 读取模块,用于读取预选择实体的实体信息; 突出处理模块,用于按照预设的显示属性更新所述预选择实体的实体信息,以获取突出显示的所述预选择实体。
14.根据权利要求13所 述的装置,其特征在于,所述装置还包括: 第二判断模块,用于判断当前拾取点与上一次拾取点是否相同; 确定模块,用于在相同的情况下,返回确定是否结束获取所述拾取点的操作,其中,在没有结束获取所述拾取点的情况下,如果上一次拾取点处于所述预定范围内,则获取所述上一次拾取点,否则,取消获取所述当前拾取点;在不相同的情况下,执行所述处理模块,以通过挂接的所述预览程序处理所述当前拾取点所对应的预选择实体。
【文档编号】G06F3/0481GK103530021SQ201310495518
【公开日】2014年1月22日 申请日期:2013年10月18日 优先权日:2013年10月18日
【发明者】汪光胜, 官松彬, 李长春, 梁江, 陆翔 申请人:苏州浩辰软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1