CN109920026A - 一种矢量图形轻量绘制及bim协同实现方法及其装置 - Google Patents
一种矢量图形轻量绘制及bim协同实现方法及其装置 Download PDFInfo
- Publication number
- CN109920026A CN109920026A CN201910151301.7A CN201910151301A CN109920026A CN 109920026 A CN109920026 A CN 109920026A CN 201910151301 A CN201910151301 A CN 201910151301A CN 109920026 A CN109920026 A CN 109920026A
- Authority
- CN
- China
- Prior art keywords
- information
- point
- drawn
- light weight
- triangle
- 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
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提出了一种矢量图形轻量绘制及BIM协同实现方法及其装置,包括以下步骤:S1:遍历图纸数据库,将CAD图纸的每一个构件都拆解成包括点、线条及三角片的图元信息,作为显卡绘制的基本单元;S2:将拆解的图元信息按照其绘制属性进行分类整合,组织位置信息,所述绘制属性包括图层、颜色;S3:基于OPENGL以及OPENGLES的绘制调度,使用VBO、VAO保存包含坐标及绘制顺序的顶点信息,然后提交着色器。本发明实现了随时随地用手机或便携终端查看图纸并指派任务,同时也方便施工交流。
Description
技术领域
本发明涉及计算机绘图领域,尤其是涉及一种矢量图形轻量绘制及BIM协同实现方法及其装置。
背景技术
建筑施工过程中,施工人员需要携带纸质图纸,或者将图纸存储在电脑中携带至项目现场,非常不方便。近年来,随着信息技术的发展以及BIM技术的广泛应用,施工人员往往希望能随时随地查看图纸并指派任务,但手机打开想要比较大的图纸就比较困难,首先打开速度慢,然后容易出现内存、帧数不足的问题,同时也没有合适的协同方法方便施工交流。
发明内容
本发明的所要解决的是现有技术中手机打开图纸比较困难,打开速度慢,容易出现内存、帧数不足的技术问题。
本发明提出了一种矢量图形轻量绘制及BIM协同实现方法,包括以下步骤:
S1:遍历图纸数据库,将CAD图纸的每一个构件都拆解成包括点、线条及三角片的图元信息,作为显卡绘制的基本单元;
S2:将拆解的图元信息按照其绘制属性进行分类整合,组织位置信息,所述绘制属性包括图层、颜色;
S3:基于OPENGL以及OPENGLES的绘制调度,使用VBO、VAO保存包含坐标及绘制顺序的顶点信息,然后提交着色器。
进一步的,所述步骤S2中,采用场景图的方式组织位置信息,将相同材质颜色的点的坐标信息归到一个节点之下,每一个节点之下包括点、线、三角片三种类型的链表存储位置信息。
进一步的,所述步骤S2中,组织位置信息通过HashMap保存,类型作为索引,点信息保存在链表中作为键值。
进一步的,所述单个点链表的长度为1000,线链表的长度为60000,三角面链表的长度为90000。
进一步的,所述步骤S3中,所述着色器包括用于设置图形顶点的位置的顶点着色器和用于设置图形绘制颜色的片元着色器,将传入的顶点坐标根据顶点着色器装配成几何图形,再通过片元着色器之间装配好的几何图形转化成片元信息。
进一步的,根据图纸中各构件类型中保存的信息将每一个构件都拆解成包括点、线条及三角片的图元信息,点通过x,y,z三维坐标值表示,线条为两个顶点连接起来形成的图元信息,三角形则从第1个点开始,每三个点一组画一个三角形,三角形之间相互独立,其图元类型参数为GL_TRIANGLES;从第三个点开始,每点与前面的两个点组合画一个三角形,即线性连续三角形串,其图元类型参数为GL_TRIANGLE_STRIP;从第三个点开始,每点与前一个点和第一个点组合画一个三角形,即扇形连续三角形,其图元类型参数GL_TRIANGLE_FAN。
进一步的,用户不处于操作状态时,opengl线程停止运行。
进一步的,用户点击图纸任意位置可添加标记点信息。
另一方面,本发明提出了一种矢量图形轻量绘制及BIM协同实现装置,包括:
构件拆解模块,所述构件拆解模块将将CAD图纸的每一个构件都拆解成包括点、线条及三角片的图元信息,作为显卡绘制的基本单元;
图元信息分类整合模块以及位置信息组织模块,所述图元信息分类整合模块将拆解的图元信息按照其绘制属性进行分类整合;
顶点信息保存模块以及着色器模块。
进一步的,所述着色器包括用于设置图形顶点位置的顶点着色器模块和用于设置图形绘制颜色的片元着色器模块,还包括几何图形装配模块、片元信息转化模块,所述几何图形装配模块、片元信息转化模块在顶点着色器和片元着色器之间将传入的顶点坐标根据需要装配成几何图形,将装配好的几何图形转化成片元信息。
本发明同现有技术相比具有以下优点及效果:
1、方便施工人员利用手机随时随地打开CAD图纸;
2、实现方便的施工交流;
3、有利于加快施工进度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种矢量图形轻量绘制及BIM协同实现方法示意图。
具体实施方式
实际工作中,施工人员往往希望能随时随地查看图纸并指派任务,但手机打开想要比较大的图纸就比较困难,首先打开速度慢,然后容易出现内存、帧数不足的问题,同时也没有合适的协同方法方便施工交流,为解决这些问题,本发明通过以下技术方案实现上述目的:
图纸拆解:将CAD图纸的每一个绘制物体拆分成点、线条以及三角片,这是显卡绘制的基本单元。
数据整合:将拆解的图元信息按照其绘制属性如图层、颜色等进行分类整合,组织成场景图。这样做的目的是为了减少OPENGL接口的调用次数以及尽可能的减少draw call,大大提高了绘制效率。
图形绘制:基于OPENGL以及OPENGLES的绘制调度,使用VBO(Vertex BufferArray)、VAO(Vertex Buffer Objects)保存顶点信息,然后提交着色器,删除内存部分,减少内存消耗。其中着色器程序包括顶点着色器和片元着色器,顶点着色器用于设置图形顶点的位置,片元着色器用于设置图形绘制的颜色,在顶点着色器和片元着色器之间,还存在着图形装配过程和光栅化过程,图形装配过程将传入的顶点坐标根据需要装配成特定的几何图形,光栅化过程将装配好的几何图形转化成片元。
图形操作:首先,在用户不处于操作状态时,opengl线程会停止运行,只在有操作的时候才会进行绘制,这样大大节约了电量,也给CPU提供了更多空闲时间,使得其它界面操作能够快速响应。通过矩阵操作控制摄像机视角,实现任意比例缩放、平移效果。
协同操作:用户可于图纸的任意位置添加标记实体并添加任务信息,任务信息关联id存放在服务器中,发送给他人后可直接查看。
下面对本发明作进一步说明:
针对不同平台创建context,PC使用opengl,android与ios使用opengles2.0。
遍历图纸数据库,根据图纸中构件类型,如AcDbLine(直线)、AcDbPolyline(多段线)、AcDbArc(弧线)等其其中保存的信息(长度、宽度等)将CAD图纸的每一个构件都拆解成包括点、线条及三角片的图元信息,点通常用一个形如(x,y,z)的三维坐标值表示,线条是由两个顶点连接起来形成的图元,对于三角形,从第1个点开始,每三个点一组画一个三角形,三角形之间是独立的,其图元类型参数为GL_TRIANGLES;从第三个点开始,每点与前面的两个点组合画一个三角形,即线性连续三角形串,其图元类型参数为GL_TRIANGLE_STRIP;从第三个点开始,每点与前一个点和第一个点组合画一个三角形,即扇形连续三角形,其图元类型参数GL_TRIANGLE_FAN。期间,为保证在移动平台上的内存处于可接受的范围内,可以对复杂的线型和填充作简化处理,线宽可以适当忽略。将这些图元通过光栅化、着色等一系列流程后转为屏幕上的像素点通过显卡绘制。
采用场景图的方式组织位置信息,对于相同材质颜色的点信息归到一个节点之下,每一个节点之下有点、线、三角面三种类型的链表存储位置信息,这样的好处是减少了opengl状态的切换,由于opengl是一个状态机,这样可以极大提高绘制效率。对于链表来说,一次性提交足够多的点信息可以减少接口的调用次数,加快渲染。根据测试,单个点链表的长度为1000,线链表的长度为60000,三角面链表的长度为90000可以保证较好的绘制速率。在链表内部,采用VBO(Vertex Buffer Array)与VAO(Vertex Buffer Objects)保存点的位置信息,VBO和VAO是直接保存在显存中的顶点缓存,这样调用opengl接口时,将不必从内存再传输数据到显存,加快了绘制效率。同时,所有信息在显存存储完毕后,可以将内存部分的删除,极大的减少了内存消耗。绘制方面使用STATIC_DRAW静态绘制,着色器使用最简单的代码,保证最快的绘制方式。
程序除了在第一次绘制之后,除非用户操作,否则停止绘制,挂起opengl绘制线程,这样减少cpu运行,节约电量,加快其它界面的反应速度。
用户点击图纸任意位置可添加标记点级信息,记录了点位置以及此时的视口信息保存在服务器中,当别的用户打开图纸时可根据图纸id和标记id从服务器下载对应信息添加标记,实时交流。
此外,需要说明的是,本说明书中所描述的具体实施例,其零、部件的形状、所取名称等可以不同。凡依本发明专利构思所述的构造、特征及原理所做的等效或简单变化,均包括于本发明专利的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
Claims (10)
1.一种矢量图形轻量绘制及BIM协同实现方法,其特征在于,包括以下步骤:
S1:遍历图纸数据库,将CAD图纸的每一个构件都拆解成包括点、线条及三角片的图元信息,作为显卡绘制的基本单元;
S2:将拆解的图元信息按照其绘制属性进行分类整合,组织位置信息,所述绘制属性包括图层、颜色;
S3:基于OPENGL以及OPENGLES的绘制调度,使用VBO、VAO保存包含坐标及绘制顺序的顶点信息,然后提交着色器。
2.根据权利要求1所述的矢量图形轻量绘制及BIM协同实现方法,其特征在于,所述步骤S2中,采用场景图的方式组织位置信息,将相同材质颜色的点的坐标信息归到一个节点之下,每一个节点之下包括点、线、三角片三种类型的链表存储位置信息。
3.根据权利要求2所述的矢量图形轻量绘制及BIM协同实现方法,其特征在于,所述步骤S2中,组织位置信息通过HashMap保存,类型作为索引,点信息保存在链表中作为键值。
4.根据权利要求3所述的矢量图形轻量绘制及BIM协同实现方法,其特征在于,所述单个点链表的长度为1000,线链表的长度为60000,三角面链表的长度为90000。
5.根据权利要求4所述的矢量图形轻量绘制及BIM协同实现方法,其特征在于,所述步骤S3中,所述着色器包括用于设置图形顶点的位置的顶点着色器和用于设置图形绘制颜色的片元着色器,将传入的顶点坐标根据顶点着色器装配成几何图形,再通过片元着色器之间装配好的几何图形转化成片元信息。
6.根据权利要求5所述的矢量图形轻量绘制及BIM协同实现方法,其特征在于,所述步骤S1中,根据图纸中各构件类型中保存的信息将每一个构件都拆解成包括点、线条及三角片的图元信息,点通过x,y,z三维坐标值表示,线条为两个顶点连接起来形成的图元信息,三角形则从第1个点开始,每三个点一组画一个三角形,三角形之间相互独立,其图元类型参数为GL_TRIANGLES;从第三个点开始,每点与前面的两个点组合画一个三角形,即线性连续三角形串,其图元类型参数为GL_TRIANGLE_STRIP;从第三个点开始,每点与前一个点和第一个点组合画一个三角形,即扇形连续三角形,其图元类型参数GL_TRIANGLE_FAN。
7.根据权利要求6所述的矢量图形轻量绘制及BIM协同实现方法,其特征在于,用户不处于操作状态时,opengl线程停止运行。
8.根据权利要求7所述的矢量图形轻量绘制及BIM协同实现方法,其特征在于,用户点击图纸任意位置可添加标记点信息。
9.基于权利要求1的一种矢量图形轻量绘制及BIM协同实现装置,其特征在于,包括:
构件拆解模块,所述构件拆解模块将将CAD图纸的每一个构件都拆解成包括点、线条及三角片的图元信息,作为显卡绘制的基本单元;
图元信息分类整合模块以及位置信息组织模块,所述图元信息分类整合模块将拆解的图元信息按照其绘制属性进行分类整合;
顶点信息保存模块以及着色器模块。
10.根据权利要求9的矢量图形轻量绘制及BIM协同实现装置,其特征在于,所述着色器包括用于设置图形顶点位置的顶点着色器模块和用于设置图形绘制颜色的片元着色器模块,还包括几何图形装配模块、片元信息转化模块,所述几何图形装配模块、片元信息转化模块在顶点着色器和片元着色器之间将传入的顶点坐标根据需要装配成几何图形,将装配好的几何图形转化成片元信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910151301.7A CN109920026A (zh) | 2019-02-28 | 2019-02-28 | 一种矢量图形轻量绘制及bim协同实现方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910151301.7A CN109920026A (zh) | 2019-02-28 | 2019-02-28 | 一种矢量图形轻量绘制及bim协同实现方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109920026A true CN109920026A (zh) | 2019-06-21 |
Family
ID=66962728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910151301.7A Pending CN109920026A (zh) | 2019-02-28 | 2019-02-28 | 一种矢量图形轻量绘制及bim协同实现方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109920026A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737618A (zh) * | 2020-06-24 | 2020-10-02 | 广联达科技股份有限公司 | 用于Web端的矢量图显示方法、装置和计算机设备 |
CN113642054A (zh) * | 2021-07-28 | 2021-11-12 | 通号城市轨道交通技术有限公司 | Cad图纸数据处理方法、装置和存储介质 |
CN116880737A (zh) * | 2023-09-06 | 2023-10-13 | 成都中科合迅科技有限公司 | 图形绘制控制方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100214294A1 (en) * | 2009-02-20 | 2010-08-26 | Microsoft Corporation | Method for tessellation on graphics hardware |
CN108595858A (zh) * | 2018-04-28 | 2018-09-28 | 成都希盟科技有限公司 | 基于bim的轻量化深度处理工作方法 |
CN109191576A (zh) * | 2018-09-06 | 2019-01-11 | 宁波睿峰信息科技有限公司 | 一种将建筑图纸转换为三维bim模型的图层分类方法 |
-
2019
- 2019-02-28 CN CN201910151301.7A patent/CN109920026A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100214294A1 (en) * | 2009-02-20 | 2010-08-26 | Microsoft Corporation | Method for tessellation on graphics hardware |
CN108595858A (zh) * | 2018-04-28 | 2018-09-28 | 成都希盟科技有限公司 | 基于bim的轻量化深度处理工作方法 |
CN109191576A (zh) * | 2018-09-06 | 2019-01-11 | 宁波睿峰信息科技有限公司 | 一种将建筑图纸转换为三维bim模型的图层分类方法 |
Non-Patent Citations (2)
Title |
---|
关峰: "基于Web3D的建筑信息模型轻量级可视化研究", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 * |
高喆: "基于WebGL的建筑信息模型展示系统研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737618A (zh) * | 2020-06-24 | 2020-10-02 | 广联达科技股份有限公司 | 用于Web端的矢量图显示方法、装置和计算机设备 |
CN113642054A (zh) * | 2021-07-28 | 2021-11-12 | 通号城市轨道交通技术有限公司 | Cad图纸数据处理方法、装置和存储介质 |
CN116880737A (zh) * | 2023-09-06 | 2023-10-13 | 成都中科合迅科技有限公司 | 图形绘制控制方法和系统 |
CN116880737B (zh) * | 2023-09-06 | 2023-11-17 | 成都中科合迅科技有限公司 | 图形绘制控制方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102903146B (zh) | 用于场景绘制的图形处理方法 | |
CN109920026A (zh) | 一种矢量图形轻量绘制及bim协同实现方法及其装置 | |
CN105630441B (zh) | 一种基于统一染色技术的gpu系统 | |
Pulli et al. | Mobile 3D graphics: with OpenGL ES and M3G | |
CN106600712B (zh) | 一种基于二维图像的纹理替换方法 | |
CN100458850C (zh) | 编辑图像的结构及方法 | |
CN109801373A (zh) | 基于WebGL实现企业生产三维可视化的方法及装置 | |
CN106056661A (zh) | 基于Direct3D 11的三维图形渲染引擎 | |
WO2021142977A1 (zh) | 一种基于vray的pbr材质渲染方法和系统 | |
CN111400024B (zh) | 渲染过程中的资源调用方法、装置和渲染引擎 | |
WO1994017495A1 (en) | Polymorphic graphic device | |
CN101021952A (zh) | 一种实现三维视频特效的方法及装置 | |
CN111710020B (zh) | 动画渲染方法和装置及存储介质 | |
CN113593027B (zh) | 一种三维航电显控界面装置 | |
CN108198231A (zh) | 电力gis矢量图形实时绘制方法、存储介质 | |
CN110298781A (zh) | 基于WebGL的气象雷达及卫星大数据可视化方法 | |
CN113436307B (zh) | 基于osgEarth影像数据到UE4场景的映射算法 | |
CN115062188A (zh) | 一种建筑数字孪生数据的存储方法 | |
CN109925715A (zh) | 一种虚拟水域生成方法、装置及终端 | |
CN114896644A (zh) | 一种基于ThreeJS的3D塔吊施工场景展示系统的实现方法 | |
CN110347462A (zh) | 一种基于opengl的wmf消防图形处理方法及装置 | |
CN111402349A (zh) | 渲染方法、渲染装置和渲染引擎 | |
Tabkhi et al. | A power-efficient FPGA-based mixture-of-Gaussian (MoG) background subtraction for full-HD resolution | |
CN109360263B (zh) | 一种面向资源受限移动设备的实时软阴影生成方法及装置 | |
CN112184874A (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 | ||
CB02 | Change of applicant information |
Address after: 310012 Block C, floor 5, building B, Paradise Software Park, No. 3 xidoumen Road, Xihu District, Hangzhou, Zhejiang Province Applicant after: Pin Ming Technology Co.,Ltd. Address before: 310012 Block C, floor 5, building B, Paradise Software Park, No. 3 xidoumen Road, Xihu District, Hangzhou, Zhejiang Province Applicant before: HANGZHOU PINMING SAFETY CONTROL INFORMATION TECHNOLOGY CO.,LTD. |
|
CB02 | Change of applicant information | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190621 |
|
WD01 | Invention patent application deemed withdrawn after publication |