CN112000321A - 适用于三维检测软件的撤销和/或重做实现方法及装置 - Google Patents

适用于三维检测软件的撤销和/或重做实现方法及装置 Download PDF

Info

Publication number
CN112000321A
CN112000321A CN202010906448.5A CN202010906448A CN112000321A CN 112000321 A CN112000321 A CN 112000321A CN 202010906448 A CN202010906448 A CN 202010906448A CN 112000321 A CN112000321 A CN 112000321A
Authority
CN
China
Prior art keywords
redo
undo
stack
backup file
file name
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.)
Granted
Application number
CN202010906448.5A
Other languages
English (en)
Other versions
CN112000321B (zh
Inventor
李日燮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hongshen Technology Co ltd
Original Assignee
Hangzhou Hongshen Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Hongshen Technology Co ltd filed Critical Hangzhou Hongshen Technology Co ltd
Priority to CN202010906448.5A priority Critical patent/CN112000321B/zh
Publication of CN112000321A publication Critical patent/CN112000321A/zh
Application granted granted Critical
Publication of CN112000321B publication Critical patent/CN112000321B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/311Functional or applicative languages; Rewrite languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/451Stack data

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及一种适用于三维检测软件的撤销和/或重做实现方法及装置,在所述三维检测软件使用的过程中,采用堆栈对各特征进行管理;该方法包括:所述适用于三维检测软件的撤销和/或重做实现方法包括:获取撤销和/或重做指令;响应于所述撤销和/或重做指令,判断当前需要删除特征还是添加特征;若当前需要删除特征,生成备份文件,更新堆栈数据;若当前需要添加特征,不生成备份文件,更新堆栈数据。本公开实施例技术方案资源消耗低,次数无限制,可保证性能流畅,保证系统的安全性。

Description

适用于三维检测软件的撤销和/或重做实现方法及装置
技术领域
本公开涉及撤销及重做履历管理技术领域,尤其涉及一种适用于三维检测软件的撤销和/或重做实现方法及装置。
背景技术
撤销及重做是应用程序当中重要的功能,其使用的频率很高。
传统的撤销及重做实现是采用项目备份的方法,这种方法可以确保数据的完整性,保证数据不丢失。
但是这种方法并不适用于三维检测软件。这是因为三维检测软件主要通过对产品扫描得到的三维模型和用于制造该产品所设计的标准模型进行对比,以对产品进行评估。因此三维检测软件在使用的时候所涉及的数据主要为三维CAD标准模型数据以及三维扫描数据。近年来,随着三维扫描设备的快速发展,其扫描数据量越来越大。若使用传统的项目备份的方法需要对三维CAD标准模型数据以及三维扫描数据一并备份,其必然带来资源消耗大,速度慢,撤销或重做次数有限制的问题,进而导致系统效率低,不够流畅。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种适用于三维检测软件的撤销和/或重做实现方法及装置。
第一方面,本公开提供了一种适用于三维检测软件的撤销和/或重做实现方法,在所述三维检测软件使用的过程中,采用堆栈对各特征进行管理;
所述适用于三维检测软件的撤销和/或重做实现方法包括:
获取撤销和/或重做指令;
响应于所述撤销和/或重做指令,判断当前需要删除特征还是添加特征;
若当前需要删除特征,生成备份文件,更新堆栈数据;
若当前需要添加特征,不生成备份文件,更新堆栈数据。
第二方面,本公开还提供了一种适用于三维检测软件的撤销和/或重做实现装置,在所述三维检测软件使用的过程中,采用堆栈数据对各特征进行管理;
所述适用于三维检测软件的撤销和/或重做实现装置包括:
指令获取模块,用于获取撤销和/或重做指令;
判断模块,用于响应于所述撤销和/或重做指令,判断当前需要删除特征还是添加特征;
删除处理模块,用于若当前需要删除特征,生成备份文件,更新堆栈数据;
添加处理模块,用于若当前需要添加特征,不生成备份文件,更新堆栈数据。
第三方面,本公开还提供了一种电子设备,包括:处理器和存储器;
处理器通过调用存储器存储的程序或指令,用于执行上述任一方法的步骤。
第四方面,本公开还提供了一种计算机可读存储介质,计算机可读存储介质存储程序或指令,程序或指令使计算机执行上述任一方法的步骤。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例技术方案的实质是,仅在删除特征的时候,生成备份文件,在添加特征的时候,不生成备份文件。一方面,这样设置可以使得所删除的特征可还原,另一方面,相对于无论是否删除特征均进行备份的技术方案,这样设置可以减少物理硬盘的占用率,降低资源消耗。并且,在本公开实施例技术方案中,备份文件内记录整体偏差相关数据,并不保存三维CAD标准模型数据以及三维扫描数据,其可以进一步减少物理硬盘的占用率,降低资源消耗。
另外,上述技术方案采用撤销和/或重做操作采用堆栈进行管理。由于堆栈的数据结构简单,其基本不存在内存消耗,可支持无限次的撤销及重做,系统的整体性能也不受影响,可以保持流畅性,保证系统的安全性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种堆栈的结构示意图;
图2是本公开实施例提供的一种适用于三维检测软件的撤销和/或重做实现方法的流程图;
图3是本公开实施例提供的一种实现步骤S130的具体流程图;
图4是本公开实施例提供的一种实现步骤S140的具体流程图。
图5是本公开实施例提供的另一种适用于三维检测软件的撤销和/或重做实现方法的流程图;
图6为本公开实施例提出的一种适用于三维检测软件的撤销和/或重做实现装置的结构框图;
图7为本公开实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
为了便于理解,首先需要说明的是,在本公开中,在三维检测软件使用的过程中,采用堆栈对各特征进行管理。图1是本公开实施例提供的一种堆栈的结构示意图。参见图1,可以设置堆栈101包括多个堆栈单元102。示例性地,图1中,该堆栈101包括N个堆栈单元102。各堆栈单元102均包括文件名字段和特征识别号字段。各堆栈单元可以通过索引号在堆栈101中唯一的确定。
在本公开中,“特征”应当理解为一种操作,例如,在将通过对产品扫描得到的三维模型和用于制造该产品的标准模型进行对比时,其实际的操作过程包括但不限于进行以下操作:对齐、检测偏差(如整体偏差、剖面偏差以及点偏差等)、检测形位公差(如平面度、直线度以及圆柱度等)等。这些操作都称之为特征。示例性地,对齐为一个特征,检测整体偏差为另一个特征,……。并且,可以预先约定特征与特征识别号的对应关系,以使每一个特征与一个特征识别号对应,不同特征对应的特征识别号不同。
示例性地,在实际进行产品三维模型和用于制造该产品的标准模型进行对比时,若顺次执行了对齐和检测整体偏差这两个操作。则在执行的过程中,执行对齐时,生成一个索引号为0的堆栈单元,该堆栈单元中,文件名字段为空,特征识别号字段为“对齐”这一特征对应的特征识别号。在执行检测整体偏差时,生成一个索引号为1的堆栈单元,文件名字段为空,特征识别号字段为“检测整体偏差”这一特征对应的特征识别号。
图2是本公开实施例提供的一种适用于三维检测软件的撤销和/或重做实现方法的流程图。参见图2,该适用于三维检测软件的撤销和/或重做实现方法包括:
S110、获取撤销和/或重做指令。
在本公开中,对撤销和/或重做指令的来源不作限制,示例性地,撤销和/或重做指令可以来源于基于用户操作生成,也可以来自系统内部。
其中,“用户操作”是指用户在人机交互界面上进行点击操作、滑动操作或者用户发出语音控制指令等。“基于用户操作生成”是指,系统在接收到用户在人机交互界面的用户操作(如点击某虚拟按键)后生成撤销和/或重做指令,或者,系统在接收到用户发出的语音控制指令后生成撤销和/或重做指令。“来自系统内部”是指,在未接收到“用户操作”的前提下,系统自动生成的撤销和/或重做指令
S120、响应于撤销和/或重做指令,判断当前需要删除特征还是添加特征。
撤销是撤销之前的操作,重做是用于恢复之前的操作。示例性地,在实际进行产品三维模型和用于制造该产品的标准模型进行对比时,若顺次执行了“对齐”和“检测整体偏差”这两个操作。此时,进行撤销,是删除“检测整体偏差”这一特征。当撤销指令执行完毕后,再执行重做指令,是再次添加“检测整体偏差”添加检测整体偏差这一特征。
在实际中,撤销和/或重做往往包括两种情况:
一种是,当前需要删除特征。例如,已添加某个特征,通过撤销指令,使得该已添加的特征被删除。
另一种是,当前需要添加特征。例如,已删除某个特征,通过重做令,使得该已删除的特征被恢复。
需要强调的是,在本公开中,删除特征时,需要生成备份文件,而添加特征时,不需要生成备份文件。因为,如果删除特征后,若后续需要对该特征进行恢复,需要依赖备份文件实现。但是对添加的特征进行删除,不需要依赖备份文件就可以实现。因此,本步骤的实质是,识别当前需要删除特征还是添加特征,便于后续采用不同方式实现堆栈单元的管理。
S130、若当前需要删除特征,生成备份文件,更新堆栈数据。
其中,备份文件是恢复已删除的特征的基础。示例性地,若某一时刻完成整体偏差检测,若对该“整体偏差检测”这一特征进行撤销,其为当前需要删除特征的情况。后续若再想对该删除操作进行撤销,需要依赖备份文件。换言之,在本步骤中生成备份文件,是为了后续撤销删除操作做准备,使得后续可以执行撤销删除操作的操作,即可以实现重做的操作。
典型地,本步骤的实现方法可以为:若撤销和/或重做指令基于用户操作生成,本步骤的具体实现方法包括:生成备份文件,备份文件包括备份文件名称;获取当前索引号对应的堆栈单元,将备份文件名称写入到该堆栈单元中文件名字段。若撤销和/或重做指令来自系统内部,本步骤的具体实现方法包括:生成备份文件,备份文件包括备份文件名称;生成新的堆栈单元,将备份文件名称写入到新的堆栈单元中文件名字段;将新的堆栈单元插入到堆栈数据中。这样设置的实质是,根据撤销和/或重做指令来源的不同,采用不同的处理方式。
由于若撤销和/或重做指令基于用户操作生成,该撤销和/或重做指令可以直接地、明确地反映用户意图。这种情况下,对原有堆栈单元进行更新,而非生成新的堆栈单元,可以进一步减少存储资源消耗,使得管理更加简洁。若撤销和/或重做指令来自系统内部,该撤销和/或重做指令不能够直接地、明确地反映用户意图。这种情况下,生成新的堆栈单元,而非对原有的堆栈单元进行更新,可以确保原有的堆栈单元不被覆盖,确保数据的完整性。一旦来自系统内部的撤销和/或重做指令与用户意图相悖,可以基于原有的堆栈单元进行还原。
图3是本公开实施例提供的一种实现步骤S130的具体流程图。参见图3,本步骤的实现方法包括:
S201、在系统删除特征之前,进行特征变更登陆,以进入到可以对堆栈、对备份文件进行管理的状态。
S202、对当前撤销和/或重做指令来源进行判断;如果当前撤销和/或重做指令来源于基于用户操作生成,执行S203,如果当前撤销和/或重做指令来源于系统内部,执行S204。
S203包括3个步骤,分别为:
S2031、生成新的备份文件的文件名。
S2032、根据当前的索引号向堆栈索要相应的堆栈单元,并利用新生成的备份文件的文件名更新经过索要得到的堆栈单元的文件名字段。
S2033、将删除特征的数据写入到备份文件中,将备份文件存储在物理硬盘中。
S204包括4个步骤,分别为:
S2041、生成新的备份文件的文件名;
S2042、生成新的堆栈单元,将新生成的备份文件的文件名写入到新生成的堆栈单元的文件名字段。
S2043、将新生成的堆栈单元插入到堆栈末尾,并设置新生成的堆栈单元的索引号。
S2044、将删除特征的数据写入到备份文件中,将备份文件存储在物理硬盘中。
示例性地,截止到当前时刻,最后一次操作为整体偏差检测,且已完成。其中,在执行检测整体偏差时,生成一个索引号为25的堆栈单元,文件名字段为空,特征识别号字段为检测整体偏差对应的特征识别号。现在对该“整体偏差检测”这一特征进行撤销,此时当前索引号为25。若撤销指令来源于基于用户操作生成,执行S203。即确定备份文件的文件名为A。将A写入到索引号为25的堆栈单元的文件名字段处。索引号为25的堆栈单元的特征识别号字段保持不变。生成备份文件,该备份文件名称使用A,备份文件内记录整体偏差相关数据,如计算结果等。备份文件存储在物理硬盘中。若撤销指令来源于系统内部,执行S204。即确定备份文件的文件名为A。生成新的堆栈单元。该新的堆栈单元的索引号为26,文件名字段处写入A,特征识别号字段为检测整体偏差对应的特征识别号。生成备份文件,该备份文件名称使用A,备份文件内记录整体偏差相关数据,如计算结果等。备份文件存储在物理硬盘中。
S140、若当前需要添加特征,不生成备份文件,更新堆栈数据。
本步骤的实现方法有多种,本申请对此不作限制。典型地,本步骤的实现方法可以为:
若撤销和/或重做指令基于用户操作生成,本步骤的具体实现方法包括:获取当前索引号对应的堆栈单元;将与堆栈单元中文件名字段中存储的文件名一致的备份文件删除,并对将堆栈单元中文件名字段更新为空。若撤销和/或重做指令来自系统内部,本步骤的具体实现方法包括:生成新对堆栈单元,并将生成的新的堆栈单元插入到堆栈数据中,其中,所生成的新的堆栈单元中文件名字段为空。这样设置的实质是,根据撤销和/或重做指令来源的不同,采用不同的处理方式。
由于若撤销和/或重做指令基于用户操作生成,该撤销和/或重做指令可以直接地、明确地反映用户意图。这种情况下,对原有堆栈单元进行更新,并删除原有的备份文件,而非生成新的堆栈单元,可以进一步减少存储资源消耗,使得管理更简洁。若撤销和/或重做指令来自系统内部,其该撤销和/或重做指令不能够直接地、明确地反映用户意图。这种情况下,生成新的堆栈单元,而非对原有的堆栈单元进行更新,可以确保原有的堆栈单元不被覆盖,确保数据的完整性。一旦来自系统内部的撤销和/或重做指令与用户意图相悖,可以基于原有的堆栈单元进行还原。
图4是本公开实施例提供的一种实现步骤S140的具体流程图。参见图4,本步骤的实现方法包括:
S301、在系统删除特征之前,进行特征变更登陆,以进入到对堆栈、对备份文件进行管理的状态。
S302、对当前撤销和/或重做指令来源进行判断;如果当前撤销和/或重做指令来源于基于用户操作生成,执行S303,如果当前撤销和/或重做指令来源于系统内部,执行S304。
S303包括3个步骤,分别为:
S3031、根据当前的堆栈索引号向堆栈索要相应的堆栈单元。
S3032、根据该堆栈单元内的文件名字段中的文件名从物理硬盘删除对应的备份文件,释放容量。
S3033、初始化该堆栈单元,使得该堆栈单元中名字段为空,以更新当前堆栈单元。
S304包括2个步骤,分别为:
S3041、生成新的堆栈单元,所生成的新的堆栈单元的文件名字段为空。
S3042、将新生成的堆栈单元插入到堆栈末尾,并设置新生成的堆栈单元的索引号。
示例性地,截止到当前时刻,最后一次操作为删除整体偏差检测,且已完成。在执行删除整体偏差检测时,生成一个索引号为35的堆栈单元,文件名字段为B,特征识别号字段为检测整体偏差对应的特征识别号。现在对该“删除整体偏差检测”这一特征进行撤销,若撤销指令来源于基于用户操作生成,执行S303。即根据当前的堆栈索引号35通过堆栈索要相应的堆栈单元;读取索引号为35的堆栈单元中文件名字段,得到B。从物理硬盘中删除文件名为B的文件。将索引号为35的堆栈单元中文件名字段更新为空,索引号为35的堆栈单元的特征识别号字段保持不变。若撤销指令来源于系统内部,执行S304。即生成新的堆栈单元。该新的堆栈单元的索引号为36,文件名字段处为空,特征识别号字段为检测整体偏差对应的特征识别号。将新生成的索引号为36堆栈单元插入到堆栈末尾。
需要再次强调的是,如果当前撤销和/或重做指令来源于系统内部,该撤销和/或重做指令不能够直接地、明确地反映用户意图,甚至可能出现来自系统内部的撤销和/或重做指令与用户意图相悖的情况,此时在执行S304时,并不对备份文件进行删除,以确保数据的完整性,便于后续进行恢复。
另外还需要说明的是,在执行撤销和/或重做指令时,系统按照指令内容对产品三维模型和用于制造该产品的标准模型进行操作。与此同时,系统后台采用本公开提供的方法对备份文件和堆栈单元进行管理。
上述技术方案的实质是,仅在删除特征的时候,生成备份文件,在添加特征的时候,不生成备份文件。一方面,这样设置可以使得所删除的特征可还原,另一方面,相对于无论是否删除特征均进行备份的技术方案,这样设置可以减少物理硬盘的占用率,降低资源消耗。并且,在本公开技术方案中,备份文件内记录整体偏差相关数据,并不保存三维CAD标准模型数据以及三维扫描数据,其可以进一步减少物理硬盘的占用率,降低资源消耗。
另外,上述技术方案采用撤销和/或重做操作采用堆栈进行管理。由于堆栈的数据结构简单,其基本不存在内存消耗,可支持无限次的撤销及重做,系统的整体性能也不受影响,可以保持流畅性,保证系统的安全性。
由于在上述技术方案中,仅在删除特征的时候,生成备份文件,此时堆栈单元文件名字段为备份文件的名称;在添加特征的时候,不生成备份文件,此时堆栈单元文件名字段为空。换言之,已添加某个特征,堆栈单元文件名字段为空,通过撤销和/或重做指令,使得该已添加的特征被删除,此种情况对应S130。已删除某个特征,堆栈单元文件名字段为不为空,通过撤销和/或重做指令,使得该已删除的特征被恢复,此种情况对应S140。据此,可以设置S120包括:获取当前索引号对应的堆栈单元;判断堆栈单元中文件名字段是否为空;若为空,则当前需要删除特征;否则,当前需要添加特征。这样设置可以准确判断需要采用S130和S140中的哪一个,进而实现本公开提供的技术方案,可以使得本技术方案易于实现。
在上述技术方案的基础上,可选地,S110之后,还包括:获取当前索引号;基于当前索引号,判断是否能够实现撤销和/或重做;若是,执行响应于撤销和/或重做指令,判断当前需要删除特征还是添加特征的步骤。
可选地,“基于当前索引号,判断是否能够实现撤销和/或重做”包括,若当前索引号小于或等于0,则不可实现撤销;若当前索引号大于0,则可实现撤销。进一步地,假设当前堆栈共包括N个堆栈单元,索引号从0开始,这索引号为N-1的堆栈单元为最后一个堆栈单元。此种情况下,设置若当前索引号大于或等于N-1,则不可实现重做;若当前索引号小于N-1,则可实现重做。
图5是本公开实施例提供的另一种适用于三维检测软件的撤销和/或重做实现方法的流程图。图5是上述实施例中的一个具体示例。参见图5,该适用于三维检测软件的撤销和/或重做实现方法包括:
S401、识别用户在人机交互界面输入的预设操作动作;
S402、若识别到用户在人机交互界面输入的预设操作动作,生成撤销和/或重做指令。
S403、基于当前索引号,判断该撤销和/或重做指令是否可实现;若是执行S404;若否,退出。
S404、基于当前索引号,向堆栈索要相应的堆栈单元。
S405、判断所要的堆栈单元是否为空,若是,执行S406;若否,执行S407。
S406、从系统中删除特征,并生成备份文件,更新堆栈数据。
由于本实施例中,撤销和/或重做指令基于用户操作生成,在执行本步骤中的“生成备份文件,更新堆栈数据”时,可参见图3,顺次执行S201、S202以及S203。
S407、读取备份文件,还原系统特征,不生成备份文件,更新堆栈数据。
由于本实施例中,撤销和/或重做指令基于用户操作生成,在执行本步骤中的“生成备份文件,更新堆栈数据”时,可参见图4,顺次执行S301、S302以及S303。
图6为本公开实施例提出的一种适用于三维检测软件的撤销和/或重做实现装置的结构框图,在三维检测软件使用的过程中,采用堆栈数据对各特征进行管理;参见图6,该适用于三维检测软件的撤销和/或重做实现装置包括:
指令获取模块510,用于获取撤销和/或重做指令;
判断模块520,用于响应于撤销和/或重做指令,判断当前需要删除特征还是添加特征;
删除处理模块530,用于若当前需要删除特征,生成备份文件,更新堆栈数据;
添加处理模块540,用于若当前需要添加特征,不生成备份文件,更新堆栈数据。
进一步地,所述堆栈包括多个堆栈单元,所述堆栈单元包括文件名字段和特征识别号字段。
进一步地,若所述撤销和/或重做指令基于用户操作生成,删除处理模块530,用于:生成备份文件,所述备份文件包括备份文件名称;获取当前索引号对应的堆栈单元,将所述备份文件名称写入到所述堆栈单元中文件名字段;
若所述撤销和/或重做指令来自系统内部,删除处理模块530,用于:生成备份文件,所述备份文件包括备份文件名称;生成新的堆栈单元,将所述备份文件名称写入到所述新的堆栈单元中文件名字段;将所述新的堆栈单元插入到堆栈数据中。
进一步地,所述备份文件中记录需要删除的特征数据。
进一步地,若所述撤销和/或重做指令基于用户操作生成,添加处理模块540,用于:获取当前索引号对应的堆栈单元;将与所述堆栈单元中文件名字段中存储的文件名一致的备份文件删除,并将将所述堆栈单元中文件名字段更新为空;
若所述撤销和/或重做指令来自系统内部,添加处理模块540,用于:生成新对堆栈单元,并将生成的新的堆栈单元插入到堆栈数据中,其中,所生成的新的堆栈单元中文件名字段为空。
进一步地,判断模块520,具体用于:
获取当前索引号对应的堆栈单元;
判断所述堆栈单元中文件名字段是否为空;若为空,则当前需要删除特征;否则,当前需要添加特征。
进一步地,判断模块520还用于在获取撤销和/或重做指令之后,
获取当前索引号;
基于当前索引号,判断是否能够实现撤销和/或重做;
若是,执行响应于所述撤销和/或重做指令,判断当前需要删除特征还是添加特征的步骤。
以上实施例公开的装置能够实现以上各方法实施例公开的方法的流程,具有相同或相应的有益效果。为避免重复,在此不再赘述。
图7为本公开实施例提供的电子设备的硬件结构示意图,如图7所示,该电子设备包括:
一个或多个处理器601,图7中以一个处理器601为例;
存储器602;
所述电子设备还可以包括:输入装置603和输出装置604。
所述电子设备中的处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图7中以通过总线连接为例。
存储器602作为一种非暂态计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本公开实施例中的适用于三维检测软件的撤销和/或重做实现方法对应的程序指令/模块(例如,附图6所示的指令获取模块510,判断模块520,删除处理模块530以及添加处理模块540)。处理器601通过运行存储在存储器602中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的适用于三维检测软件的撤销和/或重做实现方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非暂态性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态性固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置603可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置604可包括显示屏等显示设备。
本公开实施例还提供一种包含计算机可读存储介质,该计算机可读存储介质、存储程序或指令,使计算机执行时用于执行一种适用于三维检测软件的撤销和/或重做实现方法,该方法包括:
获取撤销和/或重做指令;
响应于所述撤销和/或重做指令,判断当前需要删除特征还是添加特征;
若当前需要删除特征,生成备份文件,更新堆栈数据;
若当前需要添加特征,不生成备份文件,更新堆栈数据。
可选的,该计算机可执行指令在由计算机处理器执行时还可以用于执行本公开任意实施例所提供的适用于三维检测软件的撤销和/或重做实现方法的技术方案。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本公开可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述的方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种适用于三维检测软件的撤销和/或重做实现方法,其特征在于,在所述三维检测软件使用的过程中,采用堆栈对各特征进行管理;
所述适用于三维检测软件的撤销和/或重做实现方法包括:
获取撤销和/或重做指令;
响应于所述撤销和/或重做指令,判断当前需要删除特征还是添加特征;
若当前需要删除特征,生成备份文件,更新堆栈数据;
若当前需要添加特征,不生成备份文件,更新堆栈数据。
2.根据权利要求1所述的适用于三维检测软件的撤销和/或重做实现方法,其特征在于,所述堆栈包括多个堆栈单元,所述堆栈单元包括文件名字段和特征识别号字段。
3.根据权利要求2所述的适用于三维检测软件的撤销和/或重做实现方法,其特征在于,
若所述撤销和/或重做指令基于用户操作生成且当前需要删除特征,所述生成备份文件,更新堆栈数据,包括:生成备份文件,所述备份文件包括备份文件名称;获取当前索引号对应的堆栈单元,将所述备份文件名称写入到所述堆栈单元中文件名字段;
若所述撤销和/或重做指令来自系统内部且当前需要删除特征,所述生成备份文件,更新堆栈数据,包括:生成备份文件,所述备份文件包括备份文件名称;生成新的堆栈单元,将所述备份文件名称写入到所述新的堆栈单元中文件名字段;将所述新的堆栈单元插入到堆栈数据中。
4.根据权利要求3所述的适用于三维检测软件的撤销和/或重做实现方法,其特征在于,所述备份文件中记录需要删除的特征数据。
5.根据权利要求3所述的适用于三维检测软件的撤销和/或重做实现方法,其特征在于,
若所述撤销和/或重做指令基于用户操作生成且当前需要添加特征,所述不生成备份文件,更新堆栈数据,包括:获取当前索引号对应的堆栈单元;将与所述堆栈单元中文件名字段中存储的文件名一致的备份文件删除,并将将所述堆栈单元中文件名字段更新为空;
若所述撤销和/或重做指令来自系统内部且当前需要添加特征,所述不生成备份文件,更新堆栈数据,包括:生成新对堆栈单元,并将生成的新的堆栈单元插入到堆栈数据中,其中,所生成的新的堆栈单元中文件名字段为空。
6.根据权利要求5所述的适用于三维检测软件的撤销和/或重做实现方法,其特征在于,所述响应于所述撤销和/或重做指令,判断当前需要删除特征还是添加特征,包括:
获取当前索引号对应的堆栈单元;
判断所述堆栈单元中文件名字段是否为空;若为空,则当前需要删除特征;否则,当前需要添加特征。
7.根据权利要求2所述的适用于三维检测软件的撤销和/或重做实现方法,其特征在于,获取撤销和/或重做指令之后,还包括:
获取当前索引号;
基于当前索引号,判断是否能够实现撤销和/或重做;
若是,执行响应于所述撤销和/或重做指令,判断当前需要删除特征还是添加特征的步骤。
8.一种适用于三维检测软件的撤销和/或重做实现装置,其特征在于,在所述三维检测软件使用的过程中,采用堆栈数据对各特征进行管理;
所述适用于三维检测软件的撤销和/或重做实现装置包括:
指令获取模块,用于获取撤销和/或重做指令;
判断模块,用于响应于所述撤销和/或重做指令,判断当前需要删除特征还是添加特征;
删除处理模块,用于若当前需要删除特征,生成备份文件,更新堆栈数据;
添加处理模块,用于若当前需要添加特征,不生成备份文件,更新堆栈数据。
9.一种电子设备,其特征在于,包括:处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求1至7任一项所述方法的步骤。
CN202010906448.5A 2020-09-01 2020-09-01 适用于三维检测软件的撤销和/或重做实现方法及装置 Active CN112000321B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010906448.5A CN112000321B (zh) 2020-09-01 2020-09-01 适用于三维检测软件的撤销和/或重做实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010906448.5A CN112000321B (zh) 2020-09-01 2020-09-01 适用于三维检测软件的撤销和/或重做实现方法及装置

Publications (2)

Publication Number Publication Date
CN112000321A true CN112000321A (zh) 2020-11-27
CN112000321B CN112000321B (zh) 2024-06-07

Family

ID=73465829

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010906448.5A Active CN112000321B (zh) 2020-09-01 2020-09-01 适用于三维检测软件的撤销和/或重做实现方法及装置

Country Status (1)

Country Link
CN (1) CN112000321B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114895885A (zh) * 2022-05-20 2022-08-12 杭州宏深科技有限公司 在三维检测软件基于特征的重计算方法
CN115640103A (zh) * 2022-12-26 2023-01-24 北京云道智造科技有限公司 一种操作的响应方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1776616A (zh) * 2005-12-15 2006-05-24 北京航空航天大学 三维模型编辑器建模命令框架设计方法
US20140258228A1 (en) * 2013-03-06 2014-09-11 Shashank Bhide Performing persistent undo and redo operation within computer software
CN104572034A (zh) * 2013-10-11 2015-04-29 北京西门子西伯乐斯电子有限公司 一种撤销和/或重做的实现方法和装置
US20170153876A1 (en) * 2015-11-30 2017-06-01 International Business Machines Corporation Undo/redo in javascript object notation
CN107329854A (zh) * 2017-06-20 2017-11-07 算丰科技(北京)有限公司 操作撤销方法和装置、电子设备
CN108228168A (zh) * 2017-12-29 2018-06-29 安徽方正医疗信息技术有限公司 一种撤销、恢复操作的抽象方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1776616A (zh) * 2005-12-15 2006-05-24 北京航空航天大学 三维模型编辑器建模命令框架设计方法
US20140258228A1 (en) * 2013-03-06 2014-09-11 Shashank Bhide Performing persistent undo and redo operation within computer software
CN104572034A (zh) * 2013-10-11 2015-04-29 北京西门子西伯乐斯电子有限公司 一种撤销和/或重做的实现方法和装置
US20170153876A1 (en) * 2015-11-30 2017-06-01 International Business Machines Corporation Undo/redo in javascript object notation
CN107329854A (zh) * 2017-06-20 2017-11-07 算丰科技(北京)有限公司 操作撤销方法和装置、电子设备
CN108228168A (zh) * 2017-12-29 2018-06-29 安徽方正医疗信息技术有限公司 一种撤销、恢复操作的抽象方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114895885A (zh) * 2022-05-20 2022-08-12 杭州宏深科技有限公司 在三维检测软件基于特征的重计算方法
CN114895885B (zh) * 2022-05-20 2023-08-15 杭州宏深科技有限公司 在三维检测软件基于特征的重计算方法
CN115640103A (zh) * 2022-12-26 2023-01-24 北京云道智造科技有限公司 一种操作的响应方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112000321B (zh) 2024-06-07

Similar Documents

Publication Publication Date Title
CN109254733B (zh) 用于存储数据的方法、装置和系统
WO2019028992A1 (zh) 多模块版本依赖关系构建方法、装置、服务器和存储介质
CN108205560B (zh) 一种数据同步方法以及装置
CN106446044B (zh) 存储空间回收方法及装置
CN106648994B (zh) 一种备份操作日志的方法,设备和系统
CN112000321A (zh) 适用于三维检测软件的撤销和/或重做实现方法及装置
WO2023066182A1 (zh) 文件处理方法、装置、设备及存储介质
CN111475515A (zh) 失败任务的补偿管理方法、装置、计算机设备及存储介质
CN105512276B (zh) 一种构建垃圾文件的方法、装置及电子设备
WO2020192663A1 (zh) 一种数据管理方法及相关设备
CN112579307A (zh) 一种物理锁资源的分配检测方法、装置及电子设备
CN109614271A (zh) 多个集群数据一致性的控制方法、装置、设备及存储介质
CN105574026B (zh) 非关系型数据库支持事务的方法及装置
CN106775445B (zh) 数据迁移方法及装置
CN103324679A (zh) 一种缓存服务器中数据更新的控制方法和设备
CN112000971B (zh) 一种文件权限记录方法、系统及相关装置
CN108205559B (zh) 一种数据管理方法及其设备
CN111488195A (zh) 虚拟机克隆方法、装置、设备及计算机可读存储介质
CN114840562B (zh) 业务数据的分布式缓存方法、装置、电子设备及存储介质
KR20230017329A (ko) 동작 응답 방법, 동작 응답 장치, 전자장비, 저장 매체 및 컴퓨터 프로그램
US20240256163A1 (en) Data Processing Method and Apparatus for Shared Memory, and Device and Medium
CN106354830B (zh) 一种数据库集群节点间数据同步的方法及装置
CN110569231B (zh) 数据迁移方法、装置、设备和介质
CN114064100A (zh) 配置信息处理方法、系统和装置
CN108376104B (zh) 节点调度方法及装置、计算机可读存储介质

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