CN116992517B - 一种三维cad模型的协同建模方法、服务器及终端 - Google Patents

一种三维cad模型的协同建模方法、服务器及终端 Download PDF

Info

Publication number
CN116992517B
CN116992517B CN202311265502.2A CN202311265502A CN116992517B CN 116992517 B CN116992517 B CN 116992517B CN 202311265502 A CN202311265502 A CN 202311265502A CN 116992517 B CN116992517 B CN 116992517B
Authority
CN
China
Prior art keywords
browser terminal
browser
model document
terminal
model
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
Application number
CN202311265502.2A
Other languages
English (en)
Other versions
CN116992517A (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.)
Shandong Huayun 3d Technology Co ltd
Original Assignee
Shandong Huayun 3d 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 Shandong Huayun 3d Technology Co ltd filed Critical Shandong Huayun 3d Technology Co ltd
Priority to CN202311265502.2A priority Critical patent/CN116992517B/zh
Publication of CN116992517A publication Critical patent/CN116992517A/zh
Application granted granted Critical
Publication of CN116992517B publication Critical patent/CN116992517B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Mathematical Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computational Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本说明书实施例公开了一种三维CAD模型的协同建模方法、服务器及终端,应用于计算机技术领域用于解决协同建模冲突的问题。方法包括:服务器响应于第一浏览器终端发送的文档请求指令,向第一浏览器终端发送模型文档资源;响应第一浏览器终端触发的操作指令,确定模型文档资源的同一浏览器连接组中是否存在该模型文档资源的建模引擎连接通道的互斥锁;若存在互斥锁,则将第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令等待互斥锁释放;若不存在互斥锁,则对该模型文档资源的建模引擎连接通道添加互斥锁,以锁定建模引擎连接通道与建模引擎实例,并基于建模引擎实例执行所述待执行操作指令进行建模。

Description

