CN100336339C - 通用型协同交流系统中模型批注与操作传输的方法 - Google Patents

通用型协同交流系统中模型批注与操作传输的方法 Download PDF

Info

Publication number
CN100336339C
CN100336339C CNB2005100863384A CN200510086338A CN100336339C CN 100336339 C CN100336339 C CN 100336339C CN B2005100863384 A CNB2005100863384 A CN B2005100863384A CN 200510086338 A CN200510086338 A CN 200510086338A CN 100336339 C CN100336339 C CN 100336339C
Authority
CN
China
Prior art keywords
client
model
server end
socket
user
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.)
Expired - Fee Related
Application number
CNB2005100863384A
Other languages
English (en)
Other versions
CN1731733A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CNB2005100863384A priority Critical patent/CN100336339C/zh
Publication of CN1731733A publication Critical patent/CN1731733A/zh
Application granted granted Critical
Publication of CN100336339C publication Critical patent/CN100336339C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明属于CAD协同产品设计领域,其特征在于:在客户端和服务器之间采用模型同步和操作同步分别传输的机制来实现产品的实时协同设计,还应用流式套接字来实现信息交流。对三维模型,在服务器端和各客户端都分别设有:基于VRML文件的模型显示模块、用户交互模块和通讯模块;对二维模型,则设有通讯模块、基于VECT库的批注模块以及通讯模块。本发明不仅提高了产品设计人员之间的实时交流效率,缩短了产品开发周期,还可用于各部门非设计人员之间或者企业与供应商和客户之间的意见交流,对于提高企业竞争力有重要意义。

Description

