CN102682178A - 一种异构cad在线集成中的一致性维护方法 - Google Patents
一种异构cad在线集成中的一致性维护方法 Download PDFInfo
- Publication number
- CN102682178A CN102682178A CN2012101596785A CN201210159678A CN102682178A CN 102682178 A CN102682178 A CN 102682178A CN 2012101596785 A CN2012101596785 A CN 2012101596785A CN 201210159678 A CN201210159678 A CN 201210159678A CN 102682178 A CN102682178 A CN 102682178A
- Authority
- CN
- China
- Prior art keywords
- characteristic
- information
- local
- site
- cad
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种异构CAD在线集成中的一致性维护方法,本发明支持本地站点上的CAD用户立即执行交互建模操作,并生成相应的操作命令传送至其他远端站点,从而实现了高本地响应;当远端站点接收到操作命令时,首先通过状态向量机制对该建模操作的因果关系进行检查和维护;待当前站点满足该建模操作的因果关系后,检测当前站点上已执行的并发操作与当前操作间是屏蔽、可交换执行、还是冲突,进而采用相应的处理机制,从而实现了更少约束的并发交互,并维护了各站点上CAD模型的一致性。
Description
技术领域
本发明涉及一种CAD领域的维护方法,尤其是涉及一种异构CAD在线集成中的一致性维护方法。
背景技术
目前CAD技术的研究大体上分为两类:面向单机CAD***的研究和面向协同工作***的研究。面向单机CAD***的研究包括:几何造型内核层面的研究、几何造型***层面的研究以及基于物理的建模方法和***的研究。面向协同工作***的研究是,CAD技术与计算机支持的协同工作(CSCW)相结合的新型交叉研究方向。
把CAD***从单机***向协同工作***发展,产品的设计由原来的设计人员单独完成转变为由分布在不同地点的产品设计人员协同完成,从而大大提高了产品开发能力和效率。由于各单机CAD ***分别具有各自的***优势和功能侧重点,而且不同的产品设计人员都有自己习惯使用的CAD ***,因此不同的产品设计人员通常会选用不同的CAD ***进行产品设计。因此,为了支持产品设计人员使用自己惯用的CAD***进行协同产品设计,实现异构CAD ***集成势在必行。
按照数字化模型信息交换的载体和通信模式来分类,异构CAD ***集成可以分为:离线集成方式和在线集成方式。异构CAD ***离线集成主要采用异步方式来交换整体数据文件进行企业产品信息集成的,又可以进一步分为:基于几何模型的数据交换和基于特征模型的数据交换。前者交换的是模型的几何表示,后者交换的是包含高层语义的特征模型。相对异构CAD离线集成来讲,异构CAD ***在线集成是通过交换建模操作命令,实现更细粒度的信息集成及各CAD***间的协同设计。
CAD在线集成应支持各协同站点的CAD用户,对共享的CAD模型同时进行浏览和编辑。面对这些由不同站点发出的并发操作,CAD在线集成需要解决的问题便是如何实现各协同站点上的共享CAD模型的一致性。
按照所采用架构的不同,目前已有的在线集成***(协同设计***)可以分为两类:采用集中式架构的在线集成***和采用复制式架构的在线集成***。在典型的集中式架构(即:基于Web的架构)中,包含一个服务器和多个客户端。服务器用于存储共享CAD***和共享模型,另外还担负着实施建模操作的职责,而客户端仅支持可视化和交互的功能。故而,在集中式架构中,所有的建模操作都必须传送到服务器执行,从而阻碍了高本地响应的实现。在复制式架构中,每一个协同站点都放置CAD***并存储共享模型副本。与采用集中式架构的在线集成***相比,采用复制式架构的在线集成***更有利于实现高本地响应。
目前,在已有的在线集成***中,最具代表性的***包括:Syco3D***、TOBACO***、ARCADE***、 CSCW-FeatureM***、RCCS***及李珉等人开发的基于中性建模命令的协同设计***。
对于一致性维护问题,Sync3D ***为参与协同设计的CAD用户提供了两种设计模式:私人模式和共享模式。在私人模式下,各站点的CAD用户编辑本地站点的模型副本,而不与其他站点的用户进行同步;在共享模式下,把设计结果传送给其他站点的CAD用户进行同步。对于在共享模式下出现的并发冲突(即导致各站点模型不一致的情况),只能通过人工交互的方法来解决。TOBACO***采用一种叫做“floor control”的机制进行并发控制。这种并发控制机制是非常严格的,只有令牌的拥有者才能进行建模操作,其他用户此时只能对结果模型作视角变换等不影响数据结构的操作。ARCADE***和CSCW-FeatureM***分别采用乐观对象锁机制和公共规则和协议实现并发控制,进而实现一致性维护。RCCS***采用了一种本地锁机制来实现并发控制。在这种机制下,各协同站点上的本地建模操作可以立即执行,然后送到其他站点实现远端执行。另外,为了实现一致性维护,该***还采用了一种基于名字的方法来解决拓扑元素匹配问题。基于中性建模命令的协同设计***采用一种以特征为粒度的的锁机制,实现并发控制和一致性维护,该方法将锁机制的粒度降低到了特征级。通过以上分析我们发现,不论是在floor control机制下,还是在乐观锁机制下,在某一时刻都只允许一个用户对共享模型进行修改,因此大大限制了多用户交互。尽管RCCS***所采用本地锁机制能够支持更少约束的多用户交互,但是由于异构CAD***所采用的拓扑元素命名机制各不相同,因此RCCS***所采用的基于名字的拓扑元素匹配方法不能用于异构CAD在线集成***实现拓扑元素匹配,进而实现一致性维护。基于中性命令的协同设计***在以特征为粒度的并发控制机制下,当某一个特征被修改时,不允许其他站点对所有依赖于该特征的特征进行同时修改,因此,在该机制下,多用户交互仍然受到了很大的限制。
发明内容
本发明主要是解决现有技术所存在的技术问题;提供了一种能够支持各协同站点上的本地用户操作在本地站点上立即执行,从而实现了高本地响应的一种异构CAD在线集成中的一致性维护方法。
本发明还有一目的是解决现有技术所存在的技术问题;提供了一种不再需要对操作的模型或特征进行加锁,也不需要在获得令牌后才能进行建模操作,从而克服了已有的基于锁或令牌机制的一致性维护方法无法进行自由并发操作的缺点,实现了更少约束的自由并发交互的一种异构CAD在线集成中的一致性维护方法。
本发明的上述技术问题主要是通过下述技术方案得以解决的:
一种异构CAD在线集成中的一致性维护方法,其特征是,包括以下步骤:
步骤1,在本地站点的CAD***中,立即执行本地CAD用户发出的建模操作,并生成相应的操作命令传送至其他远端站点;
步骤2,当远端站点接收到步骤1发出的建模操作命令时,对所接收到的建模操作的因果关系进行检查,若本站点满足该建模操作的因果关系,则转入步骤3,否则,将该建模操作加入本站点等待执行操作队列,直到其因果关系满足后,转入步骤3;
步骤3,在建模操作的因果关系得以满足的前提下,检测该操作与远端站点上已执行的并发操作之间的关系,并根据不同的关系,分别采用相应的并发控制机制进行处理。
在上述的一种异构CAD在线集成中的一致性维护方法,所述步骤1中,所述操作命令的格式如下: 站点号,状态向量,操作类型;所述操作类型包括:特征名、特征信息、拓扑元素信息以及特征间的依赖信息。
在上述的一种异构CAD在线集成中的一致性维护方法,所述步骤1中生成的操作命令,定义站点号,状态向量,操作类型如下:
定义1:定义站点号为一个整数i,我们从1开始为参与集成的每个站点分配一个站点号i,i∈{1,...N},N为参与集成的站点的个数;
定义2,定义状态向量为一个N元组,记为SV,其每一个元素SV[j],j∈{1,…,N},记录操作在本地站点上执行时,本地站点上已执行的来自站点j的操作个数;
定义3,定义操作类型为添加特征、修改特征和删除特征这三种操作,具体包括:
信息1:特征名,是指操作特征的名字,命名所遵循的规则为:特征类型_站点号_特征序号;
信息2:特征信息,是指在远端站点上的CAD***中,执行相同建模操作所需的信息;
信息3:拓扑元素信息,是指建模操作所引用的拓扑元素信息,包括类型信息、属性信息、界限信息和校验信息;
信息4:特征间的依赖信息,是指操作特征与本地模型中已有特征间的依赖关系信息。
在上述的一种异构CAD在线集成中的一致性维护方法,所述的步骤1的信息1中,
特征类型:为CAD***所支持的特征类型;
站点号:为发出操作的本地站点的站点号i;
特征序号:为操作的特征是本地站点上所添加的第k个特征,特征的序号即为k。
在上述的一种异构CAD在线集成中的一致性维护方法,所述的步骤1的信息2中,在远端站点上执行相同建模操作所需的信息,若操作类型为添加特征,则所需信息对应为执行信息1,若操作类型为修改特征,则所需信息对应为执行信息2,若操作类型为删除特征,则所需信息对应为执行信息3,并定义:
执行信息1:添加特征的特征信息,为在远端站点的CAD***中,创建相同特征所需的信息,其中包括参数信息、约束信息;
执行信息2:修改特征的特征信息,为操作修改的特征的参数名及修改后的参数值;
执行信息3:删除特征的特征信息,为要删除特征的名字。
在上述的一种异构CAD在线集成中的一致性维护方法,所述的步骤1的信息3中,定义:
类型信息:为拓扑元素的类型;
属性信息:为拓扑元素的几何属性;
界限信息:为一维拓扑元素的端点信息和二维拓扑元素的边界边信息;
校验信息:为一维拓扑元素的长度和二维拓扑元素的面积。
在上述的一种异构CAD在线集成中的一致性维护方法,所述步骤1中生成操作命令,具体包括以下步骤:
步骤1.1,获取本地站点的站点号,记为i;
步骤1.2,获取本地站点的状态向量SV,然后将SV的第i个元素加1即:SV[i]=SV[i]+1;
步骤1.3,获取操作的类型和特征名;
步骤1.4,利用本地站点的CAD***提供的特征信息访问APIs,获取特征信息;
步骤1.5,利用本地站点的CAD***提供的特征依赖关系访问APIs,获取操作特征与模型中已有特征间的依赖关系,并将该依赖关系添加到本地站点存放的特征依赖图中。
在上述的一种异构CAD在线集成中的一致性维护方法,所述步骤1.3获取操作类型和特征名,具体包括以下步骤:
步骤1.31,本地站点在执行当前操作前,模型中的特征个数记为FN,执行完当前操作后,模型中的特征个数记为FN’,若FN’=FN+1,则转入步骤1.32,若FN’=FN,则转入步骤1.33,若FN’<FN,则转入步骤1.34;
步骤1.32,操作类型为添加特征,当前模型包含的特征中,不遵循特征命名规则的特征即为新添加的特征,利用CAD***提供的获取的特征类型的APIs,获取新添加特征的类型,并根据本地站点记录的站点号和特征序号,按照命名规则对特征命名;
步骤1.33,操作类型为修改特征,通过本地站点CAD***提供的访问特征信息的APIs,获取到当前模型中各特征的信息,并与站点上保存的已执行操作命令队列中的特征信息进行比较,若不同,则该特征即是被修改的特征,获取该特征的名字;
步骤1.34,操作类型为删除,从特征依赖图中的祖先结点开始,依次取出各结点中的特征名,并根据取出的特征名在当前模型中寻找同名的特征,若未找到,则该特征名即为被删除特征的名字。
在上述的一种异构CAD在线集成中的一致性维护方法,所述步骤2中对所接收到的建模操作的因果关系进行检查,具体通过如下条件进行因果关系检查(建模操作Oi在本地站点i上执行时的状态向量记为SVOi,远端站点j的状态向量记为SVj):
条件1:SVOi[i]=SVj[i];
条件2:SVOi[k]<=SVj[k],k∈{1,…,N},k≠i。
在上述的一种异构CAD在线集成中的一致性维护方法,所述步骤3中,检测操作与远端站点上已执行的并发操作之间的关系,定义检测操作为Oj,并发操作Oi,具体方法如下:
检测关系1:若当前远端站点上已执行的并发操作中,有删除操作Oi,且Oi删除的特征为Oj所依赖的特征,则Oi屏蔽了Oj;
检测关系2:若Oj引用了源模型中的拓扑元素(记为源拓扑元素),且在当前远端站点的模型中能够找到与Oj所引用的源拓扑元素相匹配的拓扑元素(记为目标拓扑元素),则Oj与当前站点上已执行的并发操作Oi是可互换执行的;
检测关系3:若Oj是未引用拓扑元素的添加特征操作,则Oj与当前站点上已执行的并发操作Oi是可互换执行的;
检测关系4:若Oj为删除特征操作,且当前远端站点的模型中能够找到Oj所要删除的特征,则Oj与当前站点上已执行的并发操作Oi是可互换执行的;
检测关系5:若Oj引用了源模型中的拓扑元素,且在当前远端站点的模型中找不到与Oj所引用的源拓扑元素相匹配的目标拓扑元素,则Oj与当前远端站点上已执行的导致目标拓扑元素被删除的并发操作Oi是冲突的;
检测关系6:若Oj是未引用拓扑元素的修改特征操作,且当前远端站点上已执行的并发操作中,有修改操作Oi,Oi修改的特征与Oj修改的特征之间存在依赖关系,则Oi与Oj是冲突的。
在上述的一种异构CAD在线集成中的一致性维护方法,所述步骤3中根据检测操作Oj与当前远端站点上已执行的并发操作Oi间不同的关系,所采用的并发控制机制,具体方法如下:
执行关系1:若Oj被Oi屏蔽,则放弃执行Oj;
执行关系2:若Oj与Oi是可互换执行的,则保留Oi并执行Oj;
执行关系3:若Oj与Oi是冲突的,则先执行Oi和Oj中优先级较高的操作,再执行优先级较低的操作,若无法执行优先级较低的操作,则放弃执行,仅保留优先级较高的操作。
在上述的一种异构CAD在线集成中的一致性维护方法,所述执行关系3中判断优先级是两个并发操作的特征间是否存在依赖关系选择执行以下判断步骤:
选择判断步骤1:若两个并发操作的特征间存在依赖关系,则被依赖特征优先级高于依赖特征;
选择判断步骤2:若两个并发操作的特征间无依赖关系,则发出这两个操作的站点的站点号较小的操作具有较高的优先级。
因此,本发明具有如下优点:1.本发明能够支持各协同站点上的本地用户操作在本地站点上立即执行,从而实现了高本地响应;2.本发明不再需要对操作的模型或特征进行加锁,也不需要在获得令牌后才能进行建模操作,从而克服了已有的基于锁或令牌机制的一致性维护方法无法进行自由并发操作的缺点,实现了更少约束的自由并发交互。
附图说明
图1为本发明在异构CAD在线集成中的实施例。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:
本实施例采用CATIA和Pro/E这三个目前流行的异构CAD***作为在线集成的基础***,二个协同设计站点对应的站点号分别为0和1,站点0和站点1分别采用CATIA和Pro/E作为其CAD***。以Winsocket2.0作为通讯工具,以VC6.0作为开发平台进行实施。
实施例提供的异构CAD在线集成中的一致性维护方法,包括以下步骤:
步骤1,在本地的CAD***中,立即执行本地CAD用户发出的建模操作,并获取站点和建模操作的相应信息,从而生成操作命名,传送至其他远端站点。
实施例的步骤1中所述的操作命令的格式如下:
站点号,状态向量,操作类型(特征名,特征信息,拓扑元素信息,特征间的依赖信息)。
实施例的步骤1中生成的操作命令,包括以下七类信息:
(a)站点号,是指一个整数i,我们从1开始为参与集成的每个站点分配一个站点号i,i∈{1,...N},N为参与集成的站点的个数;
(b)状态向量,是指一个N元组,记为SV,其每一个元素SV[j],j∈{1,…,N},记录操作在本地站点上执行时,本地站点上已执行的来自站点j的操作个数;
(c)操作类型,是指添加特征、修改特征和删除特征这三种操作;
(d)特征名,是指操作特征的名字,命名所遵循的规则为:特征类型_站点号_特征序号;
(e)特征信息,是指在远端站点的CAD***中,执行相同建模操作所需的信息;
(f)拓扑元素信息,是指建模操作所引用的拓扑元素信息,包括类型信息、属性信息、界限信息和校验信息;
(g)特征间的依赖信息,是指操作特征与本地模型中已有特征间的依赖关系信息。
实施例的步骤1中生成操作命令,具体包括以下步骤:
步骤1.1,获取本地站点的站点号,记为i;
步骤1.2,获取本地站点的状态向量SV,然后将SV的第i个元素加1即:SV[i]=SV[i]+1;
步骤1.3,获取操作的类型和特征名;
步骤1.4,利用本地站点的CAD***提供的特征信息访问APIs,获取特征信息;
步骤1.5,利用本地站点的CAD***提供的特征依赖关系访问APIs,获取操作特征与模型中已有特征间的依赖关系,并将该依赖关系添加到本地站点存放的特征依赖图中。
实施例的步骤1.3获取操作类型和特征名,具体包括以下步骤:
步骤1.31,本地站点在执行当前操作前,模型中的特征个数记为FN,执行完当前操作后,模型中的特征个数记为FN’,若FN’=FN+1,则转入步骤1.32,若FN’=FN,则转入步骤1.33,若FN’<FN,则转入步骤1.34;
步骤1.32,操作类型为添加特征,当前模型包含的特征中,不遵循特征命名规则的特征记为新添加的特征,利用CAD***提供的获取的特征类型的APIs,获取新添加特征的类型,并根据本地站点记录的站点号和特征序号,按照命名规则对特征命名;
步骤1.33,操作类型为修改特征,通过本地站点CAD***提供的访问特征信息的APIs,获取到当前模型中各特征的信息,并与站点上保存的已执行操作命令队列中的特征信息进行比较,若不同,则该特征即是被修改了的特征,获取该特征的名字;
步骤1.34,操作类型为删除,从特征依赖图中的祖先结点开始,依次取出各结点中的特征名,并根据取出的特征名在当前模型中寻找同名的特征,若未找到,则该特征名即为被删除特征的名字。
实施例的步骤1.5中的特征依赖图,是指模型中特征间的依赖和被依赖关系的映射图,具体包括以下特性:
(a)偏序性,是指任意两个特征间的依赖关系是单向的,而不是相互的;
(b)传递性,是指特征间的依赖关系是单向传递的;
(c)无环性,是指模型中所有特征间的依赖关系中不存在循环依赖。
步骤2,当远端站点接收到步骤1发出的建模操作命令时,对所接收到的建模操作的因果关系进行检查,若本站点满足该建模操作的因果关系,则转入步骤3,否则,将该建模操作加入本站点等待执行操作队列中。
实施例的步骤2中对所接收到的建模操作的因果关系进行检查,具体通过如下条件进行因果关系检查(建模操作Oi在本地站点i上执行时的状态向量记为SVOi,远端站点j的状态向量记为SVj):
条件1:SVOi[i]=SVj[i];
条件2:SVOi[k]<=SVj[k],k∈{1,…,N},k≠i。
步骤3,在建模操作的因果关系得以满足的前提下,检测该操作与远端站点上已执行的并发操作之间的关系,并根据不同的关系,分别采用相应的并发控制机制进行处理。
实施例的步骤3中检测操作(记为Oj)与远端站点上已执行的并发操作(记为Oi)之间的关系,具体方法如下:
(a)若当前远端站点上已执行的并发操作中,有删除操作Oi,且Oi删除的特征为Oj所依赖的特征,则Oi屏蔽了Oj;
(b)若Oj引用了源模型中的拓扑元素(记为源拓扑元素),且在当前远端站点的模型中能够找到与Oj所引用的源拓扑元素相匹配的拓扑元素(记为目标拓扑元素),则Oj与当前站点上已执行的并发操作Oi是可互换执行的;
(c)若Oj为添加特征操作,且未引用源模型中的拓扑元素,则Oj与当前站点上已执行的并发操作Oi是可互换执行的;
(d)若Oj为删除特征操作,且当前远端站点的模型中能够找到Oj所要删除的特征,则Oj与当前站点上已执行的并发操作Oi是可互换执行的;
(e)若Oj引用了源模型中的拓扑元素,且在当前远端站点的模型中找不到与Oj所引用的源拓扑元素相匹配的目标拓扑元素,则Oj与当前远端站点上已执行的导致目标拓扑元素被删除的并发操作Oi是冲突的;
(f)若Oj是未引用拓扑元素的修改特征操作,且当前远端站点上已执行的并发操作中,有修改操作Oi,Oi修改的特征与Oj修改的特征之间存在依赖关系,则Oi与Oj是冲突的。
实施例的步骤3中根据操作Oj与当前远端站点上已执行的并发操作Oi间不同的关系,所采用的并发控制机制,具体方法如下:
(a)若Oj被Oi屏蔽,则放弃执行Oj;
(b)若Oj与Oi是可互换执行的,则保留Oi并执行Oj;
(c)若Oj与Oi是冲突的,则先执行Oi和Oj中优先级较高的操作,再执行优先级较低的操作,若无法执行优先级较低的操作,则放弃执行,仅保留优先级较高的操作。
实施例的步骤3(c)中的优先级判断,具体方法如下:
(a)若两个并发操作的特征间存在依赖关系,则被依赖特征优先级高于依赖特征;
(b)若两个并发操作的特征间无依赖关系,则发出这两个操作的站点的站点号较小的操作具有较高的优先级。
具体实施时,步骤1、步骤2、步骤3都可以采用计算机软件技术实现为DLL插件,分别称为操作命令生成部件、因果关系检测部件、并发控制部件。
为便于实施参考起见,提供实施例的一个协同设计过程举例。该协同设计过程中包含了屏蔽、可交换及冲突这三种关系的并发操作。以下为本发明实施例的具体步骤:
(1)各站点的CAD***安装各自DLL插件,这些插件包括操作命令生成部件、因果关系检测部件、并发控制部件和Socket通讯部件。Socket通讯为现有技术,站点0和站点1之间通过Socket建立点到点的网络通讯连接。
(2)O1是由站点0发出的添加拉伸特征(记为拉伸1)操作,该操作在已有的圆柱体的右侧生成了一个新的圆柱体。O2是由站点1发出的添加拉伸特征(记为拉伸2)操作,该操作在已有圆柱体的左侧生成了一个新的圆柱体。O1和O2在其本地站点(分别为:站点0和站点1)上得以立即执行后,生成相应的操作命令传送至远端站点(分别为:站点1和站点0),当O2到达站点0时,可直接找到O2所引用的草绘面,从而执行O2,可见O1和O2是可交换的。同理,当O1到达站点1时,O1在站点1上也能够得以正确执行。
(3)O3是由站点0发出的删除特征操作,该操作删除了由O2创建的左侧圆柱体。O4是由站点1发出的添加倒圆角特征操作,该操作对由O2创建的左侧圆柱体与底座上的圆柱体相交的边,创建倒圆角。当O4到达站点0时,由于O4所要创建的倒圆角特征依赖于O3所删除的特征(即:拉伸2),因此即使先执行O4后执行O3,O4所创建的特征也会被O3删除,也即是O4的执行效果被O3屏蔽。故而,O4在站点0上不予执行即可。
(4)O5是由站点0发出的添加倒圆角特征的操作,该操作对O1创建的右侧圆柱体与底座上的圆柱体相交的边,创建倒圆角。O6是由站点1发出的修改操作,该操作修改了由O1创建的右侧圆柱体的底面圆的半径,从而改变了右侧圆柱体与底座上的圆柱体相交的圆边的半径。当O5到达站点1时,由于匹配目标边的半径已被O6改变,因此O5和O6冲突。由于O5优先级比O6高,因此首先将O6撤销,在执行完O5后,再恢复执行O6。
由以上实施例可知,通过本技术方案,能够支持异构CAD在线集成***实现了高本地响应及更少约束的并发交互。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (12)
1.一种异构CAD在线集成中的一致性维护方法,其特征是,包括以下步骤:
步骤1,在本地站点的CAD***中,立即执行本地CAD用户发出的建模操作,并生成相应的操作命令传送至其他远端站点;
步骤2,当远端站点接收到步骤1发出的建模操作命令时,对所接收到的建模操作的因果关系进行检查,若本站点满足该建模操作的因果关系,则转入步骤3,否则,将该建模操作加入本站点等待执行操作队列,直到其因果关系满足后,转入步骤3;
步骤3,在建模操作的因果关系得以满足的前提下,检测该操作与远端站点上已执行的并发操作之间的关系,并根据不同的关系,分别采用相应的并发控制机制进行处理。
2.根据权利要求1所述的一种异构CAD在线集成中的一致性维护方法,其特征在于,所述步骤1中,所述操作命令的格式如下: 站点号,状态向量,操作类型;所述操作类型包括:特征名、特征信息、拓扑元素信息以及特征间的依赖信息。
3.根据权利要求1所述的一种异构CAD在线集成中的一致性维护方法,其特征在于,所述步骤1中生成的操作命令,定义站点号,状态向量,操作类型如下:
定义1:定义站点号为一个整数i,我们从1开始为参与集成的每个站点分配一个站点号i,i∈{1,...N},N为参与集成的站点的个数;
定义2,定义状态向量为一个N元组,记为SV,其每一个元素SV[j],j∈{1,…,N},记录操作在本地站点上执行时,本地站点上已执行的来自站点j的操作个数;
定义3,定义操作类型为添加特征、修改特征和删除特征这三种操作,具体包括:
信息1:特征名,是指操作特征的名字,命名所遵循的规则为:特征类型_站点号_特征序号;
信息2:特征信息,是指在远端站点上的CAD***中,执行相同建模操作所需的信息;
信息3:拓扑元素信息,是指建模操作所引用的拓扑元素信息,包括类型信息、属性信息、界限信息和校验信息;
信息4:特征间的依赖信息,是指操作特征与本地模型中已有特征间的依赖关系信息。
4.根据权利要求3所述的一种异构CAD在线集成中的一致性维护方法,其特征在于,所述的步骤1的信息1中,
特征类型:为CAD***所支持的特征类型;
站点号:为发出操作的本地站点的站点号i;
特征序号:为操作的特征是本地站点上所添加的第k个特征,特征的序号即为k。
5.根据权利要求3所述的一种异构CAD在线集成中的一致性维护方法,其特征在于,所述的步骤1的信息2中,在远端站点上执行相同建模操作所需的信息,若操作类型为添加特征,则所需信息对应为执行信息1,若操作类型为修改特征,则所需信息对应为执行信息2,若操作类型为删除特征,则所需信息对应为执行信息3,并定义:
执行信息1:添加特征的特征信息,为在远端站点的CAD***中,创建相同特征所需的信息,其中包括参数信息、约束信息;
执行信息2:修改特征的特征信息,为操作修改的特征的参数名及修改后的参数值;
执行信息3:删除特征的特征信息,为要删除特征的名字。
6.根据权利要求3所述的一种异构CAD在线集成中的一致性维护方法,其特征在于,所述的步骤1的信息3中,定义:
类型信息:为拓扑元素的类型;
属性信息:为拓扑元素的几何属性;
界限信息:为一维拓扑元素的端点信息和二维拓扑元素的边界边信息;
校验信息:为一维拓扑元素的长度和二维拓扑元素的面积。
7.根据权利要求1所述的一种异构CAD在线集成中的一致性维护方法,其特征在于,所述步骤1中生成操作命令,具体包括以下步骤:
步骤1.1,获取本地站点的站点号,记为i;
步骤1.2,获取本地站点的状态向量SV,然后将SV的第i个元素加1即:SV[i]=SV[i]+1;
步骤1.3,获取操作的类型和特征名;
步骤1.4,利用本地站点的CAD***提供的特征信息访问APIs,获取特征信息;
步骤1.5,利用本地站点的CAD***提供的特征依赖关系访问APIs,获取操作特征与模型中已有特征间的依赖关系,并将该依赖关系添加到本地站点存放的特征依赖图中。
8.根据权利要求7所述的一种异构CAD在线集成中的一致性维护方法,其特征在于,所述步骤1.3获取操作类型和特征名,具体包括以下步骤:
步骤1.31,本地站点在执行当前操作前,模型中的特征个数记为FN,执行完当前操作后,模型中的特征个数记为FN’,若FN’=FN+1,则转入步骤1.32,若FN’=FN,则转入步骤1.33,若FN’<FN,则转入步骤1.34;
步骤1.32,操作类型为添加特征,当前模型包含的特征中,不遵循特征命名规则的特征即为新添加的特征,利用CAD***提供的获取的特征类型的APIs,获取新添加特征的类型,并根据本地站点记录的站点号和特征序号,按照命名规则对特征命名;
步骤1.33,操作类型为修改特征,通过本地站点CAD***提供的访问特征信息的APIs,获取到当前模型中各特征的信息,并与站点上保存的已执行操作命令队列中的特征信息进行比较,若不同,则该特征即是被修改的特征,获取该特征的名字;
步骤1.34,操作类型为删除,从特征依赖图中的祖先结点开始,依次取出各结点中的特征名,并根据取出的特征名在当前模型中寻找同名的特征,若未找到,则该特征名即为被删除特征的名字。
9.根据权利要求1所述的一种异构CAD在线集成中的一致性维护方法,其特征在于,所述步骤2中对所接收到的建模操作的因果关系进行检查,具体通过如下条件进行因果关系检查(建模操作Oi在本地站点i上执行时的状态向量记为SVOi,远端站点j的状态向量记为SVj):
条件1:SVOi[i]=SVj[i];
条件2:SVOi[k]<=SVj[k],k∈{1,…,N},k≠i。
10.根据权利要求1所述的一种异构CAD在线集成中的一致性维护方法,其特征在于,所述步骤3中,检测操作与远端站点上已执行的并发操作之间的关系,定义检测操作为Oj,并发操作Oi,具体方法如下:
检测关系1:若当前远端站点上已执行的并发操作中,有删除操作Oi,且Oi删除的特征为Oj所依赖的特征,则Oi屏蔽了Oj;
检测关系2:若Oj引用了源模型中的拓扑元素(记为源拓扑元素),且在当前远端站点的模型中能够找到与Oj所引用的源拓扑元素相匹配的拓扑元素(记为目标拓扑元素),则Oj与当前站点上已执行的并发操作Oi是可互换执行的;
检测关系3:若Oj是未引用拓扑元素的添加特征操作,则Oj与当前站点上已执行的并发操作Oi是可互换执行的;
检测关系4:若Oj为删除特征操作,且当前远端站点的模型中能够找到Oj所要删除的特征,则Oj与当前站点上已执行的并发操作Oi是可互换执行的;
检测关系5:若Oj引用了源模型中的拓扑元素,且在当前远端站点的模型中找不到与Oj所引用的源拓扑元素相匹配的目标拓扑元素,则Oj与当前远端站点上已执行的导致目标拓扑元素被删除的并发操作Oi是冲突的;
检测关系6:若Oj是未引用拓扑元素的修改特征操作,且当前远端站点上已执行的并发操作中,有修改操作Oi,Oi修改的特征与Oj修改的特征之间存在依赖关系,则Oi与Oj是冲突的。
11.根据权利要求10所述的一种异构CAD在线集成中的一致性维护方法,其特征在于,所述步骤3中根据检测操作Oj与当前远端站点上已执行的并发操作Oi间不同的关系,所采用的并发控制机制,具体方法如下:
执行关系1:若Oj被Oi屏蔽,则放弃执行Oj;
执行关系2:若Oj与Oi是可互换执行的,则保留Oi并执行Oj;
执行关系3:若Oj与Oi是冲突的,则先执行Oi和Oj中优先级较高的操作,再执行优先级较低的操作,若无法执行优先级较低的操作,则放弃执行,仅保留优先级较高的操作。
12.根据权利要求11所述的一种异构CAD在线集成中的一致性维护方法,其特征在于,所述执行关系3中判断优先级是两个并发操作的特征间是否存在依赖关系选择执行以下判断步骤:
选择判断步骤1:若两个并发操作的特征间存在依赖关系,则被依赖特征优先级高于依赖特征;
选择判断步骤2:若两个并发操作的特征间无依赖关系,则发出这两个操作的站点的站点号较小的操作具有较高的优先级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101596785A CN102682178A (zh) | 2012-05-22 | 2012-05-22 | 一种异构cad在线集成中的一致性维护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101596785A CN102682178A (zh) | 2012-05-22 | 2012-05-22 | 一种异构cad在线集成中的一致性维护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102682178A true CN102682178A (zh) | 2012-09-19 |
Family
ID=46814098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101596785A Pending CN102682178A (zh) | 2012-05-22 | 2012-05-22 | 一种异构cad在线集成中的一致性维护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102682178A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982214A (zh) * | 2012-12-06 | 2013-03-20 | 北京数码大方科技股份有限公司 | Cad 模型的协同建立方法和装置 |
CN102982213A (zh) * | 2012-12-06 | 2013-03-20 | 北京数码大方科技股份有限公司 | Cad模型的协同建立方法和装置 |
CN104142813B (zh) * | 2014-08-06 | 2017-01-04 | 武汉大学 | 一种复制式协同cad***中的并发控制方法 |
CN107948316A (zh) * | 2017-12-25 | 2018-04-20 | 北京搜狐新媒体信息技术有限公司 | 一种文件同步方法、装置及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308518A (zh) * | 2008-06-11 | 2008-11-19 | 武汉大学 | 用于复制式协同建模***的拓扑元素名字对应方法 |
CN101894186A (zh) * | 2010-07-02 | 2010-11-24 | 武汉大学 | 协同的cad编辑***中基于3d语义的操作转换的方法 |
EP1326184B1 (en) * | 2001-12-17 | 2011-07-06 | Dassault Systèmes | Conflict resolution for collaborative work system |
-
2012
- 2012-05-22 CN CN2012101596785A patent/CN102682178A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1326184B1 (en) * | 2001-12-17 | 2011-07-06 | Dassault Systèmes | Conflict resolution for collaborative work system |
CN101308518A (zh) * | 2008-06-11 | 2008-11-19 | 武汉大学 | 用于复制式协同建模***的拓扑元素名字对应方法 |
CN101894186A (zh) * | 2010-07-02 | 2010-11-24 | 武汉大学 | 协同的cad编辑***中基于3d语义的操作转换的方法 |
Non-Patent Citations (3)
Title |
---|
孙立镌等: "异构CAD***协同构架研究", 《计算机应用研究》 * |
许坚: "基于图形对象的一致性维护问题的研究", 《中国优秀硕士学位论文全文数据库》 * |
高曙明等: "异构CAD***集成技术综述", 《计算机辅助设计与图形学学报》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982214A (zh) * | 2012-12-06 | 2013-03-20 | 北京数码大方科技股份有限公司 | Cad 模型的协同建立方法和装置 |
CN102982213A (zh) * | 2012-12-06 | 2013-03-20 | 北京数码大方科技股份有限公司 | Cad模型的协同建立方法和装置 |
CN102982214B (zh) * | 2012-12-06 | 2015-11-04 | 北京数码大方科技股份有限公司 | Cad模型的协同建立方法和装置 |
CN102982213B (zh) * | 2012-12-06 | 2016-02-03 | 北京数码大方科技股份有限公司 | Cad模型的协同建立方法和装置 |
CN104142813B (zh) * | 2014-08-06 | 2017-01-04 | 武汉大学 | 一种复制式协同cad***中的并发控制方法 |
CN107948316A (zh) * | 2017-12-25 | 2018-04-20 | 北京搜狐新媒体信息技术有限公司 | 一种文件同步方法、装置及设备 |
CN107948316B (zh) * | 2017-12-25 | 2020-11-03 | 北京搜狐新媒体信息技术有限公司 | 一种文件同步方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ma et al. | A dedicated collaboration platform for Integrated Project Delivery | |
CN103714129B (zh) | 基于条件规则的动态数据结构和关系的构建装置和构建方法 | |
Guo et al. | Combination of cloud manufacturing and 3D printing: research progress and prospect | |
CN101515308A (zh) | 汽车产品数据管理***及其协同设计方法 | |
CN105278936B (zh) | 一种基于软件元模型构造软件模型的通用软件建模方法 | |
US9449298B2 (en) | Managing complex dependencies in a file-based team environment | |
US11557088B2 (en) | Generating space models from map files | |
CN108985937A (zh) | 一种基于区块链技术的计算资源共享方法及区块链*** | |
CN103971417A (zh) | 由刚性运动转换的几何元素 | |
CN111859027A (zh) | 图计算方法及装置 | |
Bang et al. | CoDesign: a highly extensible collaborative software modeling framework | |
CN103500094A (zh) | 一种支持用户可视化自定义的服务平台监控模型 | |
Ślusarczyk et al. | An extended hierarchical graph-based building model for design and engineering problems | |
Gao et al. | A data structure for studying 3D modeling design behavior based on event logs | |
CN102682178A (zh) | 一种异构cad在线集成中的一致性维护方法 | |
Lipp et al. | Local editing of procedural models | |
Zhang et al. | Optimal concurrent design based upon distributed product development life-cycle modeling | |
US20240169320A1 (en) | Computer System and Methods for Managing Data, Data Access, and Data Retention | |
Li et al. | Agile solution search strategy for solving multi-conflicts in product development | |
WO2009111141A1 (en) | Computer-implemented method for planning a manufacturing process | |
CA2816830C (en) | Model for managing variations in a product structure for a product | |
CN114564854B (zh) | 支持fmea双向关系树的数据节点的操作方法及设备 | |
Kotulski et al. | Heterogeneous graph grammars synchronization in CAD systems supported by hypergraph representations of buildings | |
Wenhua et al. | Studies on visual scene process system of aircraft assembly | |
CN101308518B (zh) | 用于复制式协同建模***的数据一致性维护方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120919 |