一种三维CAD模型的协同建模方法、服务器及终端
技术领域
本说明书涉及计算机技术领域,尤其涉及一种三维CAD模型的协同建模方法、服务器及终端。
背景技术
计算机辅助设计(CAD,Computer Aided Design)指利用计算机及其图形设备帮助设计人员进行设计工作。在产品研发设计、生产制造过程中,设计工程师需要频繁的根据企业内部或外部的设计人员、审核人员、生产制造人员、客户等提出的需求对产品三维CAD模型进行构建,并对设计细节重复进行修改。当处理大型三维CAD项目时,设计人员需要对庞大的设计模型进行构建与修改,此时多用户协同设计可以极大提升大型及复杂三维CAD模型的构建效率。因此,在三维CAD***中如何实现三维CAD模型的协同建模是一个需要解决的问题。
在进行传统的CAD协同设计时,一般是多用户采用在三维CAD模型所对应的建模文档上对需要进行修改的模型及其相应特征进行圈阅批注,然后将批注信息反馈给一个设计人员对协同涉及数据进行数据汇总与数据同步。这种基于圈阅批注的方式进行数据反馈与同步的方式,是协同设计过程中最直观有效的数据同步方法。虽然当前的CAD软件都自带了上述方式的批注功能,然而将CAD文件发给协同人员后添加批注信息的这种协同方式,具有一定的局限性,一是从保密性和安全性考虑,直接基于原始三维模型进行传输批注的过程易影响文件的可靠性,二是设计人员集中对批注进行处理时修改图纸的步骤繁复、工作量大、出错几率高,且多设计人员的批注之间存在的冲突设计,难以及时进行规避调整,导致设计人员后期交互工作量及修改工作量增多。
因此,现需要一种灵活可靠的三维CAD模型的协同建模方法。
发明内容
为了解决上述技术问题,本说明书一个或多个实施例提供了一种三维CAD模型的协同建模方法、服务器及终端。
本说明书一个或多个实施例采用下述技术方案:
本说明书一个或多个实施例提供一种三维CAD模型的协同建模方法,应用于服务器端,方法包括:
服务器响应于第一浏览器终端发送的文档请求指令,向所述第一浏览器终端发送模型文档资源;其中,所述文档请求指令是所述第一浏览器终端根据其当前三维CAD模型的模型标识生成的;
响应所述第一浏览器终端触发的操作指令,以确定所述模型文档资源的同一浏览器连接组中,是否存在针对于该模型文档资源的建模引擎连接通道的互斥锁;其中,所述建模引擎连接通道对应于不同的浏览器终端的同一模型文档资源;
若存在互斥锁,则将所述第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令,以等待第二浏览器终端释放所述模型文档资源的建模引擎连接通道的互斥锁;
若不存在互斥锁,则对所述模型文档资源的建模引擎连接通道添加互斥锁,以锁定所述建模引擎连接通道与建模引擎实例,并基于所述建模引擎实例执行所述待执行操作指令进行建模。
可选地,在本说明书一个或多个实施例中,所述服务器响应于第一浏览器终端发送的文档编辑请求指令,向所述第一浏览器终端发送模型文档资源,具体包括:
基于所述文档请求指令获取基本请求信息;其中,所述基本请求信息包括:所述当前三维CAD模型的模型标识、所述第一浏览器终端的用户信息;
根据所述模型标识确定所述当前三维CAD模型的文档属性,并根据所述模型标识与所述用户信息确定用户存证信息,以便基于所述用户存证信息确定所述第一浏览器终端的访问权限;其中,所述文档属性包括:公有属性、私有属性;所述用户存证信息用于记录用户对三维CAD模型文档的访问权限,所述访问权限包括:禁止访问、只读访问、编辑访问;
若确定所述第一浏览器终端为禁止访问权限,则基于所述文档属性确定对应的返回信息;
若确定所述第一浏览器终端为只读访问权限或编辑访问权限,则根据所述第一浏览器终端的访问权限与所述当前三维CAD模型的预置文档功能列表,确定所述第一浏览器终端所对应的功能权限,并根据所述功能权限将限定可用组件后的模型文档资源,发送到所述第一浏览器终端。
可选地,在本说明书一个或多个实施例中,若确定所述第一浏览器终端为禁止访问权限,则基于所述文档属性确定对应的返回信息,具体包括:
若确定所述第一浏览器终端为禁止访问权限且所述文档属性为公有属性,则获取与所述公有属性相对应的只读访问权限,以基于所述只读访问权限与所述当前三维CAD模型的预置文档功能列表,确定所述第一浏览器终端所对应的功能;
若确定所述第一浏览器终端为禁止访问权限且所述文档属性为私有属性,则返回与所述禁止访问权限相对应的禁止访问信息。
可选地,在本说明书一个或多个实施例中,响应所述第一浏览器终端触发的操作指令,以确定所述模型文档资源的同一浏览器连接组中是否存在互斥锁,具体包括:
响应于第一浏览器终端发送的操作指令,检查第一浏览器终端的操作权限;
若确定所述第一浏览器终端具有所述操作权限,则获取与所述模型文档资源相对应的同一浏览器连接组;其中,所述同一浏览器连接组为发送所述操作指令时,能够获取与所述操作指令相对应的模型文档资源的全部浏览器终端;
查询模型文档资源的所对应的同一浏览器连接组中是否存在建模操作,以确定建模引擎连通通道上是否存在互斥锁。
可选地,在本说明书一个或多个实施例中,若存在互斥锁,则将所述第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令,以等待第二浏览器终端释放所述模型文档资源的建模引擎连接通道的互斥锁,具体包括:
将所述第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令,以根据所述待执行操作指令的接收时间戳加入指令等待队列中;
根据所述第二浏览器终端的操作指令,确定所述第二浏览器终端的当前特征操作,以监听所述当前特征操作是否完成,以获得对应的建模完成指令;
若接收到所述建模完成指令,则释放所述互斥锁,以便依次对等待指令队列中各浏览器终端对应的模型文档资源的建模引擎连接通道进行互斥锁添加。
可选地,在本说明书一个或多个实施例中,将所述第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令,以根据所述待执行操作指令的接收时间戳加入指令等待队列中之后,所述方法还包括:
根据所述第二浏览器终端的操作指令,确定所述第二浏览器终端的特征操作数据;
获取与所述特征操作数据具有交互关系的待执行操作指令,并将该待执行操作指令划分到异常提醒集合;其中,所述交互关系至少包括以下任意一项或多项:依赖关系、关联关系、组合关系、重叠关系中;
将所述交互关系与所述第二浏览器终端的操作指令写入预置消息模板,以构建所述异常提醒集合中各所述待执行操作指令的冲突异常信息,并将所述冲突异常信息返回对应的第一浏览器终端。
可选地,在本说明书一个或多个实施例中,对与所述模型文档资源的建模引擎连接通道添加互斥锁,以锁定所述建模引擎连接通道与建模引擎实例之后,所述方法还包括:
基于所述建模引擎实例执行所述待执行操作指令;
确定所述待执行操作指令所对应的特征操作,在执行过程中产生的变更数据,以将所述变更数据返回与所述第一浏览器终端相对应的同一浏览器终端组内;其中,所述特征操作以树形结构展示于所述模型文档资源的特征面板,包括:拉伸凸台或基体、扫描凸台或基体、拉伸切除。
可选地,在本说明书一个或多个实施例中,根据所述变更数据对所述模型文档资源中的模型文档数据进行更新,获得更新后的模型文档数据,并返回所述第一浏览器终端之后,所述方法还包括:
获取所述第一浏览器终端的再传播权限;
根据所述再传播权限与预置权限传递策略,对所述更新后的模型文档数据所对应的更新后的模型文档资源进行传输,以实现所述更新后的模型文档资源的协同共享。
可选地,在本说明书一个或多个实施例中,根据所述再传播权限与预置权限传递策略,对所述更新后的模型文档数据所对应的更新后的模型文档资源进行传输,以实现所述更新后的模型文档资源的协同共享,具体包括:
根据所述再传播权限,将第一浏览器终端更新后的模型文档资源传输给第二浏览器终端,以建立所述第一浏览器终端与所述第二浏览器终端的分享路径,并在将所述再传播权限的标签标注在所述分享路径;其中,所述再传播权限包括:可分享权限、可分享权限的组件,不可分享权限;
获取所述第一浏览器终端与所述第二浏览器终端基于所述再传播权限,迭代分享获得的当前分享图数据;其中,各所述浏览器终端作为所述当前分享图数据的节点,分享路径作为所述当前分享图数据的连接路径;
基于所述连接路径中各分享路径的标签,提取所述分享路径中各所述可分享权限的浏览器终端构成的连通图;
根据所述预置权限传递策略对所述连通图中各所述浏览器的分享路径及可分享权限的组件进行分析,以判断所述模型文档资源是否继续进行传输。
可选地,在本说明书一个或多个实施例中,根据所述预置权限传递策略对所述连通图中各所述浏览器的分享路径及可分享权限的组件进行分析,以判断所述模型文档资源是否继续进行传输,具体包括:
获取所述连通图中边缘节点,以判断所述边缘节点对应的所述分享路径的标签是否为初始标签;其中,所述初始标签为基于所述第一浏览器终端的再传播权限进行标注的标签,所述边缘节点为当前待传播浏览器终端;
若否,则确定当前待传播浏览器的溯源路径,以及所述溯源路径中各分享路径所对应的可分享权限的组件,并获取各所述可分享权限的组件的数量;
基于所述数量确定各所述溯源路径的再传播权值,并基于所述溯源路径的长度确定所述溯源路径的再传播权值的加权值,以基于所述加权值确定各所述溯源路径的可分享权值;
若所述溯源路径的可分享权值小于预置可分享权值,则将所述边缘节点的用户信息发送到所述第一浏览器终端所对应的源终端,以基于所述第一浏览器终端的源终端重置所述边缘节点的再传播权限,确定所述边缘节点是否继续进行传输;其中,所述源终端为所述模型文件资源的所有权终端。
可选地,在本说明书一个或多个实施例中,根据所述再传播权限与预置权限传递策略,对所述更新后的模型文档资源进行传输,以实现所述更新后的模型文档资源的协同共享,具体包括:
根据所述再传播权限,将第一浏览器终端更新后的模型文档资源传输给第二浏览器终端,以基于所述第二浏览器终端进行再传输;
记录所述模型文档资源的传播信息返回所述模型文档资源所对应的源终端,以使所述源终端将所述传播信息以列表形式进行展示,以调整各所述浏览器终端对于所述模型文档资源的权限,并基于所述模型文档资源的权限进行后续传输,实现更新后的模型文档资源的协同共享。
本说明书一个或多个实施例提供一种三维CAD模型的协同建模方法,应用于浏览器终端时,方法包括:
第一浏览器终端根据当前三维CAD模型的模型标识,生成文档请求指令,以获取服务器响应于所述文档请求指令范围的模型文档资源;
根据所述第一浏览器终端的访问权限中的操作权限执行对应的特征操作,以将所述特征操作所对应的操作指令发送到所述服务器,以便基于所述服务器确定所述模型文档资源的建模引擎连接通道是否存在互斥锁;其中,所述建模引擎连接通道对应于不同的浏览器终端的同一模型文档资源;
若存在互斥锁,则所述第一浏览器终端等待获取所述服务器上传的第二浏览器终端的建模完成指令,并获取所述第二浏览器终端释放的所述建模引擎连接通道的互斥锁;其中,所述释放的建模引擎连接通道的互斥锁,基于服务器添加到与所述第一浏览器终端相对应的模型文档资源的建模引擎连接通道;
接收所述服务器返回的更新后的模型文档资源;其中,所述更新后的模型文档资源为服务器基于建模引擎实例执行所述对应的操作指令,以记录与所述特征操作相对应的执行记录,并基于所述执行记录更新所述模型文档资源获得的。
本说明书一个或多个实施例提供一种三维CAD模型的协同建模服务器,所述服务器与多个浏览器终端相互通信,所述服务器包括处理器、发射器、接收器:
所述接收器用于接收浏览器终端发送的文档请求指令;
所述处理器用于响应于文档请求指令,并向第一浏览器终端发送模型文档资源;其中,所述文档请求指令是所述第一浏览器终端根据其当前三维CAD模型的模型标识生成的;
根据所述第一浏览器触发的操作指令,确定所述模型文档资源的同一浏览器连接组中,是否存在针对于该模型文档资源的建模引擎连接通道的互斥锁;其中,所述连接通道对应于不同的浏览器终端的同一模型文档资源;
若存在互斥锁,则将所述第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令,以等待第二浏览器终端释放所述模型文档资源的建模引擎连接通道的互斥锁;
若不存在互斥锁的情况下,则对所述模型文档资源的建模引擎连接通道添加互斥锁,以锁定所述建模引擎连接通道与建模引擎实例,并基于所述建模引擎实例执行所述待执行操作指令进行建模;
所述发射器用于将所述待执行操作指令所对应的变更数据发送给所述浏览器终端。
所述文档请求指令是所述第一浏览器终端根据其当前三维CAD模型的模型标识生成的本说明书一个或多个实施例提供一种三维CAD模型的协同建模浏览器终端, 所述浏览器终端有多个,且与服务器通信,所述浏览器终端包括处理器、发射器、接收器;
所述处理器用于根据当前三维CAD模型的模型标识,生成文档请求指令,以使所述接收器接收所述服务器响应于所述文档请求指令范围的模型文档资源,以使处理器能够根据第一浏览器终端访问权限中的操作权限执行对应的特征操作;
所述发射器用于将所述特征操作所对应的操作指令发送到所述服务器,以便基于所述服务器确定模型文档资源的同一浏览器连接组中,是否存在针对于该模型文档资源的建模引擎连接通道的互斥锁;其中,所述连接通道对应于不同的浏览器终端的同一模型文档资源;
所述处理器还用于在确定存在互斥锁的情况下,等待获取所述服务器上传的其他浏览器终端的建模完成指令,并获取释放的所述互斥锁;其中,所述释放的互斥锁基于服务器添加到所述浏览器终端的当前操作指令上;
所述接收器用于接收所述服务器返回的更新后的模型文档资源;其中,所述更新后的模型文档资源为服务器基于建模引擎实例执行所述对应的操作指令,以记录与所述特征操作相对应的执行记录,并基于所述执行记录更新所述模型文档资源获得的。
所述处理器用于根据当前三维CAD模型的模型标识,生成文档请求指令本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
服务器基于浏览器终端上传的文档属性与文档共享权限对于模型文档资源进行模型文档资源的分享,文档共享操作既可以指定被分享者对于项目的操作权限,也基于再传播权限对项目分享者的传播权限进行了限制,避免了项目分享给别人就失去了项目管理权的现象,避免了项目肆意传播所导致的不良后果。基于特征操作进行协同建模的方式解决了现有设计人员集中对批注内容进行处理时修改图纸的步骤繁复、工作量大、出错几率高的问题。在协同建模过程中基于互斥锁对于建模过程中的操作特征进行锁定,解决了协同设计过程中并发操作所导致的冲突问题。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本说明书实施例提供的一种三维CAD模型的协同建模方法的流程示意图;
图2为本说明书实施例提供的一种三维CAD模型的协同设计冲突解决流程图;
图3为本说明书实施例提供的一种文档属性的配置界面示意图;
图4为本说明书实施例提供的一种模型文档资源的协同共享的设置界面图;
图5为本说明书实施例提供的一种三维CAD模型的建模详细过程图;
图6为本说明书实施例提供的一种多客户端协同设计冲突解决实施例时序图;
图7(a)为本说明书实施例提供的一种三维CAD模型的协同建模的同步协同效果右下角展示图;
图7(b)为本说明书实施例提供的一种三维CAD模型的***建模的同步协同效果左侧展示图;
图8为本说明书实施例提供的另一种三维CAD模型的协同建模方法流程示意图;
图9为本说明书实施例提供的一种三维CAD模型的协同建模服务器的内部结构示意图;
图10为本说明书实施例提供的一种三维CAD模型的协同建模浏览器终端的内部结构示意图。
具体实施方式
本说明书实施例提供一种三维CAD模型的协同建模方法、服务器及终端。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
该协同设计***允许多人同时对同一模型进行编辑,这就需要协同冲突解决机制解决潜在的冲突问题。本说明书实施例中为了在协同场景下解决冲突问题实现协同建模,如图1所示提供了一种三维CAD模型的协同建模方法,应用于服务器端该方法应用于包括多个浏览器终端,以及与多个浏览器终端相互通信的服务器组成的三维CAD协同***,由图1可知,其方法包括以下步骤:
S101:服务器响应于第一浏览器终端发送的文档请求指令,向所述第一浏览器终端发送模型文档资源;其中,所述文档请求指令是所述第一浏览器终端根据其当前三维CAD模型的模型标识生成的。
首先,为了在多重角度实现协同共享,保障三维CAD项目所有者的管理权限。本说明书实施例中如图2所示的第一浏览器终端会根据当前三维CAD模型的模型标识生成文档请求指令发送到服务器端,然后服务端响应于第一浏览器终端发送的文档请求指令检查相应的项目文档属性以及文档共享权限,从而确定是否向第一浏览器终端返回对应的文档资源。其中,需要说明的项目文档属性以及文档共享权限是基于文档属性以及文档共享权限的配置界面,对文档属性以及文档共享权限进行设置后确定的。
具体地,在本说明书一个或多个实施例中, 服务器响应于第一浏览器终端发送的文档编辑请求指令,向第一浏览器终端发送模型文档资源,具体包括以下过程:
首先根据文档请求指令获取基本请求信息;其中,基本请求信息包括:当前三维CAD模型的模型标识、以及第一浏览器终端的用户信息。然后为了确定第一浏览器终端是否具有三维CAD模型的访问权限,会根据模型标识确定出当前三维CAD模型的文档属性,从而根据模型标识与用户信息确定出该第一浏览器终端所对应的用户的用户存证信息,以便基于用户存证信息确定出第一浏览器终端的访问权限;其中,需要说明的是,如图3所示文档属性包括:公有属性、私有属性,可以理解的是:公有属性为:用户可在【公开项目】栏找到所有公开的项目,但非文档所有者仅有可读权限(无法添加注释),即可以查询并阅览但无法编辑。而私有属性为非文档所有者,无法知晓该文档的存在(【公开项目】中无法看到)。而公有项目和私有项目均可以通过项目分享实现多用户的同步和异步协同设计,分享过程如图4所示为项目分享的方式,后续对该风险的传播过程进行详细阐述。还需要说明的是:用户存证信息是用于记录用户对三维CAD模型文档的访问权限,访问权限包括:禁止访问、只读访问、编辑访问。此时,如果确定第一浏览器终端为禁止访问权限,那么就能够根据文档属性确定出对应的返回信息。而如果确定第一浏览器终端为只读访问权限或编辑访问权限,那么根据第一终端的访问权限与当前三维CAD模型的预置文档功能列表,确定第一浏览器终端所对应的功能权限,并根据功能权限将限定可用组件后的模型文档资源,发送到第一浏览器终端。
进一步地,由于公有属性为:用户可在【公开项目】栏找到所有公开的项目,但非文档所有者是可能仅有可读权限(无法添加注释),即可以查询并阅览但无法编辑。所以在确定第一浏览器终端为禁止访问权限且文档属性为公有属性时,由于公开项目的可以被公开阅览的特性,此时服务器端会获取和公有属性相对应的只读访问权限,从而根据只读访问权限与当前三维CAD模型的预置文档功能列表,确定出第一浏览器终端所对应的功能。而如果第一浏览器终端为禁止访问权限且文档属性为私有属性时,那么此时的第一浏览器终端无法获得模型文档资源,此时会返回和禁止访问权限相对应的禁止访问信息来提示第一浏览器终端的用户。
S102:响应所述第一浏览器终端触发的操作指令,以确定所述模型文档资源的同一浏览器连接组中,是否存在针对于该模型文档资源的建模引擎连接通道的互斥锁;其中,所述建模引擎连接通道对应于不同的浏览器终端的同一模型文档资源。
由于现有基于批注方式进行数据同步进行实现多用户协同建模的方式,一般会直接基于原始三维模型进行批注传输,而在批注传输的过程中易出现批注丢失或批注被篡改等影响文件可靠性的事件。而且基于批注方式进行数据同步时,设计人员会集中对批注进行处理,此时修改图纸的步骤繁复、工作量大、出错几率高,且多设计人员的批注之间存在的冲突设计也难以及时进行规避调整。所以本说明书实施例中为了解决现有批注方式效率低,而多用户同时段操作模型文档资源进行建模时又容易出现建模冲突的问题,本说明书实施例中第一浏览器终端向服务器发送操作指令,服务器响应于第一浏览器终端发送的操作指令,检查第一浏览器终端的操作权限。如果具有该操作权限,则会进一步确定当前模型文档资源的同一浏览器组中,是否存在浏览器具有针对于该模型文档资源的建模引擎连接通道的互斥锁。其中,需要说明的是如果不同的浏览器终端打开的是同一个模型文档资源,则连接通道实际为同一个,如果不同浏览器打开的模型文档资源不同那么连接通道为多个,且分别对应于不同浏览器所打开的不同模型文档,即互斥锁是服务端针对连接通道所添加的,由于一个连接通道只能用于连接一个建模引擎实例,所以对连接通道加锁即能保证同一模型同一时间只执行一个用户的指令,进而避免了指令冲突的问题。
进一步地,在本说明书一个或多个实施例中,响应所述第一浏览器终端触发的操作指令,以确定所述模型文档资源的同一浏览器连接组中是否存在互斥锁,具体包括以下过程:
当接收到第一浏览器终端发送的操作指令之后,检查第一浏览器终端的操作权限,如果确定第一浏览器终端具有该操作指令所对应的操作权限,那么就获取与该模型文档资源相对应的同一浏览器连接组。其中,需要说明的是同一浏览器连接组为发送操作指令时,能够获取与操作指令相对应的模型文档资源的全部浏览器终端。然后再查询模型文档资源的所对应的同一浏览器连接组中是不是有正在建模操作的浏览器终端,进而确定建模引擎连通通道上是否存在互斥锁。
S103:若存在互斥锁,则将所述第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令,以等待第二浏览器终端释放所述模型文档资源的建模引擎连接通道的互斥锁。
如图5所示,服务器基于指令接收器接收第一浏览器端发送的建模指令后,会检查是否存在互斥锁,如果服务器确定存在互斥锁那么就将第一浏览器终端的当前操作指令加入到指令等待区中作为待执行操作指令,从而等待互斥锁当前所对应的第二浏览器终端释放互斥锁后再进行操作。具体地,在本说明书一个或多个实施例中,将第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令,以等待互斥锁当前所对应的第二浏览器终端释放建模引擎连接通道的互斥锁,具体包括以下过程:
首先,将第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令,从而根据待执行操作指令的接收时间戳的先后顺序,将待操作指令依次加入指令等待队列中。如图5所示在等待区中服务器根据第二浏览器终端的操作指令,确定第二浏览器终端的当前特征操作,以监听所述当前特征操作是否完成,以获得对应的建模完成指令。如果接收到建模完成指令,则释放互斥锁,以便依次对等待指令队列中各浏览器终端对应的模型文档资源的建模引擎连接通道进行互斥锁添加。同时还需要说明的是,在确定出第二浏览器终端的当前特征操作之后,会获取所述等待队列中第一浏览器终端的操作指令所对应的特征操作,若第二浏览器的当前特征操作与第一浏览器终端所对应的特征操作存在操作冲突,那么就向第一浏览器终端提示该操作冲突。
其中,为了对第一浏览器终端与第二浏览器终端进行更加直观的描述,例如图6所示的示意图,将客户端B视为第一浏览器终端,将客户端A视为第二浏览器终端,此时当第一浏览器终端发送操作指令到服务器后检查第一浏览器终端的模型文档资源,在第二浏览器终端的连接通道上已经存在了互斥锁。那么服务器会将第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令,从而根据待执行操作指令的接收时间戳,将待执行操作指令加入指令等待队列中。
在本说明书某应用场景下的实施例中,在执行指令时,尝试获取该连接对象的互斥锁,如获取成功,则添加互斥锁,占据与建模引擎实例的唯一连接通道,执行指令并接受返回数据。在完成这一系列操作后,删除并释放互斥锁,以保证下一个指令能正常加锁执行。如果未能获取互斥锁,则进入等待区,定期尝试获取互斥锁,直到获取成功。例如:图6所示的过程:客户端A和客户端B均向服务器端发送操作指令该操作指令可以为建模指令也可以为与建模指令相关联的查看指令等。由于服务器接收到的指令是有顺序的,如果服务器先接收到了客户端A发送的指令,也就是相当于服务器先接收到了第二浏览器终端的指令且服务器端当前没有互斥锁,那么服务器允许客户端A的建模指令添加互斥锁后进入建模区进行指令建模,建模完成后添加释放互斥锁。客户端B也就相当于上述第一浏览器终端,其建模指令到达服务器端后,服务器将检查有没有互斥锁,由于客户端A已经添加了互斥锁,所以客户端B的建模指令会进入等待区,而服务器在等待区中会检查该建模指令与客户端A的指令是否冲突,如果存在冲突则发送异常信息以拒绝其建模请求;如果不冲突则可定时检查能否获取互斥锁,待客户端A的建模指令执行完毕后方可获取互斥锁,随后进行加互斥锁以及执行指令。通过上述协同过程,解决了多客户端协同设计时操作易产生冲突的问题,减少了建模修改的次数提高了建模的效率。
进一步地,为了使得协同用户的操作可以被展示,从而避免其他协同用户的冲突操作。在本说明书一个或多个实施例中,将第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令,以根据待执行操作指令的接收时间戳加入指令等待队列中之后,方法还包括以下过程:
首先根据第二浏览器终端的操作指令,确定出第二浏览器终端的特征操作数据。然后获取和特征操作数据具有交互关系的待执行操作指令,其中需要说明的是,该交互关系是可能造成指令冲突的关系例如:依赖关系、关联关系、组合关系、重叠关系中。然后将该待执行操作指令划分到异常提醒集合中,以将该交互关系以及第二浏览器终端的操作指令写入预置消息模板中,以构建异常提醒集合中各个待执行操作指令的冲突异常信息,并将冲突异常信息返回对应的第一浏览器终端,从而避免了冲突的产生。
进一步地,在本说明书一个或多个实施例中,接收到所述建模完成指令之前,方法还包括以下过程:
首先根据第二浏览器终端的操作指令,确定出第二浏览器终端的当前特征操作。然后再将当前特征操作的名称与第二浏览器终端的标识,基于WebSocket,显示到与第二浏览器终端相对应的同一浏览器终端组内各浏览器终端的设计界面上,以便于其他浏览器终端的用户可以避开对于该技术特征的操作,降低建模冲突的问题。如图7(a)-图7(b)所示,用户在浏览器终端在进行建模操作时,UI界面会给出相应的标识,表明有浏览器终端正在进行该操作,其余浏览器终端用户可以通过UI获取该信息,可以避免做相同的操作。即点击[1]处协同图标可查看当前参与协同的全部设计人员,确定当前参与协同设计的人员有[3]和[4],在提示信息[2]中可以提示设计人员做的操作,协同设计人员[3]编辑特征[5]时,服务器为特征[5]添加互斥锁,此时特征[5]上会出现框标识该特征正在被编辑,例如框的颜色与右下角用户[3]/[4]前边的颜色一致,用于标识哪个用户正在编辑这个特征,基于颜色区分的方式能够确保协同设计人员[4]无法编辑特征[5],进而避免了协同冲突的问题。进一步地在特征操作完成后,服务器会获取当前特征操作所对应的变更数据,从而将变更数据发送到指令等待队列中各待执行指令所对应的浏览器终端,实现指令等待序列中各所述浏览器终端的数据同步,以便于各终端的协同建模,避免了各个协同设计人员全部完成建模操作后再进行建模数据汇总统一时,出现的建模错误问题。
S104:若不存在互斥锁,则对所述模型文档资源的建模引擎连接通道添加互斥锁,以锁定所述建模引擎连接通道与建模引擎实例,并基于所述建模引擎实例执行所述待执行操作指令进行建模。
基于上述步骤S102如果服务器确定不存在互斥锁,那么就对与第一浏览器终端相对应的模型文档资源的建模引擎连接通道添加互斥锁,从而锁定连接通道和建模引擎实例,以便于根据建模引擎实例执行所述待执行操作指令进行建模。其中,需要说明的是建模引擎实例,是指服务器中建模引擎组件的一个实例程序。
进一步地,在本说明书一个或多个实施例中对与模型文档资源的建模引擎连接通道添加互斥锁,以锁定建模引擎连接通道与建模引擎实例之后,方法还包括以下过程:
服务器根据建模引擎实例执行待执行操作指令,以确定待执行操作指令所对应的特征操作令,在执行过程中产生的变更数据。也就是说确定该待执行操作指令所对应的特征操作后,可以确定该特征操作在原始模型文档资源中所对应的模型场景数据。从而在该待执行操作指令的执行过程中,能够实时获取该待执行操作指令相对于模型场景数据的变更数据。其中,需要说明的是特征操作以树形结构展示于模型文档资源的特征面板上,特征操作包括:拉伸凸台或基体、扫描凸台或基体、拉伸切除等模型操作。然后根据该变更数据对模型文档资源中的模型文档数据进行适应性更新,获得更新后的模型文档数据,从而将更新后的模型文档数据返回第一浏览器终端,以便于第一浏览器终端进行后续建模操作。
进一步地,为了实现模型文件资源进一步协同建模需要对更新后的模型文档资源进行传输。所以在本说明书一个或多个实施例中,根据变更数据对所述模型文档资源中的模型文档数据进行更新,获得更新后的模型文档数据,并将更新后的模型文档数据返回第一浏览器终端之后,如图4所示项目需要进行协同设计也就是需要进行共享,所以方法还包括以下步骤:首先获取第一浏览器终端的再传播权限,然后为了避免传播过程中的传播节点距离项目管理者过远导致的文档分享难以控制的问题,本说明书中的服务器根据该再传播权限与预置权限传递策略,对更新后的模型文档资源进行传输,以实现更新后的模型文档资源的协同共享,解决了传播节点距离项目管理者过远导致的文档分享难以控制的问题。
进一步地,在本说明书一个实施例中,根据再传播权限与预置权限传递策略,对更新后的模型文档数据所对应的更新后的模型文档资源进行传输,以实现更新后的模型文档资源的协同共享,具体包括:
根据再传播权限,将第一浏览器终端更新后的模型文档资源传输给第二浏览器终端,以基于第二浏览器终端进行再传输,也就是说第一浏览器终端A分享传输给了第二浏览器终端B,第二浏览器终端B分享传输给了浏览器C……,通过再传播权限实现了模型文档资源的传输共享。而为了保证模型文档资源的所有者对于模型文档资源传输的管理和控制,会记录文档模型资源传播过程中的传播信息例如传播路径以及各个浏览器终端所拥有的操作权限等,并且该传播信息以列表的形式在源终端,也就是该模型文档资源所有者的浏览器终端进行展示,以便于源终端对于各浏览器终端对于模型文档资源的共享传播以及操作权限进行及时的调整,实现更新后的模型文档资源的协同共享。
进一步地,在本说明书另一个实施例中,根据再传播权限与预置权限传递策略,对更新后的模型文档数据所对应的更新后的模型文档资源进行传输,以实现更新后的模型文档资源的协同共享,具体包括以下步骤:
首先根据再传播权限,将第一浏览器终端更新后的模型文档资源传输给第二浏览器终端,从而建立第一浏览器终端与第二浏览器终端的分享路径,并在将再传播权限的标签标注在第一浏览器终端与第二浏览器终端的之间分享路径上。其中,基于上述步骤说明可知,再传播权限包括:可分享权限、可分享权限的组件,不可分享权限。服务器获取第一浏览器终端与第二浏览器终端基于再传播权限,迭代分享后所产生的当前分享图数据。其中,可以理解的是在当前分享图数据中,各浏览器终端作为当前分享图数据的节点,分享路径作为当前分享图数据的连接路径。然后服务器根据连接路径中各分享路径的标签,提取分享路径中各可分享权限的浏览器终端构成的连通图。从而根据预置权限传递策略对连通图中各浏览器的分享路径及可分享权限的组件进行分析,从而判断模型文档资源是否能够继续进行传输共享。
进一步地,在本说明书一个或多个实施例中,根据预置权限传递策略对连通图中各浏览器的分享路径及可分享权限的组件进行分析,以判断模型文档资源是否继续进行传输共享,具体包括以下过程:
首先获取连通图中的边缘节点,也就是当前需要判断能否将模型文档资源分享给下一被分享者的边缘浏览器终端,从而判断该边缘节点对应的分享路径的标签是否为初始标签即当前边缘浏览器终端是否对应为初始分享者。即可以理解的是:初始标签为基于第一浏览器终端的再传播权限进行标注的标签,边缘节点为当前待传播浏览器终端。如果不是初始标签,那么可以确定当前待传播浏览器的溯源路径,以及溯源路径中各分享路径所对应的可分享权限的组件,并获取各可分享权限的组件的数量。然后根据各可分享权限的组件的数量确定出边缘节点到第一浏览器终端溯源路径的再传播权值,从而根据溯源路径的长度确定出溯源路径的再传播权值的加权值,进而根据加权值确定出各溯源路径的可分享权值。如果服务器确定溯源路径的可分享权值小于预置可分享权值,那么就将该边缘节点的用户信息发送到第一浏览器终端中,从而基于第一浏览器终端重新设置确定边缘节点的再传播权限,以基于重新设置后的再传播权限确定边缘节点是否继续进行传输共享。
图8为本说明书实施例提供的另一种三维CAD模型的协同建模方法流程示意图。由图8可知,在本说明书一个或多个实施例中,提供了一种三维CAD模型的协同建模方法,应用于包括:多个浏览器终端,以及与所述多个浏览器终端相互通信的服务器组成的三维CAD协同***,该方法以浏览器终端作为执行主体,方法包括:
S801:第一浏览器终端根据当前三维CAD模型的模型标识,生成文档请求指令,以获取服务器响应于所述文档请求指令范围的模型文档资源;
S802:根据所述访问权限中的操作权限执行对应的特征操作,以将所述特征操作所对应的操作指令发送到所述服务器,以便基于所述服务器确定所述模型文档资源的建模引擎连接通道是否存在互斥锁;其中,所述建模引擎连接通道对应于不同的浏览器终端的同一模型文档资源;
S803:若存在互斥锁,则所述第一浏览器终端等待获取所述服务器上传的第二浏览器终端的建模完成指令,并获取所述第二浏览器终端释放的所述建模引擎连接通道的互斥锁;其中,所述释放的建模引擎连接通道的互斥锁,基于服务器添加到与所述第一浏览器终端相对应的模型文档资源的建模引擎连接通道;
S804:接收所述服务器返回的更新后的模型文档资源;其中,所述更新后的模型文档资源为服务器基于建模引擎实例执行所述对应的操作指令,以记录与所述特征操作相对应的执行记录,并基于所述执行记录更新所述模型文档资源获得的。
基于图3可知,第一浏览器终端首先根据当前三维CAD模型的文档属性与文档共享权限,生成文档请求指令,从而获取到服务器响应于该文档请求指令范围的模型文档资源,也就是第一浏览器终端先检查文档属性,从而基于文档属性以及文档共享权限生成请求文档指令发送到服务器端,获取服务器端返回的模型文档资源,然后第一浏览器终端在模型文档资源进行建模,从而将建模处理过程中产生的特征操作所对应的操作指令发送到服务器,从而使得服务器根据第一浏览器终端的操作指令,确定模型文档资源的连接通道是否存在互斥锁;其中,需要说明的是连接通道为多个,且分别对应于不同的浏览器终端。如果服务器确定存在互斥锁,那么第一浏览器终端获取服务器返回的异常信息后,会等待获取服务器上传的第二浏览器终端的建模完成指令,从而获取释放的所述互斥锁。其中,需要说明的是释放的互斥锁基于服务器添加到与第一浏览器终端的当前操作指令上。第一浏览器终端进行建模操作后,第一浏览器终端接收服务器返回的更新后的模型文档数据;其中,更新后的模型文档数据为服务器基于建模引擎实例执行操作指令时产生的变更数据确定的。
图9为本说明书实施例提供的一种三维CAD模型的协同建模服务器的内部结构示意图。由图9可知,本说明书一个或多个实施例中提供一种三维CAD模型的协同建模服务器,其特征在于,所述服务器与多个浏览器终端相互通信,所述服务器包括处理器、发射器、接收器:
所述接收器用于接收浏览器终端发送的文档请求指令;
所述处理器用于响应于文档请求指令,并向第一浏览器终端发送模型文档资源;其中,所述文档请求指令是所述第一浏览器终端根据其当前三维CAD模型的模型标识生成的;
根据所述第一浏览器触发的操作指令,确定所述模型文档资源的同一浏览器连接组中,是否存在针对于该模型文档资源的建模引擎连接通道的互斥锁;其中,所述连接通道对应于不同的浏览器终端的同一模型文档资源;
若存在互斥锁,则将所述第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令,以等待第二浏览器终端释放所述模型文档资源的建模引擎连接通道的互斥锁;
若不存在互斥锁的情况下,则对所述模型文档资源的建模引擎连接通道添加互斥锁,以锁定所述建模引擎连接通道与建模引擎实例,并基于所述建模引擎实例执行所述待执行操作指令进行建模;
所述发射器用于将所述待执行操作指令所对应的变更数据发送给所述浏览器终端。
图10为本说明书实施例提供的一种三维CAD模型的协同建模浏览器终端的内部结构示意图,由图10可知,本说明书一个或多个实施例中提供一种三维CAD模型的协同建模浏览器终端, 所述浏览器终端有多个,且与所述服务器通信,所述浏览器终端包括处理器、发射器、接收器;
所述处理器用于根据当前三维CAD模型的模型标识,生成文档请求指令,以使所述接收器接收所述服务器响应于所述文档请求指令范围的模型文档资源,以使处理器能够根据第一浏览器终端访问权限中的操作权限执行对应的特征操作;
所述发射器用于将所述特征操作所对应的操作指令发送到所述服务器,以便基于所述服务器确定模型文档资源的同一浏览器连接组中,是否存在针对于该模型文档资源的建模引擎连接通道的互斥锁;其中,所述连接通道对应于不同的浏览器终端的同一模型文档资源;
所述处理器还用于在确定存在互斥锁的情况下,等待获取所述服务器上传的其他浏览器终端的建模完成指令,并获取释放的所述互斥锁;其中,所述释放的互斥锁基于服务器添加到所述浏览器终端的当前操作指令上;
所述接收器用于接收所述服务器返回的更新后的模型文档资源;其中,所述更新后的模型文档资源为服务器基于建模引擎实例执行所述对应的操作指令,以记录与所述特征操作相对应的执行记录,并基于所述执行记录更新所述模型文档资源获得的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (11)