通用型协同交流系统中模型批注与操作传输的方法
技术领域
通用型协同交流系统中模型批注与操作传输的方法属于计算机辅助协同产品设计工具领域。
背景技术
目前,在制造业的传统设计方法中,使用单用户CAD系统进行产品设计成为主流。但是随着设计的工程项目越来越多、越来越大,使用和参加的人数日益增多,采用单用户CAD系统已不能满足设计需要;主要表现为设计者之间不能通过系统进行信息沟通和信息共享,以至造成重复设计、数据不一致和反复拷贝等情况,影响了工程设计质量和进度。因此,开发支持网络环境下多用户进行协同产品开发的CAD系统,保证产品数据模型的一致性,是CAD技术的一个发展方向。
通用型协同交流系统能够支持多个协同用户,基于产品的多种格式文件进行浏览和批注,开展协同设计,保证了产品数据模型的一致性。其中,支持的产品三维数据模型为VRML(虚拟现实建模语言Virtual Reality Modeling Language),VRML用来描述三维模型及其运动,用VRML描述同一模型的文件远小于原CAD系统的模型文件,很适合在Internet上传输。同时,VRML作为一种通用化的图形表达格式,受到众多CAD软件厂商的支持,主流CAD软件均提供VRML格式的三维和二维图形输出。支持的产品二维数据模型包括dwg,dwf,bmp,gif,doe,pdf等200多种常用的图形及文件格式。
其它批注工具如AutoVue,在对三维模型进行批注时,主要是采用捕捉模型几何特征(点、边、面等)的方法,批注内容通过引线与几何特征点取得关联,当模型进行旋转操作的时候,各个批注引线发生交错,不利于设计人员观察各批注点的批注内容。还有一些批注工具只支持模型视图的静态批注,当对模型进行视图改变等操作时,批注内容消失,不利于批注内容的动态浏览。通用型协同交流系统中,批注元素将始终附着在VRML模型上,并根据模型的操作进行相应的变换,协同设计人员可以很方便地观察批注内容。
针对二维图形和文档的批注,批注元素将以线框和文字等多种方式覆盖在原有文件视图的上面,并随着视图的缩放进行相应的调整。
对产品模型利用以上批注方法进行批注以后,还要把该客户端包括浏览、批注在内的相应操作传到服务器端,再由服务器分发给其它客户端,从而实现所有端点的同步。服务器端和客户端之间的数据传输运用了套接字技术。在数据传输过程中,产品模型数据的数据量大,与协同设计对模型操作的高交互性和实时性要求相比,网络通信的带宽、延时成为主要的应用障碍。在目前的网络环境下,如何减少传输的数据量对提高实时性能十分关键。为此,我们采用基于模型同步和操作同步分别传输的机制来实现实时的协同设计,提高对模型互操作的实时性(见图1)。
发明内容
本发明的目的在于提供一种批注方法,同时建立一种在各客户端和服务器之间实现基于产品模型实现协同操作的机制。
本发明的特征在于:所表达的方法是在采用TCP/IP协议的网络中,在服务器端和各客户端之间基于模型同步/操作同步分别传输的机制上,采用套接字技术依次按以下步骤实现的:
步骤1.初始化
在基于产品三维模型的协同交流工具的浏览批注系统结构中,在所述服务器端和各客户端都分别设有下述软件模块:
模型显示模块,该模块利用虚拟现实建模语言浏览器对VRML文件进行解释,实现VRML模型的读取、显示和渲染,其中,VRML即虚拟现实建模语言;
用户交互模块,用于处理用户的输入,并把输出返回给用户;
通讯模块,实现用户间的通讯,传输的数据包括:客户端向服务器端发送参加会议的请求,服务器端响应请求并向各客户端传送模型信息,客户端/服务器端视点改变,客户端/服务器端添加和激活批注;同时,该通讯模块把用户的包含视点转换、视图缩放、插入批注和激活批注在内的各种操作经过编码后传送给其它用户并在计算机上显示;
在基于产品二维模型的协同交流工具的浏览批注系统结构中,在所述服务器端和各客户端都分别设有下述软件模块:
浏览模块,处理包含图形文档显示、本地用户和远程用户的浏览交互操作;
批注模块,显示批注信息并处理本地和远程用户的批注交互操作;
通讯模块,在客户/服务器间传递经编码的各种操作信息;
上述三维模型与二维模型中的通讯模块是根据TCP协议提供的套接字API接口作为双方通信用的流式套接字网络编程接口,利用VC++网络通信编程技术,来实现通讯的;
设定在各客户端和服务器端传输和操作的数据包格式,所述的操作包括:服务器端发起协同会议、各个客户端相继加入会议、在线人数、用户名、用户权限、源IP地址、目的IP地址、协同模式、操作类型、操作命令集和退出会议;
步骤2.服务器端和客户端建立连接,依次含有以下步骤:
步骤2.1服务器端使用Socket()函数首先创建套接字;
步骤2.2服务器端使用Bind()函数将本地地址绑定到它所创建的套接字上,从而在网络上标识该套接字;
步骤2.3服务器端使用Listen()函数把套接字置于监听模式并准备接受连接请求;
步骤2.4客户端用Socket()函数创建客户端套接字;
步骤2.5客户端把自己的地址绑定到所建套接字上,以便在网络上标识该套接字;
步骤2.6客户端使用Connect()函数向服务器提出连接请求;
步骤2.7服务器端收到步骤2.6提出的连接请求后,用accept()函数生成一个新的套接字与客户端建立连接,并向客户端返回接收信号;
步骤2.8客户端和服务器端进行数据传输;
步骤2.9传输完毕,客户端和服务器端各自用Close()函数关闭套接字;
步骤3.客户端打开模型文件把它传到服务器端,并通过服务器端传输给其它客户端,使各客户端及服务器端之间实现模型同步;
步骤4.客户端对模型进行浏览和批注操作:
客户端把各种操作编码后传给服务器端,并经由服务器端传递给其他用户,操作经解码后在其它用户的计算机上显示模型的最新状态,以实现操作同步;对三维模型,本步骤基于VRML文件;对二维模型,本步骤基于CIMMETRY公司的VECT库;
步骤5.客户端填写要向服务器端传输的操作数据包中各域的值,经过编码后用Sendmsg()函数发送;
步骤6.服务器端收到步骤5发来的数据包后,转发给其他客户端;
步骤7.其他客户端使用Recvmsg()函数接收数据包,并针对不同的操作类型,使用命令解释器解析数据包,转化为相应的操作类型和操作命令集,完成相应的模型更新和数据更新,刷新本地模型,实现所有客户端模型的同步显示。
通用型协同交流系统实现了以产品的三维模型和二维模型为媒介的异地实时协同交流。产品协同设计中,三维模型是主要的表达手段,以三维模型为载体的协同交流具有不可替代的作用。该系统支持分布在异地的多个成员对同一个3D-VRML模型进行浏览与批注,开展协同设计。该系统真正实现了对3D-VRML模型的操作,精确捕捉批注位置,自由附加批注信息,并可随时再现批注位置和批注信息内容,支持设计过程中的反复多次讨论。通过本系统利用产品的3D-VRML模型充分地交流信息,实际的修改工作交给生成该模型的原CAD系统完成。二维图纸及相关文档附有产品的详细设计信息,对其实现协同浏览批注同样重要。该系统支持分布在异地的多个成员对同一个二维图形、文本文档进行在线协同浏览批注,开展协同设计。
该工具极大了提高了设计人员之间的实时交流效率,减少了交流过程中可能产生的误解,缩短了产品开发周期。作为支持异地协同设计与交流的工具,该工具不仅可以用于设计人员之间的交流合作,还可以用于各部门非设计人员之间或者企业与供货商和客户之间的意见交流,对于提高企业竞争力有重要的意义。
附图说明
图1.本发明的模型同步/操作同步示意图;
图2.三维浏览批注系统结构示意图;
图3.二维浏览批注系统结构示意图;
图4.应用流式套接字实现信息交流;
图5.方法实现的程序流程图;
图6.二维协同浏览批注操作情况;
图7.三维协同浏览批注操作情况。
具体实施方式
本发明依次含有以下步骤,见图5;
(1)基于三维模型和二维模型的协同交流工具在系统结构上略有不同。基于VRML模型的协同交流工具的系统结构如图2所示,它主要由三个功能模块构成,即模型显示模块、用户交互模块和通讯模块。模型显示模块利用VRML浏览器CORTONA VRML VIEWER对VRML文件进行解释,把模型读到内存中,利用OpenGL的3D处理功能对模型进行消隐、光照等操作,实现VRML模型的显示和渲染。用户交互模块用于处理用户的输入,并把输出返回给用户。用户的操作包括视点转换、视图的放大缩小、插入批注、激活批注等。通讯模块实现用户间的通讯,传递的数据包括Client向Server发送参加会议请求、Server响应请求并向Client传送模型信息、Client/Server视点改变、Client/Server添加批注、激活批注。通讯模块将用户上述各种操作编码后传递给其它用户,经解码后在其它用户的计算机上显示出来。工具底层需要网络协议(用于用户间通讯,本工具采用TCP/IP协议)、操作系统和系统硬件等的支持。
(2)基于二维模型的协同交流工具的系统结构如图3所示,它由三个模块,即浏览模块、批注模块和通讯模块构成:
浏览模块,处理包括图形文档显示、本地用户和远程用户的浏览交互在内的操作。通讯模块在客户/服务器间传递经编码的各种操作信息。批注模块显示批注信息并处理本地和远程用户的批注交互操作。工具的浏览部分在CIMMETRY公司的VCET库基础上实现,批注模块在MARKUP API基础上实现。系统底层支持为网络协议、操作系统和硬件等。
(3)在步骤1和2中提到的通讯模块,其实现过程如下:根据TCP提供的套接字API接口作为双方通信用的流式套接字网络编程接口,利用VC++网络通信编程技术,实现网络上客户端和服务器端之间的连接和数据传输;
(4)服务器端的工作是:创建服务器套接字、服务器套接字进行信息绑定、开始监听连接、接受来自用户端的连接请求、开始数据传输、关闭套接字。客户端负责创建用户套接字、与远程服务器进行连接、创建接收进程、开始数据传输、关闭套接字。客户端和服务器端的连接可以分为以下几个过程(见图4):
[1]服务进程总是先于客户进程启动,服务进程使用Socket()首先创造套接字。
[2]使用Bind()将本地地址绑定到所创建的套接字上以使在网络上标识该套接字。
[3]使用Listen()将套接字置于监听模式并准备接受连接请求。
[4]客户端创建套接字,调用Socket()函数,方法同上。
[5]客户端使用Connect()向服务器提出连接请求。
[6]当请求到来时,服务进程的accept()函数生成一个新的套接字与客户端建立连接,并向客户端返回接信号。一旦客户机的套接字收到来自服务器的接收信号,则表示客户机与服务器连接已就绪,则可以使用SendMsg()和RecvMsg()进行数据传输了。
[7]使用Close()关闭套接字。
(5)服务器端和各个客户端建立连接以后,当某个客户端打开模型文件,模型文件将传到服务器端,并通过服务器端传输其它客户端,各客户端及服务器端之间实现模型同步。
(6)客户端对模型进行浏览和批注操作。
对三维模型的操作包括:对模型进行平移、旋、缩放;打开批注文件;插入批注;修改批注;激活批注;删除批注。
对二维模型的操作包括:对模型进行缩放;打开批注文件;插入批注;修改批注;激活批注;删除批注。
客户端的各种操作编码后传给服务器,并经由服务器传递给其它用户,操作经解码后在其它用户的计算机上显示出模型的最新状态,从而实现了操作同步。
(7)对VRML文件的浏览采用VRML浏览器CORTONA VRML VIEWER,通过调用其接口可以方便的对VRML模型实现放大、缩小、旋转、平移等操作。
对二维模型文件的浏览主要是基于CIMMETRY公司的VCET库基础之上,能够浏览包括dwg,dwf,bmp,gif,doc,pdf等200多种常用的图形及文件格式。浏览操作主要包括缩小,放大,平移等。
(8)对VRML模型的批注方法如下:批注元素(点、箭头、框注、圈注、勾、叉)也是基于VRML的模型,可通过系统设置调整尺寸大小,批注人员对模型进行批注过程中,批注元素捕捉并附着在批注点上,随着模型的平移、旋转和缩放,批注元素也随之进行相应的调整,这样,协同人员可以很方便地对批注点和批注内容进行浏览。
VRML文件的基本格式如下:
表1
DEF Cylinder02 Transform{translation 001                       #平移域rotation 0.6235-0.6235 0.5774-4.178   #旋转域children[Shape{appearance Appearance{material Material {ambientIntensity 0.250diffuseColor 0.000 1.000 0.000specularColor 0.500 0.500 0.500transparency 0.000shininess 0.600}}geometry IndexedFaceSet                #索引面集节点{coord Coordinate                   #几何造型节点{point                              #顶点集[-0.945 3.322 3.965,         #第0个点-0.493 2.817 3.513,          #第1个点-0.419 2.97 3.439,           #第2个点-0.697 3.703 3.716,          #第3个点……]}coordIndex                         #多边形顶点索引[0,1,2,-1,               #第一个三角面片1,2,3,-1,              #第一个三角面片……]}}]}
在VRML文件中,利用Transform节点把虚拟场景组织成条理清晰的树形分支结构,并引进了平移、旋转和缩放变换。VRML文件通过IndexedFaceSet节点描述面的形状并通过面的拼接实现任意形状的几何体外观,即使用IndexedFaceSet节点造型。IndexedFaceSet是由coord域给出一系列的空间点,然后在coordIndex域中对其进行引用,即选取coord域中的某三点构成一个三角面片域,这些三角面片就构成了我们最终看到的零部件的形体。批注过程中,首先根据设计人员在模型上的鼠标单击操作捕捉coord域中的点,作为批注点;然后,批注元素附着在批注点,对模型的操作过程中,其平移域和旋转域与模型的平移域和旋转域取得一致;最终达成操作的一致,见图6。
对二维图形和文档的批注,批注元素(直线、折线、框注、填充、圆、弧、文字、便条)覆盖在文件视图选定区域上面,并随着视图的缩放进行相应的变换,见图7。
(9)三维协同浏览批注的操作过程如下:
[1]User1通过Web方式从服务器端下载产品模型到本地机,与其他用户达到模型同步;
[2]若User1对产品模型实施了某种操作,如在三维设计模型的某处发现问题,进行批注,相应的操作类型和操作命令经过编码后,以msg包的形式传输给服务器端;
[3]服务器端在接到msg包后转发给组内其它成员,各成员利用解码模块解析操作命令,转换为相应的操作,从而保证协同小组内对模型操作的一致性和显示的同步性。
[4]User1退出会议时,发送相关命令到服务器端,服务器通知其它成员。
表2
  #Protocol for Synchronize#usernameUserName(<User1>)#usercountUserCount(<3>)#userRankUserRank(<1>)#IP addressIP address(<166.111.53.1>)#portPort(<80>)#aim_IP addressIP address(<166.111.54.1>)#aim_portPort(<8080>)#operate_TypeOperate_Type(<ANNO_ADD>)#ANNO_ADD#批注保存文件的信息File(<Model1>,<ann>,<C:\Codesigen>)
  #ANNO_POS#批注显示位置Pos(<60.3>,<22.1>,<40.5>)#批注内容信息annoText(<请验证齿轮强度>)
二维协同浏览批注的操作过程如下:
[1]服务器端发起会议,User1向服务器端提出协同请求,通过服务器验证通过后通知User2,User3,建立点对点的在线通讯;
[2]User1通过Web方式从服务器端下载产品二维文档到本地机,与其他用户达到模型同步;
[3]若User1对产品模型实施了某种操作,如对二维设计图纸进行批注,相应的操作类型和操作命令经过编码后,以msg包的形式传输给服务器端;
[4]服务器端在接到msg包后转发给组内其它成员,各成员利用解码模块解析操作命令,转换为相应的操作,从而保证协同小组内对模型操作的一致性和文档显示的同步性。
[5]User1退出会议时,发送相关命令到服务器端,服务器通知其它成员。
表3
  #Protocol for Synchronize#VersionVersion(<1.0.0.1>)#usernameUserName(<User1>)#usercountUserCount(<3>)#IP addressIP address(<166.111.53.1>)#portPort(<80>)#aim_IP addressIP address(<166.111.53.60>)#aim_portPort(<8080>)
  #Operate_TypeOperate_Type(<ANNO_ADD>)#ANNO_ADD命令#批注保存文件的信息File(<Model1>,<ann>,<C:\Codesigen>)#批注显示位置Pos(<20>,<30>,<50>)#批注内容信息annoText(<需要保证同轴度>)
(10)利用步骤7和步骤8的方法对模型进行浏览和批注操作以后,设定在各客户端和服务器之间传输的操作的数据包格式:
(a)服务器端发起协同会议,用PresideMeeting表示;
(b)各个客户端相继加入会议,用JoinMeeting表示;
(c)在线人数,用userCount表示,指参加网络协同设计会议的人数,为变量;
(d)用户名,用userName表示,指执行操作的用户署名;
(e)用户权限,用userRank表示,代表当前用户打开/保存、浏览/批注模型的权限;
(f)源IP地址,用IP address表示,指执行操作的用户端IP地址;
(g)目的IP地址,用aim_IP address表示,指目的协同用户端IP地址;
(h)协同模式,用Co_Mode表示,指执行操作的用户端是否为同步协同。
(i)操作类型,用Operate_Type表示,包含:
MODEL_OPEN——打开一个.wrl格式的模型文件;
            MODEL_VPCHG——改变VRML模型视点,包括旋转、放大、缩小;ARCHIVE_OPEN
       ——打开二维文档;
ARCHIVE_EXTCHG——对文档进行缩放,改变文档可视边界;
ANNO_OPEN——打开.ann格式批注信息文件;
ANNO_ADD——加入批注信息到当前场景;
ANNO_DEL——删除批注信息到当前场景;
ANNO_MODIFY——修改到当前场景的批注信息;
ANNO_ACTIVE——激活到当前场景的批注信息;
ANNO_SAVE——保存批注信息;
(j)操作命令集,用Operate_Commands表示,指上述各操作类型的集合;
(k)退出会议,用ExitMeeting表示。
(11)客户端填写msg包中各域的值,经过编码后使用Sendmsg()发送msg包;服务器端接到msg包后,转发给组内其他客户端;其它客户端使用Recvmsg()过程接收msg包,并针对不同的操作类型,使用命令解释器解析msg包,转化为相应的操作类型和操作命令集,最后完成相应的模型更新和数据更新,刷新本地模型,实现所有用户端模型同步显示。
通过模型同步和操作同步的分别实现,可以减少通过网上传输的数据量,满足实时性需求。利用TCP或者UDP提供的套接字API接口传输定制的模型同步方法,将操作信息简洁完整的传输到各终端,达到协同设计的同步性。
模型与操作同步方法定义的msg数据包各域定义如下:
表4
  发起/参加会议
  用户名(userName)   用户权限(userRank)  在线人数(userCount)
  源IP地址(IP address)  端口(port)
  目的IP地址(aim_IP address)  目的端口(aim_port)
  操作类型(Operate_Type)
  操作命令集(Operate_Commands)
  编码msg包→发送msg包(Sendmsg())→接收msg包(Recvmsg())→解析msg包
  退出会议(ExitMeeting)
操作类型(Operate Type)详细信息:
1)#MODEL_OPEN:三维模型文件信息
File(<name>,<format>,<path>)
#name:模型文件名称
#format:模型文件格式(.wrl)
#path:模型文件路径
2)#MODEL_VPCHG:三维模型视点改变
ViewPoint(<position>,<orientation>):视点域
#position:视点位置
#orientation:视点方向
Translation(<Xtrans>,<Ytrans>,<Ztrans>):平移域
#Xtrans:X方向平移
#Ytrans:Y方向平移
#Ztrans:Z方向平移
Rotation(<axis>,<angle>):旋转域
#axis:旋转轴
#angle:旋转角
3)#ARCHIVE_OPEN:二维设计文档信息
File(<name>,<format>,<path>)
#name:模型文件名称
#format:模型文件格式(后缀名)
#path:模型文件路径
4)#ARCHIVE_EXTCHG:改变二维设计文档的可视边界
新浏览区域描述信息
Ext_min(<Xmin>,<Ymin>,<Zmin>)
#Xmin:X方向最小值
#Ymin:Y方向最小值
#Zmin:Z方向最小值
Ext_max(<Xmax>,<Ymax>,<Zmax>)
#Xmax:X方向最大值
#Ymax:Y方向最大值
#Zmax:Z方向最大值
5)#ANNO_OPEN:批注文件信息
File(<name>,<format>,<path>)
#name:模型文件名称
#format:模型文件格式(.ann)
#path:模型文件路径
6)#ANNO_ADD:加入批注信息
File(<name>,<format>,<path>):批注文件的信息
#name:模型文件名称
#format:模型文件格式(后缀名)
#path:模型文件路径
Pos(<Xpos>,<Ypos>,<Zpos>):批注点位置信息
#Xpos:X坐标
#Ypos:Y坐标
#Zpos:Z坐标
annoMode(<mode>):批注模式信息
#mode:批注元素选择
annoText(<annoStr>):批注内容信息
#annoStr:批注内容文本
7)#MODEL_DEL:删除批注信息
File(<name>,<format>,<path>):批注删除文件信息
#name:模型文件名称
#format:模型文件格式(后缀名)
#path:模型文件路径
Pos(<Xpos>,<Ypos>,<Zpos>):删除批注的位置信息
#Xpos:X坐标
#Ypos:Y坐标
#Zpos:Z坐标
8)#ANNO_MODIFY:修改批注
File(<name>,<format>,<path>):批注修改文件信息
#name:模型文件名称
#format:模型文件格式(后缀名)
#path:模型文件路径
Pos(<Xpos>,<Ypos>,<Zpos>):修改批注的位置
#Xpos:X坐标
#Ypos:Y坐标
#Zpos:Z坐标
annoText(<annoStr>):新批注内容
#annoStr:批注内容文本
9)ANNO_ACTIVE:激活批注
File(<name>,<format>,<path>):激活批注文件信息
#name:模型文件名称
#format:模型文件格式(后缀名)
#path:模型文件路径
Pos(<Xpos>,<Ypos>,<Zpos>):需激活批注的位置
#Xpos:X坐标
#Ypos:Y坐标
#Zpos:Z坐标
annoText(<annoStr>):新批注内容
#annoStr:批注内容文本
10)#ANNO_SAVE:保存批注信息
File(<name>,<format>,<path>):保存批注文件信息
#name:模型文件名称
#format:模型文件格式(后缀名)
#path:模型文件路径
Pos(<Xpos>,<Ypos>,<Zpos>):需激活批注的位置
#Xpos:X坐标
#Ypos:Y坐标
#Zpos:Z坐标
annoText(<annoStr>):批注内容
#annoStr:批注内容文本

Claims (1)

1.通用型协同交流系统中模型批注和操作传输的方法,其特征在于:所表达的方法是在采用TCP/IP协议的网络中,在服务器端和各客户端之间基于模型同步/操作同步分别传输的机制上,采用套接字技术依次按以下步骤实现的:
步骤1.初始化
在基于产品三维模型的协同交流工具的浏览批注系统结构中,在所述服务器端和各客户端都分别设有下述软件模块:
模型显示模块,该模块利用虚拟现实建模语言浏览器对VRML文件进行解释,实现VRML模型的读取、显示和渲染,其中,VRML即虚拟现实建模语言;
用户交互模块,用于处理用户的输入,并把输出返回给用户;
通讯模块,实现用户间的通讯,传输的数据包括:客户端向服务器端发送参加会议的请求,服务器端响应请求并向各客户端传送模型信息,客户端/服务器端视点改变,客户端/服务器端添加和激活批注;同时,该通讯模块把用户的包含视点转换、视图缩放、插入批注和激活批注在内的各种操作经过编码后传送给其它用户并在计算机上显示;
在基于产品二维模型的协同交流工具的浏览批注系统结构中,在所述服务器端和各客户端都分别设有下述软件模块:
浏览模块,处理包含图形文档显示、本地用户和远程用户的浏览交互操作;
批注模块,显示批注信息并处理本地和远程用户的批注交互操作;
通讯模块,在客户/服务器间传递经编码的各种操作信息;
上述三维模型与二维模型中的通讯模块是根据TCP协议提供的套接字API接口作为双方通信用的流式套接字网络编程接口,利用VC++网络通信编程技术,来实现通讯的;
设定在各客户端和服务器端传输和操作的数据包格式,所述的操作包括:服务器端发起协同会议、各个客户端相继加入会议、在线人数、用户名、用户权限、源IP地址、目的IP地址、协同模式、操作类型、操作命令集和退出会议;
步骤2.服务器端和客户端建立连接,依次含有以下步骤:
步骤2.1服务器端使用Socket()函数首先创建套接字;
步骤2.2服务器端使用Bind()函数将本地地址绑定到它所创建的套接字上,从而在网络上标识该套接字;
步骤2.3服务器端使用Listen()函数把套接字置于监听模式并准备接受连接请求;
步骤2.4客户端用Socket()函数创建客户端套接字;
步骤2.5客户端把自己的地址绑定到所建套接字上,以便在网络上标识该套接字;
步骤2.6客户端使用Connect()函数向服务器提出连接请求;
步骤2.7服务器端收到步骤2.6提出的连接请求后,用accept()函数生成一个新的套接字与客户端建立连接,并向客户端返回接收信号;
步骤2.8客户端和服务器端进行数据传输;
步骤2.9传输完毕,客户端和服务器端各自用Close()函数关闭套接字;
步骤3.客户端打开模型文件把它传到服务器端,并通过服务器端传输给其它客户端,使各客户端及服务器端之间实现模型同步;
步骤4.客户端对模型进行浏览和批注操作:
客户端把各种操作编码后传给服务器端,并经由服务器端传递给其他用户,操作经解码后在其它用户的计算机上显示模型的最新状态,以实现操作同步;对三维模型,本步骤基于VRML文件;对二维模型,本步骤基于CIMMETRY公司的VECT库;
步骤5.客户端填写要向服务器端传输的操作数据包中各域的值,经过编码后用Sendmsg()函数发送;
步骤6.服务器端收到步骤5发来的数据包后,转发给其他客户端;
步骤7.其他客户端使用Recvmsg()函数接收数据包,并针对不同的操作类型,使用命令解释器解析数据包,转化为相应的操作类型和操作命令集,完成相应的模型更新和数据更新,刷新本地模型,实现所有客户端模型的同步显示。
CNB2005100863384A 2005-09-02 2005-09-02 通用型协同交流系统中模型批注与操作传输的方法 Expired - Fee Related CN100336339C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100863384A CN100336339C (zh) 2005-09-02 2005-09-02 通用型协同交流系统中模型批注与操作传输的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100863384A CN100336339C (zh) 2005-09-02 2005-09-02 通用型协同交流系统中模型批注与操作传输的方法

Publications (2)

Publication Number Publication Date
CN1731733A CN1731733A (zh) 2006-02-08
CN100336339C true CN100336339C (zh) 2007-09-05

Family

ID=35964041

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100863384A Expired - Fee Related CN100336339C (zh) 2005-09-02 2005-09-02 通用型协同交流系统中模型批注与操作传输的方法

Country Status (1)

Country Link
CN (1) CN100336339C (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341651B2 (en) * 2007-01-10 2012-12-25 Microsoft Corporation Integrating enterprise search systems with custom access control application programming interfaces
CN101281550B (zh) * 2007-04-02 2010-11-10 鸿富锦精密工业(深圳)有限公司 模具协同设计系统及方法
CN101398860B (zh) * 2007-09-25 2010-07-07 北京航空航天大学 基于PDM/Matlab的飞行器控制系统异地协同设计方法
KR101395058B1 (ko) * 2008-01-17 2014-05-13 삼성전자주식회사 UPnP 원격 프로토콜을 지원하는 홈 네트워크에서 제3의장치의 이벤트를 처리하는 방법 및 장치
CN102292713A (zh) * 2009-06-30 2011-12-21 唐桥科技有限公司 多媒体协作系统
CN102170462B (zh) * 2011-03-16 2013-07-31 西安电子科技大学 一种产品设计模型的异地协同方法
CN103024602B (zh) * 2011-09-23 2016-10-05 华为技术有限公司 一种针对视频添加批注的方法及装置
CN103095828B (zh) * 2013-01-14 2016-03-30 上海电力学院 基于云渲染的Web3D同步会议系统及实现同步的方法
CN103795967A (zh) * 2014-03-12 2014-05-14 中国科学院地理科学与资源研究所 一种多人多维遥感会商协同研判方法及装置
CN104346469A (zh) * 2014-11-17 2015-02-11 广联达软件股份有限公司 一种生成文件批注信息的方法及装置
CN106775769A (zh) * 2017-01-16 2017-05-31 北京恒华伟业科技股份有限公司 一种界面设计沟通系统及浏览器
CN107016089A (zh) * 2017-04-05 2017-08-04 合肥酷庆信息科技有限公司 一种基于Winsok的网络地理信息安全系统
CN107463454A (zh) * 2017-08-15 2017-12-12 重庆市劢齐医疗科技有限责任公司 基于3d模型的远程共享沟通方法
CN108023942A (zh) * 2017-11-27 2018-05-11 中车工业研究院有限公司 基于云平台的cad建模数据传输方法、服务器和客户端
CN111327510B (zh) * 2018-12-13 2022-02-08 国家电投集团科学技术研究院有限公司 核电计算分析业务的通讯系统
CN110430240B (zh) * 2019-07-10 2022-06-17 华设设计集团股份有限公司 一种面向智能移动互联的船闸综合语音服务系统及方法
CN111931260B (zh) * 2020-08-04 2023-04-07 灵然创智(天津)动画科技发展有限公司 一种城市数字孪生可视化协同方法
CN113139219B (zh) * 2021-04-26 2022-10-18 杭州新迪数字工程系统有限公司 面向协同的三维cad模型外部信息同步系统及方法
CN114707182A (zh) * 2022-05-30 2022-07-05 天津联想协同科技有限公司 一种在线文档批注权限管控方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000069118A (ja) * 1998-08-18 2000-03-03 Nippon Telegr & Teleph Corp <Ntt> 三次元表示ネットワーク管理方法及びそのシステム
WO2001061967A2 (en) * 2000-02-17 2001-08-23 Telegea.Com, Inc. Systems and methods for supporting on-line delivery of communication services
WO2003093959A2 (en) * 2002-04-29 2003-11-13 Hewlett-Packard Development Company, L.P. Secure transmission and installation of an application
EP1501036A1 (en) * 2003-07-22 2005-01-26 AT&T Corp. Method for Three-Dimensional Inventory Link

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000069118A (ja) * 1998-08-18 2000-03-03 Nippon Telegr & Teleph Corp <Ntt> 三次元表示ネットワーク管理方法及びそのシステム
WO2001061967A2 (en) * 2000-02-17 2001-08-23 Telegea.Com, Inc. Systems and methods for supporting on-line delivery of communication services
WO2003093959A2 (en) * 2002-04-29 2003-11-13 Hewlett-Packard Development Company, L.P. Secure transmission and installation of an application
EP1501036A1 (en) * 2003-07-22 2005-01-26 AT&T Corp. Method for Three-Dimensional Inventory Link

Also Published As

Publication number Publication date
CN1731733A (zh) 2006-02-08

Similar Documents

Publication Publication Date Title
CN100336339C (zh) 通用型协同交流系统中模型批注与操作传输的方法
CN1276393C (zh) Web 3D图像显示系统
CN1264123C (zh) 虚拟空间控制数据接收装置及方法、发送接收系统
CN1764889A (zh) 用于产生对象的行为的装置和方法
CN1221942C (zh) 人物动画
CN106200983A (zh) 一种结合虚拟现实与bim实现虚拟现实场景建筑设计的系统
CN101075330A (zh) 电子商务谈判系统
CN1320508C (zh) 信息配送系统及信息配送方法
CN1823352A (zh) 用于控制虚拟环境的装置
JP2016103279A (ja) クラウド型三次元モデル構築システム及びその構築方法
CN108668168B (zh) 基于Unity 3D的安卓VR视频播放器及其设计方法
CN1661598A (zh) 协作服务器,协作系统,及协作服务器和系统用方法和程序
CN1751492A (zh) 在网络通信中压缩报文的系统和方法
CN1867142A (zh) 移动终端设备获取计算机信息的方法和系统
CN1790339A (zh) 基于浏览器的仿操作系统人机交互实现方法
CN1138211C (zh) 数据传输控制装置及电子设备
CN101751693B (zh) 一种3d互动用户手册制作方法
CN1260685C (zh) 发送和/或接收流数据的装置及其方法
Raush et al. A new method for publishing three-dimensional content
CN1553369A (zh) 用于多媒体消息业务的互动方法、用户终端及其通信系统
CN1470039A (zh) 视频信息产生设备
JP4585382B2 (ja) クライアント端末、管理サーバ、利用プログラム、及び管理プログラム
CN1878347A (zh) 一种基于移动增值业务的移植方法和系统
CN1864179A (zh) 经改进动态场景描述符的方法和装置
Faure et al. Collaborative animation over the network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070905

Termination date: 20140902

EXPY Termination of patent right or utility model