为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 基于CAD平台的OSGB数据分级渲染的方法

基于CAD平台的OSGB数据分级渲染的方法

2022-10-31 2页 pdf 368KB 52阅读

用户头像 个人认证

is_409937

暂无简介

举报
基于CAD平台的OSGB数据分级渲染的方法(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN108765538A(43)申请公布日2018.11.06(21)申请号201810624335.9(22)申请日2018.06.16(71)申请人桂林理工大学地址541004广西壮族自治区桂林市七星区建干路12号(72)发明人范冬林 康传利 刘立龙 蓝贵文 韦波 谢美亭 陈家宙 (51)Int.Cl.G06T15/00(2011.01)权利要求书2页说明书3页附图2页(54)发明名称基于CAD平台的OSGB数据分级渲染的方法(57)摘要本发明公开了...
基于CAD平台的OSGB数据分级渲染的方法
(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN108765538A(43)申请公布日2018.11.06(21)申请号201810624335.9(22)申请日2018.06.16(71)申请人桂林理工大学地址541004广西壮族自治区桂林市七星区建干路12号(72)发明人范冬林 康传利 刘立龙 蓝贵文 韦波 谢美亭 陈家宙 (51)Int.Cl.G06T15/00(2011.01)权利要求书2页3页附图2页(54)发明名称基于CAD平台的OSGB数据分级渲染的方法(57)摘要本发明公开了一种基于CAD平台的OSGB数据分级渲染的方法。首先对OSGB数据进行解析,生成模型数据、纹理数据;其次利用ARX将模型数据和纹理数据进行重组,生成CAD中的三维模型;然后利用LOD算法构建DWG三维模型的LOD逻辑树;最后,根据CAD中的视距和可视范围对LOD逻辑树中的结点进行筛选,对当前帧待显示的结点进行加载,对当前帧不需要显示的结点进行删除,完成OSGB数据在CAD中的分级渲染。本发明突破OSGB数据的应用界限,为国土、、景观等部门在CAD软件上直接使用倾斜摄影实景模型提供新的技术手段。CN108765538ACN108765538A权 利 要 求 书1/2页1.一种基于CAD平台的OSGB数据渲染的方法,其特征在于具体步骤为:读取OSGB文件夹下所有层级OSGB数据文件;(2)以单个OSGB数据文件为单位,提取其中的模型以及纹理数据,根据模型中心点经纬度值,对模型顶点坐标进行偏移校正,同时将校正后的模型数据、纹理数据持久化到磁盘;(3)根据步骤(2)中的模型和纹理数据,生成CAD中的三维模型,以DWG格式存储,以上完成OSGB模型数据到DWG模型数据转换;(4)以步骤(3)完成的DWG文件为基础,构建索引;读取每一个DWG文件,获取其包围盒,将文件路径与包围盒坐标写入到文本索引中;同时,合并最顶层DWG文件的包围盒,形成本次索引构建的最小包围盒,将该包围盒坐标写入文本索引;(5)以步骤(4)创建的索引文件,构建LOD结点;对结点进行分类,如果没有子结点,则划分为叶结点;如果包含子结点,则划分为组结点;同一文件夹下的所有结点,则组成为一个LOD结点;将叶结点关联到组结点下,组结点关联到LOD结点下,所有LOD结点关联到一个组结点下,形成一个LOD逻辑树;获取CAD三维视图下视距与可视范围;(7)通过步骤(6)获取的视距确定渲染的层级,可视范围确定具体渲染数据块;于是,根据视距和可视范围对LOD逻辑树进行刷选,确定需要显示的数据块;(8)将步骤(7)刷选出的数据块结点,进行渲染,拷贝其对应DWG文件中的模型至当前文档,完成渲染。2.如权利要求1所述的基于CAD平台的OSGB数据渲染的方法,其特征在于所述步骤(2)具体为:利用OSG开发包对OSGB结点数据进行加载;遍历所有加载的OSGB结点,获取其中的顶点数据与纹理映射坐标;根据倾斜摄影数据提供的metadata.xml中的信息对顶点数据进行偏移计算,将这两部分信息保留在内存中;利用OSG开发包对OSGB结点数据进行加载;遍历所有加载的OSGB结点,获取其中的纹理图片;根据原始OSGB文件的路径,将纹理图片保存到正确的位置。3.如权利要求1所述的基于CAD平台的OSGB数据渲染的方法,其特征在于所述步骤(3)具体为:利用CAD开发包ARX,创建一个AcDbSubDMesh对象;将获取的顶点数据赋值给AcDbSubDMesh;创建一个材质对象,并将其纹理赋值为获取到的纹理图片,将该材质添加到CAD模型空间中;将该AcDbSubDMesh对象与材质结合,赋值纹理坐标和材质给该对象,完成OSGB模型数据的DWG格式缓存。4.如权利要求1所述的基于CAD平台的OSGB数据渲染的方法,其特征在于所述步骤(5)具体为:以面向对象的思想设计叶结点、组结点、LOD结点,其中叶节点至少包含结点名称、结点所在层级、结点所在网格号、父结点所在网格号;组结点至少包含保存子节点的列;LOD结点至少包含每个结点可视化范围列表;对索引文件中所有文件路径进行升序排序;解析每个文件名,获取层级以及网格号、父网格号;根据父层级以及父网格号进行寻址,找到父结点,完成独立LOD构建;将所有独立的LOD组合起来,关联在一个组结点下,完成整个LOD树构建。2CN108765538A权 利 要 求 书2/2页5.如权利要求1所述的基于CAD平台的OSGB数据渲染的方法,其特征在于所述步骤(7)具体为:构建一个LOD树的访问结点,该结点用于收集每次需要渲染的结点,该结点至少包含一个用于获取视距的接口,该接口返回当前相机的视距;该结点同时收集下一次需要隐藏的结点,判断依据是该结点与可视范围有空间重叠;对需要显示的结点进行渲染,根据被渲染结点的缓存文件即DWG文件路径将模型数据拷贝到当前模型空间,进行显示;对需要进行隐藏的结点进行删除操作。3CN108765538A说 明 书1/3页基于CAD平台的OSGB数据分级渲染的方法技术领域[0001]本发明属于计算机应用领域,特别涉及一种OSGB数据在AutoCAD中渲染的方法。背景技术[0002]倾斜摄影实景模型已经被广泛应用于各个领域,OSGB数据格式作为倾斜摄影实景模型的通用格式,自带超过20级金字塔级别的模型精度等级,使用该数据格式,可以充分利用LOD(多层次细节结构)的优势,加快数据加载速度,展示真实效果的三维实景模型。而CAD并不直接支持OSGB数据格式,这使得国土、规划、景观等单位无法使用倾斜摄影实景模型。发明内容[0003]本发明的目的是针对现有CAD不直接支持OSGB数据格式的渲染缺点,提供一种在CAD中以多层次细节结构渲染OSGB数据格式的方法。[0004]基于CAD平台的OSGB数据渲染的方法具体步骤为:(1)读取OSGB文件夹下所有层级OSGB数据文件。[0005](2)以单个OSGB数据文件为单位,提取其中的模型以及纹理数据,根据模型中心点经纬度值,对模型顶点坐标进行偏移校正,同时将校正后的模型数据、纹理数据持久化到磁盘。[0006](3)根据步骤(2)中的模型和纹理数据,生成CAD中的三维模型,以DWG格式存储,以上完成OSGB模型数据到DWG模型数据转换。[0007](4)以步骤(3)完成的DWG文件为基础,构建索引;读取每一个DWG文件,获取其包围盒,将文件路径与包围盒坐标写入到文本索引中;同时,合并最顶层DWG文件的包围盒,形成本次索引构建的最小包围盒,将该包围盒坐标写入文本索引。[0008](5)以步骤(4)创建的索引文件,构建LOD结点。对结点进行分类,如果没有子结点,则划分为叶结点;如果包含子结点,则划分为组结点;同一文件夹下的所有结点,则组成为一个LOD结点;将叶结点关联到组结点下,组结点关联到LOD结点下,所有LOD结点关联到一个组结点下,形成一个LOD逻辑树。[0009](6)获取CAD三维视图下视距与可视范围。[0010](7)通过步骤(6)获取的视距确定渲染的层级,可视范围确定具体渲染数据块;根据视距和可视范围对LOD逻辑树进行刷选,确定需要显示的数据块。[0011](8)将步骤(7)刷选出的数据块结点,进行渲染,拷贝其对应DWG文件中的模型至当前文档,完成渲染。[0012]本发明使用上述技术,对OSGB数据提取其中的模型、纹理数据,并将该部分数据缓存为DWG格式模型数据,通过构造LOD树,实现结点数据的逻辑分级。结合CAD中的视距与可视范围对LOD树中的结点进行刷选,确定需要渲染的结点,从而完成OSGB数据分级渲染,实现在CAD中对OSGB数据进行分级渲染的效果。CAD作为辅助制图工具被国土、规划、测绘等部门广泛使用,在CAD中渲染倾斜摄影实景模型的需求也越来越强烈。4CN108765538A说 明 书2/3页[0013]本发明弥补了CAD中不支持OSGB数据渲染的缺点,实现了在CAD中对OSGB数据分级渲染的要求,具有很好的市场推广价值。附图说明[0014]图1 是本发明中构建的LOD逻辑树示意图。[0015]图2 是本发明的技术流程图。[0016]图3 是本发明中结点类图设计示意图。具体实施方式[0017]实施例:下面结合附图与实施例对本发明作进一步详细描述。[0018]如图2所示,对每个独立的OSGB结点数据,进行解析,对解析的结果数据(模型数据、纹理图片)进一步缓存为DWG格式模型数据文件;选取需要显示的OSGB结点数据,根据这些缓存的DWG文件构建索引文件;获取索引文件中每个条目(对应一个结点)的信息,包括缓存文件相对路径、缓存文件在世界坐标下的包围盒。根据结点组织,构建LOD树逻辑结构,该结构如图1所示;创建LOD树访问结点,用于刷选LOD树中的结点,该访问结点附带CAD三维视图中视距与可视化范围,如果树结点层级在视距范围内,且包围盒与可视范围重叠,则该结点将被收集起来,用于后面渲染;将收集后的结点进行渲染。[0019]以下分别详细说明各个实现步骤。[0020](1) OSGB数据解析与缓存包括以下几个步骤:步骤1 模型数据提取;步骤2 纹理图片提取;步骤3 生成DWG缓存。[0021]具体实施步骤如下:步骤1 模型数据提取:利用OSG开发包对OSGB结点数据进行加载;遍历所有加载的OSGB结点,获取其中的顶点数据与纹理映射坐标;根据倾斜摄影数据提供的metadata.xml中的信息对顶点数据进行偏移计算,将这两部分信息保留在内存中。[0022] 步骤2 纹理图片提取:利用OSG开发包对OSGB结点数据进行加载;遍历所有加载的OSGB结点,获取其中的纹理图片;根据原始OSGB文件的路径,将纹理图片保存到正确的位置(以该OSGB文件上一级文件夹为起始相对目录)。[0023] 步骤3 生成DWG缓存:利用CAD开发包ARX,创建一个AcDbSubDMesh对象;将步骤1顶点数据赋值给AcDbSubDMesh;创建一个材质对象,并将纹理赋值为步骤2的纹理图片,将该材质添加到CAD模型空间中;将该AcDbSubDMesh对象与材质结合,赋值纹理坐标和材质给该对象,完成OSGB模型数据的DWG格式缓存。[0024](2) 索引文件创建包括以下几个步骤:步骤1 OSGB结点文件夹选取;步骤2 结点基本元信息提取;步骤3 生成索引文件。[0025]具体实施步骤如下:5CN108765538A说 明 书3/3页步骤1 OSGB结点文件夹选取:选取需要进行渲染的OSGB结点文件夹,这部分OSGB数据文件将组合成一个索引文件,未在该索引文件中的OSGB文件将不会被渲染。[0026]步骤2结点基本元信息提取:以索引文件为基准,获取OSGB文件对应DWG文件相对索引文件的相对路径;获取该DWG的包围盒坐标,以如下形式表示[(MinX,MinY,MinZ)、(MaxX,MaxY,MaxZ)];对于顶层DWG文件,合并其包围盒,形成本索引的最小包围盒。[0027]步骤3生成索引文件:根据步骤2获取的单个OSGB文件元信息、索引本身包围盒信息、索引名称等信息,以JSON格式持久化到磁盘。[0028](3) LOD树创建包括以下几个步骤:步骤1 面向对象的结点类设计与实现;步骤2 结点寻址与独立LOD构建;步骤3 LOD树构建。[0029]具体实施步骤如下:步骤1 面向对象的结点类设计与实现:以面向对象的思想设计叶结点、组结点、LOD结点,其中叶节点至少包含结点名称、结点所在层级、结点所在网格号、父结点所在网格号;组结点至少包含保存子节点的列表;LOD结点至少包含每个结点可视化范围列表,设计的类图关系参见附图3。[0030]步骤2结点寻址与独立LOD构建:对索引文件中所有文件路径进行升序排序;解析每个文件名,获取层级以及网格号、父网格号;根据父层级以及父网格号进行寻址,找到父结点,完成独立LOD构建。[0031]步骤3 LOD树构建:将所有独立的LOD组合起来,关联在一个组结点下,完成整个LOD树构建,构建完成的LOD树可参见附图1。[0032](4) 结点刷选与渲染包括以下几个步骤:步骤1视距与可视范围获取;步骤2 LOD树访问结点构建;步骤3 结点渲染。[0033]具体实施步骤如下:步骤1视距与可视范围获取:视距被定义为屏幕长或宽在实景模型平面的投影长度;获取索引文件包含的结点的地形平面,根据整个模型的包围盒确定视距变化是由屏幕长度决定还是宽度决定;可视范围为一个以屏幕中心点在世界坐标的投影点为中心的球体,其直径为屏幕长度在世界坐标的投影长度。[0034]步骤2 LOD树访问结点构建:构建一个LOD树的访问结点,该结点用于收集每次需要渲染的结点,该结点至少包含一个用于获取视距的接口,该接口返回步骤1的视距;该结点同时收集下一次需要隐藏的结点,判断依据是该结点与可视范围有空间重叠。[0035]步骤3结点渲染:对步骤2收集的结点进行渲染,根据被渲染结点的缓存文件(DWG文件)路径将模型数据拷贝到当前模型空间;对步骤2需要进行隐藏的结点进行删除操作。通过上述步骤即可完成OSGB数据在CAD中的分级渲染。6CN108765538A说 明 书 附 图1/2页图1图27CN108765538A说 明 书 附 图2/2页图38
/
本文档为【基于CAD平台的OSGB数据分级渲染的方法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索