1.一种三维CAD模型的协同建模方法,应用于服务器端,其特征在于,所述方法包括:
服务器响应于第一浏览器终端发送的文档请求指令,向所述第一浏览器终端发送模型文档资源;其中,所述文档请求指令是所述第一浏览器终端根据其当前三维CAD模型的模型标识生成的;
响应所述第一浏览器终端触发的操作指令,以确定所述模型文档资源的同一浏览器连接组中,是否存在针对于该模型文档资源的建模引擎连接通道的互斥锁;其中,所述建模引擎连接通道对应于不同的浏览器终端的同一模型文档资源;
若存在互斥锁,则将所述第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令,以等待第二浏览器终端释放所述模型文档资源的建模引擎连接通道的互斥锁;
若不存在互斥锁,则对所述模型文档资源的建模引擎连接通道添加互斥锁,以锁定所述建模引擎连接通道与建模引擎实例,并基于所述建模引擎实例执行所述待执行操作指令进行建模;
对与所述模型文档资源的建模引擎连接通道添加互斥锁,以锁定所述建模引擎连接通道与建模引擎实例之后,所述方法还包括:
基于所述建模引擎实例执行所述待执行操作指令;
确定所述待执行操作指令所对应的特征操作,在执行过程中产生的变更数据,以将所述变更数据返回与所述第一浏览器终端相对应的同一浏览器终端组内;其中,所述特征操作以树形结构展示于所述模型文档资源的特征面板,包括:拉伸凸台或基体、扫描凸台或基体、拉伸切除;
根据所述变更数据对所述模型文档资源中的模型文档数据进行更新,获得更新后的模型文档数据,并返回所述第一浏览器终端之后,所述方法还包括:
获取所述第一浏览器终端的再传播权限;
根据所述再传播权限与预置权限传递策略,对所述更新后的模型文档数据所对应的更新后的模型文档资源进行传输,以实现所述更新后的模型文档资源的协同共享;
根据所述再传播权限与预置权限传递策略,对所述更新后的模型文档数据所对应的更新后的模型文档资源进行传输,以实现所述更新后的模型文档资源的协同共享,具体包括:
根据所述再传播权限,将第一浏览器终端更新后的模型文档资源传输给第二浏览器终端,以建立所述第一浏览器终端与所述第二浏览器终端的分享路径,并在将所述再传播权限的标签标注在所述分享路径;其中,所述再传播权限包括:可分享权限、可分享权限的组件,不可分享权限;
获取所述第一浏览器终端与所述第二浏览器终端基于所述再传播权限,迭代分享获得的当前分享图数据;其中,各所述浏览器终端作为所述当前分享图数据的节点,分享路径作为所述当前分享图数据的连接路径;
基于所述连接路径中各分享路径的标签,提取所述分享路径中各所述可分享权限的浏览器终端构成的连通图;
根据所述预置权限传递策略对所述连通图中各所述浏览器的分享路径及可分享权限的组件进行分析,以判断所述模型文档资源是否继续进行传输;
根据所述预置权限传递策略对所述连通图中各所述浏览器的分享路径及可分享权限的组件进行分析,以判断所述模型文档资源是否继续进行传输,具体包括:
获取所述连通图中边缘节点,以判断所述边缘节点对应的所述分享路径的标签是否为初始标签;其中,所述初始标签为基于所述第一浏览器终端的再传播权限进行标注的标签,所述边缘节点为当前待传播浏览器终端;
若否,则确定当前待传播浏览器的溯源路径,以及所述溯源路径中各分享路径所对应的可分享权限的组件,并获取各所述可分享权限的组件的数量;
基于所述数量确定各所述溯源路径的再传播权值,并基于所述溯源路径的长度确定所述溯源路径的再传播权值的加权值,以基于所述加权值确定各所述溯源路径的可分享权值;
若所述溯源路径的可分享权值小于预置可分享权值,则将所述边缘节点的用户信息发送到所述第一浏览器终端所对应的源终端,以基于所述第一浏览器终端的源终端重置所述边缘节点的再传播权限,确定所述边缘节点是否继续进行传输;其中,所述源终端为所述模型文件资源的所有权终端。
2.根据权利要求1所述的一种三维CAD模型的协同建模方法,其特征在于,所述服务器响应于第一浏览器终端发送的文档编辑请求指令,向所述第一浏览器终端发送模型文档资源,具体包括:
基于所述文档请求指令获取基本请求信息;其中,所述基本请求信息包括:所述当前三维CAD模型的模型标识、所述第一浏览器终端的用户信息;
根据所述模型标识确定所述当前三维CAD模型的文档属性,并根据所述模型标识与所述用户信息确定用户存证信息,以便基于所述用户存证信息确定所述第一浏览器终端的访问权限;其中,所述文档属性包括:公有属性、私有属性;所述用户存证信息用于记录用户对三维CAD模型文档的访问权限,所述访问权限包括:禁止访问、只读访问、编辑访问;
若确定所述第一浏览器终端为禁止访问权限,则基于所述文档属性确定对应的返回信息;
若确定所述第一浏览器终端为只读访问权限或编辑访问权限,则根据所述第一浏览器终端的访问权限与所述当前三维CAD模型的预置文档功能列表,确定所述第一浏览器终端所对应的功能权限,并根据所述功能权限将限定可用组件后的模型文档资源,发送到所述第一浏览器终端。
3.根据权利要求2所述的一种三维CAD模型的协同建模方法,其特征在于,所述若确定所述第一浏览器终端为禁止访问权限,则基于所述文档属性确定对应的返回信息,具体包括:
若确定所述第一浏览器终端为禁止访问权限且所述文档属性为公有属性,则获取与所述公有属性相对应的只读访问权限,以基于所述只读访问权限与所述当前三维CAD模型的预置文档功能列表,确定所述第一浏览器终端所对应的功能;
若确定所述第一浏览器终端为禁止访问权限且所述文档属性为私有属性,则返回与所述禁止访问权限相对应的禁止访问信息。
4.根据权利要求1所述的一种三维CAD模型的协同建模方法,其特征在于,响应所述第一浏览器终端触发的操作指令,以确定所述模型文档资源的同一浏览器连接组中是否存在互斥锁,具体包括:
响应于第一浏览器终端发送的操作指令,检查第一浏览器终端的操作权限;
若确定所述第一浏览器终端具有所述操作权限,则获取与所述模型文档资源相对应的同一浏览器连接组;其中,所述同一浏览器连接组为发送所述操作指令时,能够获取与所述操作指令相对应的模型文档资源的全部浏览器终端;
查询模型文档资源的所对应的同一浏览器连接组中是否存在建模操作,以确定建模引擎连通通道上是否存在互斥锁。
5.根据权利要求1所述的一种三维CAD模型的协同建模方法,其特征在于,若存在互斥锁,则将所述第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令,以等待第二浏览器终端释放所述模型文档资源的建模引擎连接通道的互斥锁,具体包括:
将所述第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令,以根据所述待执行操作指令的接收时间戳加入指令等待队列中;
根据所述第二浏览器终端的操作指令,确定所述第二浏览器终端的当前特征操作,以监听所述当前特征操作是否完成,以获得对应的建模完成指令;
若接收到所述建模完成指令,则释放所述互斥锁,以便依次对等待指令队列中各浏览器终端对应的模型文档资源的建模引擎连接通道进行互斥锁添加。
6.根据权利要求5所述的一种三维CAD模型的协同建模方法,其特征在于,接收到所述建模完成指令之前,所述方法还包括:
根据所述第二浏览器终端的操作指令,确定所述第二浏览器终端的当前特征操作;
将所述当前特征操作的名称与所述第二浏览器终端的标识,基于WebSocket显示到与所述第二浏览器终端相对应的同一浏览器终端组内各所述浏览器终端的设计界面。
7.根据权利要求5所述的一种三维CAD模型的协同建模方法,其特征在于,将所述第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令,以根据所述待执行操作指令的接收时间戳加入指令等待队列中之后,所述方法还包括:
根据所述第二浏览器终端的操作指令,确定所述第二浏览器终端的特征操作数据;
获取与所述特征操作数据具有交互关系的待执行操作指令,并将该待执行操作指令划分到异常提醒集合;其中,所述交互关系至少包括以下任意一项或多项:依赖关系、关联关系、组合关系、重叠关系中;
将所述交互关系与所述第二浏览器终端的操作指令写入预置消息模板,以构建所述异常提醒集合中各所述待执行操作指令的冲突异常信息,并将所述冲突异常信息返回对应的第一浏览器终端。
8.根据权利要求1所述的一种三维CAD模型的协同建模方法,其特征在于,根据所述再传播权限与预置权限传递策略,对所述更新后的模型文档资源进行传输,以实现所述更新后的模型文档资源的协同共享,具体包括:
根据所述再传播权限,将第一浏览器终端更新后的模型文档资源传输给第二浏览器终端,以基于所述第二浏览器终端进行再传输;
记录所述模型文档资源的传播信息返回所述模型文档资源所对应的源终端,以使所述源终端将所述传播信息以列表形式进行展示,以调整各所述浏览器终端对于所述模型文档资源的权限,并基于所述模型文档资源的权限进行后续传输,实现更新后的模型文档资源的协同共享。
9.根据权利要求1所述的一种三维CAD模型的协同建模方法,其特征在于,应用于浏览器终端时所述方法包括:
第一浏览器终端根据当前三维CAD模型的模型标识,生成文档请求指令,以获取服务器响应于所述文档请求指令范围的模型文档资源;
根据所述第一浏览器终端访问权限中的操作权限执行对应的特征操作,以将所述特征操作所对应的操作指令发送到所述服务器,以便基于所述服务器确定所述模型文档资源的建模引擎连接通道是否存在互斥锁;其中,所述建模引擎连接通道对应于不同的浏览器终端的同一模型文档资源;
若存在互斥锁,则所述第一浏览器终端等待获取所述服务器上传的第二浏览器终端的建模完成指令,并获取所述第二浏览器终端释放的所述建模引擎连接通道的互斥锁;其中,所述释放的建模引擎连接通道的互斥锁,基于服务器添加到与所述第一浏览器终端相对应的模型文档资源的建模引擎连接通道;
接收所述服务器返回的更新后的模型文档资源;其中,所述更新后的模型文档资源为服务器基于建模引擎实例执行所述对应的操作指令,以记录与所述特征操作相对应的执行记录,并基于所述执行记录更新所述模型文档资源获得的。
10.一种三维CAD模型的协同建模服务器,其特征在于,所述服务器与多个浏览器终端相互通信,所述服务器包括处理器、发射器、接收器:
所述接收器用于接收浏览器终端发送的文档请求指令;
所述处理器用于响应于文档请求指令,并向第一浏览器终端发送模型文档资源;其中,所述文档请求指令是所述第一浏览器终端根据其当前三维CAD模型的模型标识生成的;
根据所述第一浏览器触发的操作指令,确定所述模型文档资源的同一浏览器连接组中,是否存在针对于该模型文档资源的建模引擎连接通道的互斥锁;其中,所述连接通道对应于不同的浏览器终端的同一模型文档资源;
若存在互斥锁,则将所述第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令,以等待第二浏览器终端释放所述模型文档资源的建模引擎连接通道的互斥锁;
若不存在互斥锁的情况下,则对所述模型文档资源的建模引擎连接通道添加互斥锁,以锁定所述建模引擎连接通道与建模引擎实例,并基于所述建模引擎实例执行所述待执行操作指令进行建模;
所述发射器用于将所述待执行操作指令所对应的变更数据发送给所述浏览器终端;
其中,对所述模型文档资源的建模引擎连接通道添加互斥锁,以锁定所述建模引擎连接通道与建模引擎实例之后,还包括:
基于所述建模引擎实例执行所述待执行操作指令;
确定所述待执行操作指令所对应的特征操作,在执行过程中产生的变更数据,以将所述变更数据返回与所述第一浏览器终端相对应的同一浏览器终端组内;其中,所述特征操作以树形结构展示于所述模型文档资源的特征面板,包括:拉伸凸台或基体、扫描凸台或基体、拉伸切除;
根据所述变更数据对所述模型文档资源中的模型文档数据进行更新,获得更新后的模型文档数据,并返回所述第一浏览器终端之后,还包括:
获取所述第一浏览器终端的再传播权限;
根据所述再传播权限与预置权限传递策略,对所述更新后的模型文档数据所对应的更新后的模型文档资源进行传输,以实现所述更新后的模型文档资源的协同共享;
根据所述再传播权限与预置权限传递策略,对所述更新后的模型文档数据所对应的更新后的模型文档资源进行传输,以实现所述更新后的模型文档资源的协同共享,具体包括:
根据所述再传播权限,将第一浏览器终端更新后的模型文档资源传输给第二浏览器终端,以建立所述第一浏览器终端与所述第二浏览器终端的分享路径,并在将所述再传播权限的标签标注在所述分享路径;其中,所述再传播权限包括:可分享权限、可分享权限的组件,不可分享权限;
获取所述第一浏览器终端与所述第二浏览器终端基于所述再传播权限,迭代分享获得的当前分享图数据;其中,各所述浏览器终端作为所述当前分享图数据的节点,分享路径作为所述当前分享图数据的连接路径;
基于所述连接路径中各分享路径的标签,提取所述分享路径中各所述可分享权限的浏览器终端构成的连通图;
根据所述预置权限传递策略对所述连通图中各所述浏览器的分享路径及可分享权限的组件进行分析,以判断所述模型文档资源是否继续进行传输;
根据所述预置权限传递策略对所述连通图中各所述浏览器的分享路径及可分享权限的组件进行分析,以判断所述模型文档资源是否继续进行传输,具体包括:
获取所述连通图中边缘节点,以判断所述边缘节点对应的所述分享路径的标签是否为初始标签;其中,所述初始标签为基于所述第一浏览器终端的再传播权限进行标注的标签,所述边缘节点为当前待传播浏览器终端;
若否,则确定当前待传播浏览器的溯源路径,以及所述溯源路径中各分享路径所对应的可分享权限的组件,并获取各所述可分享权限的组件的数量;
基于所述数量确定各所述溯源路径的再传播权值,并基于所述溯源路径的长度确定所述溯源路径的再传播权值的加权值,以基于所述加权值确定各所述溯源路径的可分享权值;
若所述溯源路径的可分享权值小于预置可分享权值,则将所述边缘节点的用户信息发送到所述第一浏览器终端所对应的源终端,以基于所述第一浏览器终端的源终端重置所述边缘节点的再传播权限,确定所述边缘节点是否继续进行传输;其中,所述源终端为所述模型文件资源的所有权终端。
11.一种三维CAD模型的协同建模浏览器终端,所述浏览器终端有多个,且与服务器通信,所述浏览器终端包括处理器、发射器、接收器;
所述处理器用于根据当前三维CAD模型的模型标识,生成文档请求指令,以使所述接收器接收所述服务器响应于所述文档请求指令范围的模型文档资源,以使处理器能够根据第一浏览器终端访问权限中的操作权限执行对应的特征操作;
所述发射器用于将所述特征操作所对应的操作指令发送到所述服务器,以便基于所述服务器确定模型文档资源的同一浏览器连接组中,是否存在针对于该模型文档资源的建模引擎连接通道的互斥锁;其中,所述连接通道对应于不同的浏览器终端的同一模型文档资源;
所述处理器还用于在确定存在互斥锁的情况下,将第一浏览器终端的当前操作指令加入指令等待区,作为待执行操作指令,等待获取所述服务器上传的其他浏览器终端的建模完成指令,并获取释放的所述互斥锁;其中,所述释放的互斥锁基于服务器添加到所述浏览器终端的当前操作指令上;
所述接收器用于接收所述服务器返回的更新后的模型文档资源;其中,所述更新后的模型文档资源为服务器基于建模引擎实例执行所述对应的操作指令,以记录与所述特征操作相对应的执行记录,并基于所述执行记录更新所述模型文档资源获得的;
其中,所述释放的互斥锁基于服务器添加到所述第一浏览器终端的当前操作指令上之后,还包括:
基于所述建模引擎实例执行所述待执行操作指令;
确定所述待执行操作指令所对应的特征操作,在执行过程中产生的变更数据,以将所述变更数据返回与所述第一浏览器终端相对应的同一浏览器终端组内;其中,所述特征操作以树形结构展示于所述模型文档资源的特征面板,包括:拉伸凸台或基体、扫描凸台或基体、拉伸切除;
根据所述变更数据对所述模型文档资源中的模型文档数据进行更新,获得更新后的模型文档数据,并返回所述第一浏览器终端之后,还包括:
获取所述第一浏览器终端的再传播权限;
根据所述再传播权限与预置权限传递策略,对所述更新后的模型文档数据所对应的更新后的模型文档资源进行传输,以实现所述更新后的模型文档资源的协同共享;
根据所述再传播权限与预置权限传递策略,对所述更新后的模型文档数据所对应的更新后的模型文档资源进行传输,以实现所述更新后的模型文档资源的协同共享,具体包括:
根据所述再传播权限,将第一浏览器终端更新后的模型文档资源传输给第二浏览器终端,以建立所述第一浏览器终端与所述第二浏览器终端的分享路径,并在将所述再传播权限的标签标注在所述分享路径;其中,所述再传播权限包括:可分享权限、可分享权限的组件,不可分享权限;
获取所述第一浏览器终端与所述第二浏览器终端基于所述再传播权限,迭代分享获得的当前分享图数据;其中,各所述浏览器终端作为所述当前分享图数据的节点,分享路径作为所述当前分享图数据的连接路径;
基于所述连接路径中各分享路径的标签,提取所述分享路径中各所述可分享权限的浏览器终端构成的连通图;
根据所述预置权限传递策略对所述连通图中各所述浏览器的分享路径及可分享权限的组件进行分析,以判断所述模型文档资源是否继续进行传输;
根据所述预置权限传递策略对所述连通图中各所述浏览器的分享路径及可分享权限的组件进行分析,以判断所述模型文档资源是否继续进行传输,具体包括:
获取所述连通图中边缘节点,以判断所述边缘节点对应的所述分享路径的标签是否为初始标签;其中,所述初始标签为基于所述第一浏览器终端的再传播权限进行标注的标签,所述边缘节点为当前待传播浏览器终端;
若否,则确定当前待传播浏览器的溯源路径,以及所述溯源路径中各分享路径所对应的可分享权限的组件,并获取各所述可分享权限的组件的数量;
基于所述数量确定各所述溯源路径的再传播权值,并基于所述溯源路径的长度确定所述溯源路径的再传播权值的加权值,以基于所述加权值确定各所述溯源路径的可分享权值;
若所述溯源路径的可分享权值小于预置可分享权值,则将所述边缘节点的用户信息发送到所述第一浏览器终端所对应的源终端,以基于所述第一浏览器终端的源终端重置所述边缘节点的再传播权限,确定所述边缘节点是否继续进行传输;其中,所述源终端为所述模型文件资源的所有权终端。
CN202311265502.2A 2023-09-28 2023-09-28 一种三维cad模型的协同建模方法、服务器及终端 Active CN116992517B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311265502.2A CN116992517B (zh) 2023-09-28 2023-09-28 一种三维cad模型的协同建模方法、服务器及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311265502.2A CN116992517B (zh) 2023-09-28 2023-09-28 一种三维cad模型的协同建模方法、服务器及终端

Publications (2)

Publication Number Publication Date
CN116992517A CN116992517A (zh) 2023-11-03
CN116992517B true CN116992517B (zh) 2023-12-26

Family

ID=88528743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311265502.2A Active CN116992517B (zh) 2023-09-28 2023-09-28 一种三维cad模型的协同建模方法、服务器及终端

Country Status (1)

Country Link
CN (1) CN116992517B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077453A (zh) * 2012-12-31 2013-05-01 南京烽火星空通信发展有限公司 一种多人协同工作的数据分析方法及***
CN108170842A (zh) * 2018-01-16 2018-06-15 重庆邮电大学 基于三部图模型的微博热点话题溯源方法
CN109034716A (zh) * 2017-06-12 2018-12-18 南京航空航天大学 一种基于分组的协同编辑并发加锁方法
KR101950422B1 (ko) * 2017-08-10 2019-02-20 (주)사이냅소프트 편집 권한 설정을 지원하는 공동 편집을 위한 문서 편집 시스템 및 방법
CN111831260A (zh) * 2020-07-13 2020-10-27 重庆大学 一种基于web建模的数据同步方法、***及相关装置
CN111985191A (zh) * 2020-08-05 2020-11-24 北京同创永益科技发展有限公司 一种多人协同在线文档编辑方法及其装置
CN112241865A (zh) * 2019-07-16 2021-01-19 腾讯科技(深圳)有限公司 一种文档协同处理的方法以及相关装置
CN112567373A (zh) * 2018-07-16 2021-03-26 苏州浩辰软件股份有限公司 一种cad协同设计***
CN112597116A (zh) * 2020-12-23 2021-04-02 中国电子信息产业集团有限公司第六研究所 一种自主可控平台下的文档共享智能管理***
WO2021180198A1 (zh) * 2020-03-13 2021-09-16 北京字节跳动网络技术有限公司 信息交互方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130283147A1 (en) * 2012-04-19 2013-10-24 Sharon Wong Web-based collaborative document review system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077453A (zh) * 2012-12-31 2013-05-01 南京烽火星空通信发展有限公司 一种多人协同工作的数据分析方法及***
CN109034716A (zh) * 2017-06-12 2018-12-18 南京航空航天大学 一种基于分组的协同编辑并发加锁方法
KR101950422B1 (ko) * 2017-08-10 2019-02-20 (주)사이냅소프트 편집 권한 설정을 지원하는 공동 편집을 위한 문서 편집 시스템 및 방법
CN108170842A (zh) * 2018-01-16 2018-06-15 重庆邮电大学 基于三部图模型的微博热点话题溯源方法
CN112567373A (zh) * 2018-07-16 2021-03-26 苏州浩辰软件股份有限公司 一种cad协同设计***
CN112241865A (zh) * 2019-07-16 2021-01-19 腾讯科技(深圳)有限公司 一种文档协同处理的方法以及相关装置
WO2021180198A1 (zh) * 2020-03-13 2021-09-16 北京字节跳动网络技术有限公司 信息交互方法、装置、电子设备及存储介质
CN111831260A (zh) * 2020-07-13 2020-10-27 重庆大学 一种基于web建模的数据同步方法、***及相关装置
CN111985191A (zh) * 2020-08-05 2020-11-24 北京同创永益科技发展有限公司 一种多人协同在线文档编辑方法及其装置
CN112597116A (zh) * 2020-12-23 2021-04-02 中国电子信息产业集团有限公司第六研究所 一种自主可控平台下的文档共享智能管理***

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
协同设计中CAD模型的安全控制;叶建华;《中国机械工程》;444-449 *
基于网络的多用户协同设计CAD***;李剑;《新技术新工艺》(第10期);全文 *
基于角色权限的业务过程协同建模方法;王博;张莉;;《计算机工程》(第13期);全文 *
并行处理***中的共享资源互斥操作;王达恩;《重庆建筑大学学报》;105-108 *
面向大型制造企业的云CAD***应用集成研究;陆斌;《制造业自动化》;36-40 *

Also Published As

Publication number Publication date
CN116992517A (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
US11023834B2 (en) Collaborative design systems, apparatuses, and methods
US9460542B2 (en) Browser-based collaborative development of a 3D model
EP2132655B1 (en) Method for creating and tracking external system data via a mind map
US11036924B2 (en) Realtime synchronized document editing by multiple users for blogging
US7661101B2 (en) Synchronous and asynchronous collaboration between heterogeneous applications
US20160117298A1 (en) Real-time collaboration in a hosted word processor
US10063660B1 (en) Collaborative editing of media in a mixed computing environment
CN116225399A (zh) 基于电子表格的软件应用程序开发
CN101243443A (zh) 对等同步应用程序中的安全性
CN110313148A (zh) 用于分布式网络计算环境的web应用开放平台接口(WOPI)服务器架构和应用
EP1837760A1 (en) System and method for event-based information flow in software development processes
US11368538B2 (en) Platform-agnostic drag-and-drop operations
US10579240B2 (en) Live-rendered and forkable graphic edit trails
US10860729B2 (en) Permission management of cloud-based documents
CN113296653B (zh) 一种仿真交互模型构建方法、交互方法及相关设备
US20200142549A1 (en) Content item creation from desktop tray
WO2023179549A1 (zh) 一种文档块分享方法、装置、***及存储介质
US10657152B2 (en) Synchronization of diagrams and associated structured data
CN116992517B (zh) 一种三维cad模型的协同建模方法、服务器及终端
Ionescu et al. Tree-based concurrency control in distributed groupware
Ozono et al. A real-time collaborative web page editing system WFE-S based on cloud computing environment
CN113568676B (zh) 一种商业平台上互联网服务快速发布的通用方法
Kainberger Collaborative Editing in Web Applications
CN115935304A (zh) 文档加密方法及装置、电子设备、存储介质、程序产品
Chi et al. Maintaining Consistency In A Web 2.0 Collaborative Editing System

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