CN116521043B - 一种图纸快速响应的方法、系统及计算机程序产品 - Google Patents
一种图纸快速响应的方法、系统及计算机程序产品 Download PDFInfo
- Publication number
- CN116521043B CN116521043B CN202211061194.7A CN202211061194A CN116521043B CN 116521043 B CN116521043 B CN 116521043B CN 202211061194 A CN202211061194 A CN 202211061194A CN 116521043 B CN116521043 B CN 116521043B
- Authority
- CN
- China
- Prior art keywords
- data
- display
- graphic file
- graphic
- display state
- 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
- 238000000034 method Methods 0.000 title claims abstract description 97
- 230000004044 response Effects 0.000 title claims abstract description 35
- 238000004590 computer program Methods 0.000 title abstract description 19
- 230000002452 interceptive effect Effects 0.000 claims abstract description 66
- 230000008569 process Effects 0.000 claims abstract description 53
- 230000003993 interaction Effects 0.000 claims abstract description 26
- 230000008859 change Effects 0.000 claims description 23
- 241000592183 Eidolon Species 0.000 claims description 19
- 230000000694 effects Effects 0.000 claims description 14
- 238000009877 rendering Methods 0.000 claims description 9
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 238000011960 computer-aided design Methods 0.000 description 28
- 241000699666 Mus <mouse, genus> Species 0.000 description 13
- 230000015654 memory Effects 0.000 description 9
- 230000000903 blocking effect Effects 0.000 description 8
- 238000013519 translation Methods 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004091 panning Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
Classifications
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Databases & Information Systems (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种图纸快速响应方法、系统及计算机程序产品,该方法包括:在显示器中显示图形文件;识别用户对图形文件做出的交互操作,以确定图形文件的显示状态,且显示状态包括:分别用于显示图形文件在交互操作下的变化过程、变化结果的第一、二显示状态;对图形文件的第一数据、显示器中用于显示图形文件的底图的第二数据进行读取;基于第一、二数据以及显示状态,对图形文件进行显示;在第一显示状态下,图形文件显示包括步骤:对第一、二数据进行读取以分别用于图形绘制,以得到显示图形,所用第一、二数据为最近完成更新的数据;并通过显示图形以实现图形文件的显示。本方法可以有效提高图纸在交互过程中的响应速度。
Description
技术领域
本发明涉及计算机图形显示领域,具体地涉及一种图纸快速响应的方法、系统及计算机程序产品。
背景技术
近年来,随着建筑业、制造业以及其它涉及到制图软件使用的行业的不断发展,使用各类型制图软件尤其是CAD(计算机辅助设计,Computer Aided Design)软件绘制的图纸信息量较以前更大、图形更加复杂,在这种场景下,对CAD软件操作的流畅性提出了更高的挑战。一般来说,用户希望无论图纸信息量有多大,图纸里的图形有多复杂,使用CAD软件打开图纸后,在用户操作的过程中(比如:平移、缩放、旋转、复制、粘贴、绘制、编辑图元等操作),CAD软件的显示不应该存在明显的卡顿现象。但是,由于图纸的数据量过大、运行CAD软件的硬件设备的性能不足等多种原因,使得用户在对图纸进行操作时,卡顿现象会非常明显,尤其是用户操作越快,图纸的卡顿现象会越严重,非常影响用户的操作体验。
在现有技术中,为了解决卡顿问题,使得图纸的显示更加流畅,通常会采用以下两类方式:
1、提高硬件处理性能,例如,在芯片性能较好的硬件设备(如配置有x86芯片的计算机等等)上进行图纸操作与显示。但是这也只能够在一定程度上对卡顿现象进行缓解,无法完全避免卡顿问题;并且,这样的处理方式会提高相应的从业的设计人员或用户的使用成本,在实用性上受到一定的限制。
2、对用于图纸显示所涉及到的数据格式、或运算逻辑进行优化,以提高数据处理效率。但是对于CAD这一类制图软件来说,其本身就是一个较为复杂的逻辑体,要将现有逻辑替换下来,是非常耗时耗力的。并且,这样的方式对响应速度作出的改善也是有限的。
发明内容
本发明的目的在于提供一种图纸的快速响应的方法,部分地解决或缓解现有技术中的上述不足,能够有效地缓解用户在进行交互操作的过程中的卡顿现象。
为了解决上述所提到的技术问题,本发明具体采用以下技术方案:一种图纸的快速响应方法,包括:
在显示器中显示第一图形文件,所述第一图形文件包括多个图形对象;
识别用户对所述第一图形文件做出的交互操作,以确定所述第一图形文件的显示状态,所述显示状态包括:用于显示所述第一图形文件在所述交互操作下的变化过程的第一显示状态,以及用于显示所述第一图形文件基于所述交互操作的变化结果的第二显示状态;
对所述第一图形文件的第一数据、所述显示器中用于显示所述第一图形文件的底图的第二数据进行读取;
基于第一、二数据以及所述显示状态,对所述第一图形文件进行显示;
其中,当所述显示状态处于所述第一显示状态时,对所述第一图形文件进行显示包括步骤:
对第一、二数据进行读取以分别用于图形绘制,其中,用于图形绘制的第一、二数据为最近完成更新的数据;
获取基于第一、二数据进行图形绘制得到的多个显示图形,并基于显示顺序使得所述多个显示图形在所述显示器上进行显示,以对所述第一图形文件进行显示。
在一些实施例中,还包括步骤:
响应于所述交互操作,基于预定顺序对第一、二数据进行实时地更新;
当完成对第一数据或第二数据的更新时,使更新后的第一数据或第二数据对应地替换掉现有的第一数据或第二数据。
在一些实施例中,当处于所述第二显示状态时,对所述第一图形文件进行显示包括步骤:
(i)判断第一数据和/或第二数据是否处于更新状态;
(ii)当判断结果为否,
则对第一、二数据进行读取以分别用于图形绘制;
获取基于第一、二数据进行图形绘制得到的多个显示图形,并基于显示顺序使得所述多个显示图形在所述显示器上进行显示,以对所述第一图形文件进行显示;
(iii)当判断结果为是,则返回到步骤(i)。
在一些实施例中,识别用户对所述第一图形文件做出的交互操作,以确定所述第一图形文件的显示状态的步骤包括:
判断当前时间内用户是否对所述第一图形文件做出所述交互操作;
若是,则所述显示状态为所述第一显示状态,若否,则所述显示状态为所述第二显示状态。
在一些实施例中,识别用户对所述第一图形文件做出的交互操作,以确定所述第一图形文件的显示状态的步骤包括:
获取所述交互操作的速度;
当所述速度小于预设的第一速度时,则认为所述显示状态为所述第二显示状态;当所述速度不小于所述第一速度时,则认为所述显示状态为所述第一显示状态。
在一些实施例中,还包括步骤:
基于所述第一数据的属性,将所述第一数据对应地分为多个数据层,所述多个数据层包括:
用于表达所述图形对象的数据库层;
用于表达编辑效果的浮动层;
用于表达特征数据的精灵层;
相应地,图形绘制的步骤包括:
响应于用户的交互操作分别对所述第二数据,和/或数据库层,和/或浮动层,和/或精灵层进行独立绘制,并对应地绘制到显示图形。
在一些实施例中,所述显示图形为光栅图像。
本发明第二方面在于,对应于上述方法还提供了一种图纸的快速响应系统,包括:
第一显示模块,被配置为用于在显示器中显示第一图形文件,所述第一图形文件包括多个图形对象;
显示状态确定模块,被配置为用于识别用户对所述第一图形文件做出的交互操作,以确定所述第一图形文件的显示状态,所述显示状态包括:用于显示所述第一图形文件在所述交互操作下的变化过程的第一显示状态,以及用于显示所述第一图形文件基于所述交互操作的变化结果的第二显示状态;
数据读取模块,被配置为用于对所述第一图形文件的第一数据、所述显示器中用于显示所述第一图形文件的底图的第二数据进行读取;
第二显示模块,被配置为用于基于第一、二数据以及所述显示状态,对所述第一图形文件进行显示;其中,当所述显示状态处于所述第一显示状态时,第二显示模块被配置为用于提供:
图形绘制单元,被配置为用于对第一、二数据进行读取以分别用于图形绘制,其中,用于图形绘制的第一、二数据为最近完成更新的数据;
图形显示单元,被配置为用于获取基于第一、二数据进行图形绘制得到的多个显示图形,并基于显示顺序使得所述多个显示图形在所述显示器上进行显示,以对所述第一图形文件进行显示。
在一些实施例中,还包括:
第一数据更新模块,被配置为用于响应于所述交互操作,基于预设顺序对第一、二数据进行实时地更新;且当完成对第一数据或第二数据的更新时,使更新后的第一数据或第二数据对应地替换掉现有的第一数据或第二数据。
本发明第三方面在于,还提供了一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现如上述实施例中所记载的任一方法的步骤。
有益技术效果:
与现有技术不同的是,本发明着重基于“人(也即用户)”的需求对图纸响应过程进行优化,而非仅从数据结构类型或算法优化来提高计算效率,或通过优化设备硬件上以提高计算性能。其中,本方法通过对用户所作出的交互操作进行识别以对用户的需求进行分析,从而基于用户的需求以快速地做出响应,缓解了交互操作过程中的卡顿问题,极大程度上地优化了用户体验。
当所要显示的图形文件越大,用户的交互操作越快,显示界面越容易发生卡顿。尤其是用户在进行交互操作的中间过程中,一旦由于当前运算数据量过大,导致图纸卡顿,用户往往只有等待卡顿结束才能进行下一步操作。此时,即使用户发出交互操作(如通过鼠标进行滑动或拖动)的指令,显示器也无法对用户的操作进行识别;甚至还可能出现计算错误而导致软件自动重启,用户还需要重新打开文件。因此,一旦在交互过程中出现卡顿现象,将会对用户当前以及后续操作带来极为不便的影响。而本发明所提供的图纸快速响应方法尤其可用于缓解用户在对大图纸进行交互操作过程中的卡顿现象,从而使得用户在整个交互过程中可以流畅地操作图纸,并且在显示界面观察到流畅的交互变化。
并且,本发明还基于对第一数据的划分,以实现多线程独立绘制操作,进一步地提高了图纸的响应速度。其中,数据的多线程绘制与用户需求识别的方案相互配合,其所产生的协同作用可以进一步地优化用户在整个操作过程中的操作体验。尤其是当用户仅对部分数据作出编辑时,基于对用户需求的识别以及多线程的图形绘制,可以快速地对用户的操作结果进行准确地显示。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明一示例性实施例中的图纸的响应方法的流程示意图;
图2为本发明一具体实施例中CAD软件显示系统分层示意图;
图3为本发明一具体实施例中最终显示窗口数据流向示意图;
图4为本发明一示例性实施例中图纸的响应系统的模块结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本文中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
本文中,术语“上”、“下”、“内”、“外”“前”、“后”、“一端”、“另一端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本文中,除非另有明确的规定和限定,术语“安装”、“设置有”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
本文中“和/或”包括任何和所有一个或多个列出的相关项的组合。
本文中“多个”意指两个或两个以上,即其包含两个、三个、四个、五个等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
名词释义:
“实体”(entity):在本文中,实体指的是CAD文件上的图形数据,被显示在CAD绘图界面上。实体具有属性,即控制实体或元素特定视觉特征(例如可见性、颜色和线样式)的数据值。在不同的实施例中,实体也可以被称为“图素”、“图元”。
“对象”(object):在本文中,对象指的是CAD文件上那些不会被显示在CAD绘图界面上的信息,例如,图层,文字样式,标注样式等。
“元素”:在本文中,元素指的是CAD文件上的所有可能信息,即包括“实体”和“对象”,还可以是基于“实体”和/或“对象”的块、组、单元定义。
“文件”:在本文中,文件指的是能够在CAD系统中运行,用于绘制、编辑、修改、储存、查看CAD绘图的各类文件。常见的CAD文件格式包括,但不限于,DWG、DXF、DWT、DWF、DWL、DWS、DWX、MNU、MNC、MNL、MNS、CUI、CUIX、SHX、PAT、LIN、CTB、STB、PLT、PC3等。
实施例一
本发明第一方面在于,提供了一种图纸的快速响应方法,如图1所示,包括步骤:
S10在显示器中显示第一图形文件,第一图形文件包括多个图形对象;
S20识别用户对第一图形文件做出的交互操作,以确定第一图形文件的显示状态,显示状态包括:用于显示第一图形文件在交互操作下的变化过程的第一显示状态,以及用于显示第一图形文件基于交互操作的变化结果的第二显示状态;
S30对第一图形文件的第一数据、显示器中用于显示第一图形文件的底图的第二数据进行读取;
S40基于第一、二数据以及显示状态,对第一图形文件进行显示;
其中,当显示状态处于第一显示状态时,对第一图形文件进行显示包括步骤:
S41对第一、二数据进行读取以分别用于图形绘制,其中,用于图形绘制的第一、二数据为最近完成更新的数据;
S42获取基于第一、二数据进行图形绘制得到的多个显示图形,并基于显示顺序使得多个显示图形在显示器上进行显示,以对第一图形文件进行显示。
在一些实施例中,第一图形文件可以为CAD图形文件,对应地多个图形对象可为以下一种或多种:实体、对象以及元素。例如,图形对象可以为圆、圆弧等。
当然,在另一些实施例中,第一图形文件还可以为其他格式的图形文件,如在SolidWorks中显示的图形文件等。又或者,显示器还可以为浏览器等。
在一些实施例中,交互操作包括以下一种或多种:平移、缩放、旋转、复制、粘贴、绘制、编辑图元等操作。当用户对第一图形文件作出上述一种或多种交互操作时,第一图形文件通过显示器呈现出其基于交互操作所发生的变化。
在一些实施例中,第一数据指的是存储于第一图形文件内部中的数据,如第一图形文件中所包括的圆、圆弧、直线等数据信息,或者用户对第一图形文件所做出的交互操作所增加的数据信息等。
在一些实施例中,第二数据指的是在显示器(或者说,用于显示第一图形文件的软件)中,对第一图形文件进行显示的底图数据信息,如栅格、坐标轴等。
本实施例中,基于用户的交互操作,将第一图形文件的显示状态分为第一显示状态和第二显示状态。例如,在一具体实施例中,当用户通过鼠标拖动显示器上所显示的第一图形文件,并使得第一图形文件在显示器上发生移动时,将第一图形文件在显示器上实时移动的过程识别/确定为第一显示状态,并将第一图形文件完成移动后的显示时刻(或者说,拖动操作停止的时候)识别/确认为第二显示状态。并且,在整个交互操作过程中,第一、二数据处于动态的(或实时的)更新状态中,而在第一显示状态下所选用以进行图形绘制的第一、二数据为最近一次所存储的已经完成更新的数据。同时,本实施例中的第一、二数据更新以及绘制线程相互独立,从而避免了第一、二数据在更新过程中相互等待造成的卡顿延误。
在一些实施例中,还包括步骤:
S50响应于交互操作,基于预定顺序(也即设定顺序)对第一、二数据进行实时地(或动态地)更新;
S60当完成对第一数据或第二数据的更新时,使更新后的第一数据或第二数据对应地替换掉现有的第一数据或第二数据。
在一些实施例中,显示器(或者,与显示器相连接的管理器/服务端)实时地获取到用户发出的操作指令,并基于用户所发出的操作指令对第一图形文件的第一数据、底图的第二数据进行实时地更新。待第一数据或第二数据完成更新时,对应地将原始的(或现有的)第一数据或第二数据替换掉,以使得显示器能够基于更新后的第一、二数据更新所显示的图形。此处的原始第一、二数据(或者说,被替换掉的第一、二数据)通常为上一次刚完成更新或刚完成替换的数据。
在一些实施例中,当处于第二显示状态时,对第一图形文件进行显示包括步骤:
(i)判断第一数据和/或第二数据是否处于更新状态;
(ii)当判断结果为否,
则执行步骤:
步骤A1:对第一、二数据进行读取以分别用于图形绘制;
步骤A2:获取基于第一、二数据进行图形绘制得到的多个显示图形,并基于显示顺序使得多个显示图形在显示器上进行显示,以对第一图形文件进行显示;
(iii)当判断结果为是,则返回到步骤(i)。
本实施例中,通过对第一图形文件当前所处的显示状态,以及对第一、二数据的更新状态的双重判断,以对当前的显示流程进行对应的设定。也即是通过双重判断的步骤对用户的操作环境进行识别,以基于用户的实时需求提供更为精准的显示界面。
并且,本实施例中的方法在保证用户操作的流畅性的前提下,还降低了对软件版本以及设备性能的要求,使得用户可以在多类型的使用环境下得到更流畅的操作体验,降低了用户的使用成本。
本实施例的一些优选的应用场景如下:
当用户所做出的交互操作主要涉及的是显示区域的改变的操作场景。例如,通过缩放操作使得第一图形文件图形局部放大或缩小的操作场景。又例如通过平移操作使得第一图形文件的所呈现的显示区域由显示区域a转换到显示区域b时。
或者,在另一些实施例中,当第一图形文件的显示状态处于第二显示状态时,可以选用与第一显示状态下相同或相似的显示方案(即图形绘制步骤)。
在一些实施例中,第一、二数据可以同时进行独立的图形绘制。当然,在另一些实施例中,第一、二数据也可以依照预定的顺序进行图形绘制。
优选地,在一些实施例中,步骤S20中确定第一图形文件的显示状态包括步骤:
步骤B1:判断当前时间内用户是否对第一图形文件做出交互操作;
步骤B2:若是,则显示状态为第一显示状态,若否,则显示状态为第二显示状态。
在一些实施例中,当前时间可以为一个时间点,也可以为一个时间段。
例如,在一些实施例中,当前时间可以为做出判断操作这一步骤B1的当前时刻。
又例如,在一些实施例中,若开始执行步骤B1的当前时刻为T,则当前时间可以设定为[T-t,T],其中t可以由用户自行设定,例如,设为1s、0.5s、0.2s等等,当然,t也可以设置为0,此时当前时间为一个具体的时刻。本实施例中,基于对邻近时段内的交互操作进行识别,以对用户需求进行分析,从而通过提供不同的显示状态满足用户的对应需求。
或者,在一些实施例中,识别用户对第一图形文件做出的交互操作,以确定第一图形文件的显示状态的步骤包括:
获取交互操作的速度;
当速度小于预设的第一速度时,则认为显示状态为第二显示状态。
进一步地,在一些实施例中,当速度大于或等于第一预设速度时,则认为显示状态为第一显示状态。
在一些实施例中,当用户通过鼠标(或其他辅助功能键)对第一图形文件进行连续操作时,计算机接收到用户所发出连续交互操作的多个操作指令,而每个操作指令(或多个操作指令)将会对对应的数据进行修改并更新。如本实施例中,每当接收到一个操作指令即对第一数据或第二数据进行一次更新,具体地,在基于一个操作指令实现第一数据或第二数据的修改后,则对第一数据或第二数据进行对应地替换,使得当前所存储的第一数据或第二数据为最近完成更新的数据(也即数据I),此时数据I处于可以获取的状态。随后,当还有一个或多个操作指令没有执行时,将会继续基于下一个操作指令对第一数据或第二数据进行修改,同样地,修改完成后再基于新的第一数据或第二数据替换掉上一次更新的数据(即替换掉数据I),使得当前所存储的第一数据或第二数据再次更新为最近完成更新的数据(也即数据II)。
当然,在另一些实施例中,当用户在进行连续操作时,也可以以多个操作指令(例如,操作间隔时间小于第一预设时间的多个操作指令)作为一组操作进行数据更新,当第一数据或第二数据基于该组操作完成数据修改后,则对应地替换掉原有的第一数据或第二数据。也即是说,本实施例中的更新过程可以是基于单个操作指令实现的更新过程,也可以是基于一组操作指令实现的更新过程。
例如,在一些实施例中,对于第一、二数据的一次更新可以是基于一个操作指令或一组操作指令进行的更新,如第二数据基于一个操作指令完成更新过程,随后第一数据再基于更新后的第二数据以及操作指令完成对应的更新过程。
例如,在一些实施例中,交互操作的速度为用户在单位时间内所发出的操作指令数量。
本实施例的速度识别尤其适用于用户在第一图形文件上进行连续旋转、平移、缩放等操作的场景。
例如,当用户对第一图形文件进行缩小操作时,通常会快速地滑动鼠标滚轮以对当前的显示界面进行缩小。此时,用户越快地滑动滚轮,涉及到的数据变化量越多,且单位时间的数据计算量越大。为避免在这一过程中出现卡顿,而进一步地延误用户之后所希望做出的交互操作,本实施例中通过对操作速度的识别,以对用户需求进行精准分析,着重在于显示用户希望看到的界面效果,大大地缓解了用户快速操作过程中的卡顿问题(各个数据层的图形绘制线程之间无需相互等待),以为用户提供了更为流畅的操作环境。并且在同一时段下,第一、二数据也处于不断地更新状态,既能够保证用户的操作流畅度,同时也能够在一定程度上避免出现显示滞后而为用户带来较差操作体验(由于所选用的绘制数据是上一次更新的结果)的现象。因此,用户既能够实现对显示图形的快速操作,用时能够在显示器上观察到图形基于交互操作所发生的改变(如移动、变形等),便于用户更直观地查看到交互操作所带来的影响,具有较好的人机交互感,以辅助用户对下一步的交互操作进行判断。
换言之,本实施例中的方法对用户的需求以及图形刷新的实时响应速度进行了平衡,从而同时实现了视觉流畅(查看到刷新变化)、操作流畅(用户可以流畅地通过鼠标或其他操作/编辑工具输入操作指令)的双重效果。
进一步地,在一些实施例中,第一速度的数值可以由用户自行设定。
与现有技术不同的是,本实施例着重基于“人”的需求对显示方案进行优化,而非仅从数据结构类型或算法优化来提高计算效率(尤其是如CAD等逻辑体系非常复杂的软件,对其进行逻辑替换变更设置的难度是非常大的),或通过优化设备硬件上以提高计算性能。
当然,为了进一步地加快图纸响应速度,在一些实施例中,除了从对“人”的需求进行分析,还对图形绘制过程进行了优化。
例如,在一些优选的实施例中,在应用第一数据进行图形绘制之前,还包括步骤:
基于第一数据的属性(也即第一数据的类别),将第一数据对应地分为多个数据层,多个数据层包括:
用于表达图形对象的数据库层;
用于表达编辑效果的浮动层;
用于表达特征数据(如特征点)的精灵层;
相应地,图形绘制的步骤包括:
响应于用户的交互操作,分别对第二数据,和/或数据库层,和/或浮动层,和/或精灵层进行独立绘制,并对应地绘制得到显示图形。
本实施例中,通过将第一数据分为多个数据层,实现了第一数据的多线程的独立绘制,以进一步地提高图形绘制的效率。
具体地,在一些实施例中,第二数据(例如,背景层)为显示器用于显示第一图形文件的底图(例如,当第一图形文件在CAD,中进行显示时,CAD软件显示系统中的底图),其中,第二数据包括:栅格、坐标轴等数据,这类数据未在第一图形文件中保存。
在一些实施例中,数据库层指的是第一图形文件中所保存的数据。例如,用户用CAD软件所绘制的圆、圆弧、直线等信息,在用户完成保存后,这些圆、圆弧、直线等可绘制实体的信息就对应地保存到了CAD图形文件上。并且,数据库层中的数据使用任何一款兼容上述CAD图形格式的软件都可以解析出来。可以理解的是,CAD图形文件本身就是一种自定义格式的数据库(和mysql、ms server等数据库一样,把用户创建的信息保存到数据库文件中,和mysql、ms server数据库不同的是,这些数据库是关系型数据库,而CAD图纸的数据库是一种自定义的数据库)。
浮动层指的是图形绘制软件如CAD软件中用户创建图形对象(例如,用户要绘制一个圆、一条直线等)或者编辑图形(例如用户选中一个圆,想修改圆的半径等)时,出现的橡皮条效果(其中,橡皮条效果指的是创建或修改图形时,用户可以实时的查看当前修改后的图形效果,如创建圆过程中,用户指定了圆心,然后鼠标移动过程中就会计算当前鼠标点和指定的圆心之间的半径,实时绘制出当前的圆给用户查看,这种实时绘制出来的图形在显示系统或显示器中定义了一个浮动层,这种实时绘制的数据被放到浮动层中)。
精灵层的数据是指可以表达图形特性位置的一些显示信息,包括:圆的圆心,线段的起点、终点、中点、相交线段的交点等特征数据(特征点)。一般在用户绘图过程中,鼠标滑动到图纸上已有的图形,就会把这些特征数据显示出来,因为这些数据很灵活,随着用户鼠标经过的地方不同,其是否显示、以及显示哪些都是不确定的,也就是说只要用户用鼠标进行交互,都可能会触发这种精灵层数据的刷新。
例如,数据库层的数据其实就是从图纸文件读取然后解析出来的所有可见数据,比如:一张CAD图纸中,最常见的有圆、线段、射线、构造线、样条曲线、文字、多行文字、表格、填充等。
例如,在CAD软件中,精灵层指的是CAD软件绘制过程中可以捕捉图形的一些特征点。例如,绘制直线过程中,如果图形文件中已经存在直线、圆,那么鼠标移动到圆心附近,直线的端点附近等,会自动捕获到这些特征点,然后显示一个小矩形,或者小圆心(视特征点类型而定,如果是圆心,就显示小圆心,如果是端点就显示小矩形)。
具体地,在一些实施例中,用户在绘制CAD图形过程中,例如绘制圆时,可能只有浮动层、精灵层(可能需要绘制)需要数据更新。其中,浮动层的更新是为了在绘制圆过程中显示橡皮筋效果,就是绘制过程中可以实时的看到当前圆半径变化的过程中,圆的实际效果,而这种过程中的图形是在浮动层显示的,所以需要更新浮动层。而用户绘制过程中可能鼠标会经过显示窗口上其他图形,比如鼠标可能会经过一条线段的端点,那么就会显示出线段端口的一个标志图形(一般是一个小矩形),这种临时显示的图形时在精灵层,所以精灵层也可能要刷新。
需要注意的是,本实施例中所涉及“数据层”的概念与现有技术中的“图层”概念并不相同。其中,现有技术中的图层是指CAD图形文件(具体地,为dwg、dxf、dwt等图纸格式的图纸)里的数据,用户是可以操作图层的,例如,用户可以新建图层、删除图层、编辑图层数据,具体地,可以修改图层的默认颜色、图层名称等,隐藏图层。而本实施例中的“数据层”是为了实现多线程绘制(也即分层显示)而抽象出的数据结构,其可用于绘制出CAD中的可见的实体对象,与“图层”的含义并不相同,对于使用CAD软件的用户而言,通常是无法直接接触到的,并且,也不会涉及到新建数据层、编辑数据层、删除数据层等操作。
本实施例中,优选地将第一数据划分为多个数据层,从而实现多线程的独立绘制,进一步地提高图形显示效率。同时,多个数据层的划分还在一定程度上提高了各个数据层的更新过程的独立性。具体地,数据库层、浮动层以及精灵层等的数据更新过程、以及图形绘制过程均具有一定程度的独立性。特别是在用户交互操作的过程中(或者说,当图形文件处于第一显示状态的时候),各个数据层的数据更新无需相互等待,且图形绘制线程也无需相互等待,从而避免了更新、绘制过程中相互等待造成的卡顿问题;并且每次用于绘制的数据都是最近一次更新的结果,因此图形响应速度较快且内容延迟性较小。尤其是当涉及到部分数据层更新或其他必要数据更新量较少的情况,该方法能够快速地显示最新、最准确地操作结果。
在一些实施例中,显示图形为光栅图像。
例如,在一些实施例中,如图2、图3所示,用于绘制CAD图形的数据被分为精灵层、浮动层、CAD数据库层以及背景层。在用户对CAD图形进行交互操作时,背景层、CAD数据库层、浮动层以及精灵层的将会基于如图2所示由上到下的顺序进行更新(也即基于交互操作进行新的数据绘制),且在完成新的数据绘制后,基于新绘制的数据对原有的数据进行更新替换。而图形绘制过程则是多线程的绘制,每个数据层所对应的图形绘制步骤都是从数据层中获取到最近一次更新后的数据(也即最近一次完成更新后的数据),并基于所获取的数据独立地绘制光栅图像,最终基于相同的顺序再对光栅图像进行叠加显示,以实现对图形的刷新显示。
通过上述实施例,可以看出本发明所解决的技术问题和达成的技术效果如下:本发明提供了一种CAD图形在显示大图纸环境下快速响应的方法,让用户在使用CAD软件过程中更加快速、流畅地查看操作后的显示效果,无论用户是做场景操作(平移、缩放、旋转等)还是编辑图形操作(绘制新图元、复制粘贴图形等)都可以非常流畅地使用CAD软件,提升用户的工作效率及用户体验。
优选地,在一些实施例中,响应于交互操作,基于预设顺序对第一、二数据进行实时地更新包括步骤:
基于交互操作确定第一、第二数据的更新优先级;
基于更新优先级对第一、二数据进行实时地更新。
在一些实施例中,所选用的设定顺序可以是有计算机/系统默认设置的显示顺序。
或者,在另一些实施例中,所选用的设定顺序可以是用户自行设定,或者由用户设定规则进行自动判定的顺序。
优选地,在一些实施例中,优先地针对更新优先级最靠前的数据进行更新,以及界面刷新。
例如,在一些实施例中,当用户作出的操作为缩放时,则将第一数据设为第一更新优先级,首先在现有的第二数据(也即历史第二数据)的基础上对第一数据进行更新,然后基于当前的第一数据刷新显示界面。当然,用户停止作出交互操作时(或存在多余可用的计算资源时),将会触发场景重绘,此时将会对第一、二数据进行整体更新,以对第一图形文件进行最新的显示。
又例如,在一些实施例中,当用户作出的操作为平移时,则将第二数据设为第一更新优先级,相应的将第一数据设为第二更新优先级,尤其是在计算资源相对有限时,优先对第二数据中的数据进行更新,并基于第二数据进行界面刷新。在用户停止交互操作时(或存在多余可用的计算资源时),将会触发场景重绘。
可以理解的是,交互操作的类别与数据更新优先级之间的关系可以由用户自行设定。
本实施例中,基于用户重点关注内容(可通过交互操作的类别体现),对数据的更新优先级进行设定,并对计算资源进行优化管理。具体地,优先对重点内容进行数据更新以及界面刷新,使得用户可以及时地查看到最主要、直观的操作变化。随后对数据进行整体更新,以保证最终显示界面能够对用户的操作进行全面显示。
进一步地,在一些实施例中,当第一数据被划分为不同的数据层时,还可以对不同数据层的更新优先级进行设定。
本实施例中,当交互操作所涉及到的显示变化主要与其中某一个数据层(或多个数据层)有关时,可以优选地将该数据层的更新优先级排在靠前位置,由此可以对于用户在当前操作下的主要关注内容进行快速地刷新显示。
为了使得本发明的技术方案更加清楚,下面提供具体实施例以对技术方案的使用进行进一步地说明:
使用场景1:
对于被平移后的图形的显示,采用将最后一次绘制更新的第一数据保存成快照(如光栅图像的形式)的形式,并采用最新的第二数据绘制新的背景层图像,并将背景层图像和快照进行叠加显示。在这一使用场景中,既能够大大提升平移响应速度,同时可以满足用户的查看需求。当然,待用户停止平移操作时,将会触发场景重绘。
使用场景2:
对于用户的其他操作,比如:对场景的操作(放大或缩小场景、旋转场景),对图形的操作(复制大量的图形进行粘贴,绘制新的图形,编辑已有的图形等),这些操作执行后的显示,采用多线程分层绘制显示图形如光栅图像,分别加载的方式。具体地,所有的操作执行后每一层的光栅图像分别在不同的线程互不干扰的绘制,比如:背景层光栅图像(背景层放置一些栅格、坐标系图标等的图形信息)在背景层的绘制线程中绘制图形,数据库层光栅图像在数据库层的线程中绘制,浮动层光栅图像(包括一些临时图元,比如:标记图元)在浮动层的线程中绘制,精灵层光栅图像(包括一些捕捉点的图元,比如:圆心、线段中点、线段端点等)在精灵层的线程绘制,各层绘制后,将绘制的光栅图像保存在相互独立的内存中。在显示器的图形窗口显示时,从各个层保存的内存中获取已经绘制出来的图形信息(即光栅图像),并还是按照先显示背景层图形,然后是数据库层,再到浮动层、精灵层的顺序来显示。用户在操作CAD过程中,将会感觉不到明显的卡顿,操作的响应时间会大大降低,并且软件的运行非常稳定并且快速。
可以理解的是,当所要显示的图形文件越大,用户的交互操作越快,显示界面越容易发生卡顿。尤其是用户在进行交互操作的中间过程中,一旦由于当前运算数据量过大,导致图纸卡顿,用户往往只有等待卡顿结束才能进行下一步操作。此时,即使用户发出交互操作(如通过鼠标进行滑动或拖动)的指令,显示器也无法对用户的操作进行识别;甚至还可能出现计算错误而导致软件自动重启,用户还需要重新打开文件。因此,一旦在交互过程中出现卡顿现象,将会对用户当前以及后续操作带来极为不便的影响。而本实施例所提供的图纸快速响应方法尤其可用于缓解用户在对大图纸进行交互操作过程中的卡顿现象,从而使得用户在整个交互过程中可以流畅地操作图纸,并且在显示界面观察到流畅的交互变化。更进一步地,数据分层的设计则可以对交互过程、交互结束等不同阶段进行响应速度的提升。
实施例二
本发明第二方面在于,对应于实施例一中的方法还提供了一种图纸的快速响应系统,如图4所示,包括:
第一显示模块10,被配置为用于在显示器中显示第一图形文件,所述第一图形文件包括多个图形对象;
显示状态确定模块20,被配置为用于识别用户对所述第一图形文件做出的交互操作,以确定所述第一图形文件的显示状态,所述显示状态包括:用于显示所述第一图形文件在所述交互操作下的变化过程的第一显示状态,以及用于显示所述第一图形文件基于所述交互操作的变化结果的第二显示状态;
数据读取模块30,被配置为用于对所述第一图形文件的第一数据、所述显示器中用于显示所述第一图形文件的底图的第二数据进行读取;
第二显示模块40,被配置为用于基于第一、二数据以及所述显示状态,对所述第一图形文件进行显示;其中,当所述显示状态处于所述第一显示状态时,第二显示模块被配置为用于提供:
图形绘制单元401,被配置为用于对第一、二数据进行读取以分别用于图形绘制,其中,用于图形绘制的第一、二数据为最近完成更新的数据;
图形显示单元402,被配置为用于获取基于第一、二数据进行图形绘制得到的多个显示图形,并基于显示顺序使得所述多个显示图形在所述显示器上进行显示,以对所述第一图形文件进行显示。
可以理解的是,在一些实施例中,第一显示模块、第二显示模块可以设置为一个功能模块,也可以设置为不同的功能模块。
进一步地,在一些实施例中,还包括:
第一数据更新模块,被配置为用于基于所述交互操作,对第一、二数据进行实时地更新;且当完成对第一数据或第二数据的更新时,使更新后的第一数据或第二数据对应地替换掉现有的第一数据或第二数据。
进一步地,在一些实施例中,当处于所述第二显示状态时,第二显示模块还包括:
第一判断单元,被配置为用于判断第一数据和/或第二数据是否处于更新状态,且判断结果为是,继续对第一数据和/或第二数据的更新状态继续判断;
第一绘制单元,被配置为用于当判断结果为否时,对第一、二数据进行读取以分别用于图形绘制;获取基于第一、二数据进行图形绘制得到的多个显示图形,并基于显示顺序使得所述多个显示图形在所述显示器上进行显示,以对所述第一图形文件进行显示。
可以理解的是,本实施例中的第一绘制单元与上述实施例中的图形绘制单元可以通过相同的功能模块实现,也可以被设置以由同的功能模块实现。
在一些实施例中,显示状态确定模块20包括
第二判断单元,被配置为用于判断当前时间内用户是否对所述第一图形文件做出所述交互操作,若判断结果为是,则所述显示状态为所述第一显示状态,若判断结果为否,则所述显示状态为所述第二显示状态。
或者,在另一些实施例中,显示状态确定模块20包括
第一获取单元,被配置为用于获取所述交互操作的速度;
第三判断单元,被配置为用于当所述速度小于预设的第一速度时,则认为所述显示状态为所述第二显示状态;当所述速度不小于所述第一速度时,则认为所述显示状态为所述第一显示状态。
在一些实施例中,还包括:
数据分层单元,被配置为用于基于所述第一数据的属性,将所述第一数据对应地分为多个数据层,其中,所述多个数据层包括:
用于表达所述图形对象的数据库层;
用于表达编辑效果的浮动层;
用于表达特征数据的精灵层;
相应地,图形绘制单元(或第一绘制单元)进一步地被配置为用于分别响应于用户的交互操作,对所述第二数据,和/或数据库层,和/或浮动层,和/或精灵层进行独立绘制,并对应地绘制到显示图形。
在一些实施例中,所述显示图形为光栅图像。
实施例三
本发明第三方面,在于提供了一种体现在非暂时性计算机可读介质中的计算机程序产品,所述计算机程序产品被编程以用于实现图纸的快速响应,所述计算机程序产品包括用于执行上述实施例一种任一所述方法的操作的指令。
例如,所执行的指令包括:在显示器中显示第一图形文件,所述第一图形文件包括多个图形对象;识别用户对所述第一图形文件做出的交互操作,以确定所述第一图形文件的显示状态,所述显示状态包括:用于显示所述第一图形文件在所述交互操作下的变化过程的第一显示状态,以及用于显示所述第一图形文件基于所述交互操作的变化结果的第二显示状态;对所述第一图形文件的第一数据、所述显示器中用于显示所述第一图形文件的底图的第二数据进行读取;基于第一、二数据以及所述显示状态,对所述第一图形文件进行显示;其中,当所述显示状态处于所述第一显示状态时,对所述第一图形文件进行显示包括步骤:对第一、二数据进行读取以分别用于图形绘制,其中,用于图形绘制的第一、二数据为最近完成更新的数据;获取基于第一、二数据进行图形绘制得到的多个显示图形,并基于显示顺序使得所述多个显示图形在所述显示器上进行显示,以对所述第一图形文件进行显示。
用于实现本发明的一个或多个实施例的示例性硬件和软件环境包括计算机,其可以是用户/客户端计算机、服务器计算机,也可以是数据库计算机。计算机包括处理器和存储器,如随机存取存储器(RAM)。计算机可以与其他设备耦合和/或集成,包括输入/输出(I/O)设备,如键盘、光标控制设备(如鼠标、指向设备、笔和平板电脑、触摸屏、多点触控设备等)和打印机。在一个或多个实施例中,计算机可以耦合到或组成便携式或媒体观看/收听设备(例如,MP3播放器、iPodTM、NookTM、便携式数字视频播放器、蜂窝设备、个人数字助理等)。在另一个实施例中,计算机可包括在各种平台和操作系统上执行的多点触摸设备、移动电话、游戏系统、支持互联网的电视、电视机顶盒或其他支持互联网的设备。
在一个实施例中,计算机通过通用处理器操作,在操作系统的控制下执行由计算机程序定义的指令。计算机程序和/或操作系统可存储在存储器中,并可与用户和/或其他设备连接以接受输入和命令,并根据计算机程序和操作系统所定义的输入和命令和指令,提供输出和结果。
计算机根据计算机程序指令所执行的部分或全部操作可以在专用处理器中实现。在本实施例中,计算机程序的部分或全部指令可以通过存储在只读存储器(ROM)、可编程只读存储器(PROM)或闪存中的固件指令实现,该只读存储器位于专用处理器或存储器中。还可以通过电路设计对专用处理器进行硬连线,以执行实现本发明的部分或全部操作。此外,专用处理器可能是一种混合处理器,它包括用于执行功能子集的专用电路,以及用于执行更通用的功能(如响应计算机程序指令)的其他电路。在一个实施例中,专用处理器是一种应用专用集成电路(ASIC)。
计算机也可以实现编译器,它允许用编程语言(如COBOL、Pascal、c++、FORTRAN或其他语言)编写的应用程序或计算机程序被翻译成处理器可读的代码。或者,编译器可以是一个解释器,它可以直接执行指令/源代码,将源代码转换为要执行的中间表示,或者执行存储的预编译代码。这样的源代码可以用各种编程语言编写,如JavaTM、PerlTM、BasicTM等。完成后,应用程序或计算机程序使用编译器生成的关系和逻辑,访问和操作从I/O设备接收并存储在计算机的内存中的数据。
计算机还可选地包括外部通信设备,如调制解调器、卫星链路、以太网卡或用于从其他计算机接受输入并向其提供输出的其他设备。
在一个实施例中,实现操作系统、计算机程序和编译器的指令有形地包含在非瞬态计算机可读介质中,例如,数据存储设备,该介质可以包括一个或多个固定或可移动的数据存储设备,例如压缩驱动器、软盘驱动器、硬盘驱动器、CD-ROM驱动器、磁带驱动器等。此外,操作系统和计算机程序由计算机程序指令组成,当计算机访问、读取和执行这些指令时,会使计算机执行必要的步骤。
当然,这方面的技术人员会认识到,上述组件的任意组合,或任意数量的不同组件、外设和其他设备,都可能与计算机一起使用。
分布式计算机系统使用网络将客户机计算机连接到服务器计算机。典型的资源组合可能包括网络,其中包括Internet、lan(局域网)、wan(广域网)、SNA(系统网络体系结构)网络,或者类似的个人计算客户端。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台计算机终端(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (8)
1.一种图纸快速响应的方法,其特征在于,包括:
在显示器中显示第一图形文件,所述第一图形文件包括多个图形对象;
识别用户对所述第一图形文件做出的交互操作,以确定所述第一图形文件的显示状态,所述显示状态包括:用于显示所述第一图形文件在所述交互操作下的变化过程的第一显示状态,以及用于显示所述第一图形文件基于所述交互操作的变化结果的第二显示状态;
对所述第一图形文件的第一数据、所述显示器中用于显示所述第一图形文件的底图的第二数据进行读取;所读取的第一数据或第二数据为最近完成更新的数据,且所述第一数据包括:用于表达所述图形对象的数据库层,用于表达编辑效果的浮动层,用于表达特征数据的精灵层;
其中,当接收到用户所发出的连续交互操作的多个操作指令时,采用至少一个操作指令对相应数据进行独立地修改,且当修改完成后对应地替换更新得到数据I,此时数据I为最近完成更新的数据,且所述数据I为第二数据,和/或数据库层,和/或浮动层,和/或精灵层;
当存在未执行的至少一个操作指令时,继续采用至少一个操作指令对当前的数据进行独立地修改,当修改完成后得到数据II,并对应地将数据I替换更新为数据II,且此时最近完成更新的数据变换数据II;
基于第一、二数据以及所述显示状态,对所述第一图形文件进行显示;其中,当所述显示状态处于所述第一显示状态时,对所述第一图形文件进行显示包括步骤:
对第一、二数据进行读取以分别用于图形绘制,其中,用于图形绘制的第一、二数据为最近完成更新的数据;
响应于用户的所述交互操作,分别对所述第二数据,和/或数据库层,和/或浮动层,和/或精灵层进行独立绘制,对应地绘制得到显示图形,并基于显示顺序使得所述多个显示图形在所述显示器上进行显示,以对所述第一图形文件进行显示。
2.根据权利要求1所述的方法,其特征在于,还包括步骤:
响应于所述交互操作,基于预定顺序对第一、二数据进行实时地更新;
当完成对第一数据或第二数据的更新时,使更新后的第一数据或第二数据对应地替换掉现有的第一数据或第二数据。
3.根据权利要求2所述的方法,其特征在于,当处于所述第二显示状态时,对所述第一图形文件进行显示包括步骤:
(i)判断第一数据和/或第二数据是否处于更新状态;
(ii)当判断结果为否,
则对第一、二数据进行读取以分别用于图形绘制;
获取基于第一、二数据进行图形绘制得到的多个显示图形,并基于显示顺序使得所述多个显示图形在所述显示器上进行显示,以对所述第一图形文件进行显示;
(iii)当判断结果为是,则返回到步骤(i)。
4.根据权利要求3所述的方法,其特征在于,识别用户对所述第一图形文件做出的交互操作,以确定所述第一图形文件的显示状态的步骤包括:
判断当前时间内用户是否对所述第一图形文件做出所述交互操作;
若是,则所述显示状态为所述第一显示状态,若否,则所述显示状态为所述第二显示状态。
5.根据权利要求3所述的方法,其特征在于,识别用户对所述第一图形文件做出的交互操作,以确定所述第一图形文件的显示状态的步骤包括:
获取所述交互操作的速度;
当所述速度小于预设的第一速度时,则认为所述显示状态为所述第二显示状态;当所述速度不小于所述第一速度时,则认为所述显示状态为所述第一显示状态。
6.根据权利要求1所述的方法,其特征在于,所述显示图形为光栅图像。
7.一种图纸快速响应系统,其特征在于,包括:
第一显示模块,被配置为用于在显示器中显示第一图形文件,所述第一图形文件包括多个图形对象;
显示状态确定模块,被配置为用于识别用户对所述第一图形文件做出的交互操作,以确定所述第一图形文件的显示状态,所述显示状态包括:用于显示所述第一图形文件在所述交互操作下的变化过程的第一显示状态,以及用于显示所述第一图形文件基于所述交互操作的变化结果的第二显示状态;
数据读取模块,被配置为用于对所述第一图形文件的第一数据、所述显示器中用于显示所述第一图形文件的底图的第二数据进行读取;所读取的第一数据或第二数据为最近完成更新的数据,且所述第一数据包括:用于表达所述图形对象的数据库层,用于表达编辑效果的浮动层,用于表达特征数据的精灵层;
其中,当接收到用户所发出的连续交互操作的多个操作指令时,采用至少一个操作指令对相应数据进行独立地修改,且当修改完成后对应地替换更新得到数据I,此时数据I为最近完成更新的数据,且所述数据I为第二数据,和/或数据库层,和/或浮动层,和/或精灵层;
当存在未执行的至少一个操作指令时,继续采用至少一个操作指令对当前的数据进行独立地修改,当修改完成后得到数据II,并对应地将数据I替换更新为数据II,且此时最近完成更新的数据变换数据II;
第二显示模块,被配置为用于基于第一、二数据以及所述显示状态,对所述第一图形文件进行显示;其中,当所述显示状态处于所述第一显示状态时,第二显示模块被配置为用于提供:
图形绘制单元,被配置为用于对第一、二数据进行读取以分别用于图形绘制,其中,用于图形绘制的第一、二数据为最近完成更新的数据;
图形显示单元,被配置为用于响应于用户的所述交互操作,分别对所述第二数据,和/或数据库层,和/或浮动层,和/或精灵层进行独立绘制,对应地绘制得到显示图形,并基于显示顺序使得所述多个显示图形在所述显示器上进行显示,以对所述第一图形文件进行显示。
8.根据权利要求7所述的系统,其特征在于,还包括:
第一数据更新模块,被配置为用于响应于所述交互操作,基于预定顺序对第一、二数据进行实时地更新;且当完成对第一数据或第二数据的更新时,使更新后的第一数据或第二数据对应地替换掉现有的第一数据或第二数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211061194.7A CN116521043B (zh) | 2022-09-01 | 2022-09-01 | 一种图纸快速响应的方法、系统及计算机程序产品 |
CN202311661918.6A CN117631930B (zh) | 2022-09-01 | 2022-09-01 | 一种图纸快速响应的方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211061194.7A CN116521043B (zh) | 2022-09-01 | 2022-09-01 | 一种图纸快速响应的方法、系统及计算机程序产品 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311661918.6A Division CN117631930B (zh) | 2022-09-01 | 2022-09-01 | 一种图纸快速响应的方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116521043A CN116521043A (zh) | 2023-08-01 |
CN116521043B true CN116521043B (zh) | 2023-12-22 |
Family
ID=87389133
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211061194.7A Active CN116521043B (zh) | 2022-09-01 | 2022-09-01 | 一种图纸快速响应的方法、系统及计算机程序产品 |
CN202311661918.6A Active CN117631930B (zh) | 2022-09-01 | 2022-09-01 | 一种图纸快速响应的方法、系统及存储介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311661918.6A Active CN117631930B (zh) | 2022-09-01 | 2022-09-01 | 一种图纸快速响应的方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN116521043B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020045008A (ko) * | 2000-12-07 | 2002-06-19 | 구자홍 | 도면 정보 관리 시스템 및 이 시스템의 운영 방법 |
CN108920048A (zh) * | 2018-06-06 | 2018-11-30 | 武汉新迪数字工程系统有限公司 | 大型图纸浏览方法、系统、服务器及计算机可读存储介质 |
WO2021036735A1 (zh) * | 2019-08-23 | 2021-03-04 | 华为技术有限公司 | 显示用户界面的方法及电子设备 |
CN112906087A (zh) * | 2021-02-03 | 2021-06-04 | 深圳市显控科技股份有限公司 | 基于双缓冲的cad异步渲染方法及系统 |
CN113093969A (zh) * | 2021-06-09 | 2021-07-09 | 北京易真学思教育科技有限公司 | 手绘轨迹渲染方法、装置、电子设备、介质及程序产品 |
CN113111044A (zh) * | 2021-04-07 | 2021-07-13 | 多点(深圳)数字科技有限公司 | 数据处理方法及装置、服务端设备及存储介质 |
US11062491B1 (en) * | 2020-08-06 | 2021-07-13 | Robert Bosch Gmbh | Graph plotter and replicator tool |
CN113360148A (zh) * | 2021-07-09 | 2021-09-07 | 珠海万纬物流发展有限公司 | 一种图形处理方法、装置和电子设备 |
CN113535019A (zh) * | 2021-07-14 | 2021-10-22 | Vidaa美国公司 | 显示设备及应用图标的显示方法 |
CN114169027A (zh) * | 2021-12-16 | 2022-03-11 | 福建永福信息科技有限公司 | 基于cad平台的协同制图方法、协同客户端及协同系统 |
CN114546232A (zh) * | 2022-04-24 | 2022-05-27 | 广州中望龙腾软件股份有限公司 | 视图平移方法、终端以及计算机可读存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110232258B (zh) * | 2018-07-16 | 2021-10-15 | 苏州浩辰软件股份有限公司 | Cad图纸在可编辑环境下查看引用变化的方法、系统、计算机可读存储介质及计算机终端 |
CN109582409A (zh) * | 2018-10-15 | 2019-04-05 | 广东宝莱特医用科技股份有限公司 | 一种基于双缓冲的显示叠加方法 |
CN110727386A (zh) * | 2019-09-12 | 2020-01-24 | 湖南新云网科技有限公司 | 一种用于电子白板的操作图元方法、系统及存储介质 |
CN111161385B (zh) * | 2019-12-30 | 2023-10-10 | 北京奇艺世纪科技有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
CN114528090A (zh) * | 2020-11-06 | 2022-05-24 | 华为技术有限公司 | 基于Vulkan实现图形渲染的方法及相关装置 |
CN114445537A (zh) * | 2021-12-30 | 2022-05-06 | 万翼科技有限公司 | 模型处理方法、装置、电子设备和存储介质 |
CN114518815B (zh) * | 2022-02-23 | 2023-10-10 | 阿里巴巴(中国)有限公司 | 建筑图纸的显示方法、装置、设备、介质及程序产品 |
CN114816193A (zh) * | 2022-04-29 | 2022-07-29 | 阿里巴巴(中国)有限公司 | 图纸显示方法、装置及终端设备 |
-
2022
- 2022-09-01 CN CN202211061194.7A patent/CN116521043B/zh active Active
- 2022-09-01 CN CN202311661918.6A patent/CN117631930B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020045008A (ko) * | 2000-12-07 | 2002-06-19 | 구자홍 | 도면 정보 관리 시스템 및 이 시스템의 운영 방법 |
CN108920048A (zh) * | 2018-06-06 | 2018-11-30 | 武汉新迪数字工程系统有限公司 | 大型图纸浏览方法、系统、服务器及计算机可读存储介质 |
WO2021036735A1 (zh) * | 2019-08-23 | 2021-03-04 | 华为技术有限公司 | 显示用户界面的方法及电子设备 |
US11062491B1 (en) * | 2020-08-06 | 2021-07-13 | Robert Bosch Gmbh | Graph plotter and replicator tool |
CN112906087A (zh) * | 2021-02-03 | 2021-06-04 | 深圳市显控科技股份有限公司 | 基于双缓冲的cad异步渲染方法及系统 |
CN113111044A (zh) * | 2021-04-07 | 2021-07-13 | 多点(深圳)数字科技有限公司 | 数据处理方法及装置、服务端设备及存储介质 |
CN113093969A (zh) * | 2021-06-09 | 2021-07-09 | 北京易真学思教育科技有限公司 | 手绘轨迹渲染方法、装置、电子设备、介质及程序产品 |
CN113360148A (zh) * | 2021-07-09 | 2021-09-07 | 珠海万纬物流发展有限公司 | 一种图形处理方法、装置和电子设备 |
CN113535019A (zh) * | 2021-07-14 | 2021-10-22 | Vidaa美国公司 | 显示设备及应用图标的显示方法 |
CN114169027A (zh) * | 2021-12-16 | 2022-03-11 | 福建永福信息科技有限公司 | 基于cad平台的协同制图方法、协同客户端及协同系统 |
CN114546232A (zh) * | 2022-04-24 | 2022-05-27 | 广州中望龙腾软件股份有限公司 | 视图平移方法、终端以及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
支持协同设计的浩辰ICAD平台软件开发与产业化;陆翔 等;《信息科技》;第1-3页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117631930B (zh) | 2024-10-01 |
CN116521043A (zh) | 2023-08-01 |
CN117631930A (zh) | 2024-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108279964B (zh) | 蒙层渲染的实现方法、装置、智能设备及存储介质 | |
US9207858B2 (en) | Method and apparatus for drawing and erasing calligraphic ink objects on a display surface | |
US9671922B1 (en) | Scaling of displayed objects with shifts to the periphery | |
US7536650B1 (en) | System and method that facilitates computer desktop use via scaling of displayed objects with shifts to the periphery | |
US7911481B1 (en) | Method and apparatus of graphical object selection | |
US11537278B2 (en) | Interactively presenting a visible portion of a rendering surface on a user device | |
EP2743825A1 (en) | Dynamical and smart positioning of help overlay graphics in a formation of user interface elements | |
CN110096277A (zh) | 一种动态页面展示方法、装置、电子设备及存储介质 | |
US20070250788A1 (en) | Optimal Display of Multiple Windows within a Computer Display | |
US20110115814A1 (en) | Gesture-controlled data visualization | |
US20110258534A1 (en) | Declarative definition of complex user interface state changes | |
US9405449B2 (en) | Layout constraint manipulation via user gesture recognition | |
US20140325418A1 (en) | Automatically manipulating visualized data based on interactivity | |
US20170221242A1 (en) | Automatic overdraw reduction before rendering | |
JP2012521041A (ja) | 連続および不連続プロパティのスムーズレイアウトアニメーション | |
WO2006118589A1 (en) | System and method for providing a window management mode | |
WO2019105191A1 (zh) | 多元素交互方法、装置、设备和存储介质 | |
CN105528217A (zh) | 一种基于显示列表的局部刷新方法及装置 | |
CN109828820B (zh) | 一种应用窗口的焦点刷新方法、装置、存储介质及终端 | |
US10930040B2 (en) | Graphic object modifications | |
JP4158462B2 (ja) | 画面表示処理装置及び画面表示処理方法、並びにコンピュータ・プログラム | |
US10241651B2 (en) | Grid-based rendering of nodes and relationships between nodes | |
CN110727383A (zh) | 基于小程序的触控交互方法、装置、电子设备与存储介质 | |
US11189010B2 (en) | Method and apparatus for image processing | |
US11237699B2 (en) | Proximal menu generation |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |