当前位置: 首页 > 专利查询>南通大学专利>正文

一种基于RevitAPI的建筑场景简化方法技术

技术编号:36388989 阅读:17 留言:0更新日期:2023-01-18 09:52
本发明专利技术公开了一种基于Revit API的建筑场景简化方法,本发明专利技术主要对建筑场景按需进行简化,适合于面向日照分析、室内导航、光照分析等应用的建筑场景的简化。应用的建筑场景的简化。应用的建筑场景的简化。

【技术实现步骤摘要】
一种基于Revit API的建筑场景简化方法


[0001]本专利技术属于领域,具体涉及一种基于Revit API的建筑场景简化方法。

技术介绍

[0002]在当前,建筑、环保、消防、交通、测绘、地理信息、数字城市等多个领域都涉及建筑场景。在建筑场景中,建筑物模型是其重要的组成部分。但是建筑物模型信息类型较为驳杂,如“楼板”、“墙”、“柱”、“结构柱”等;信息量较大,单个建筑模型数据量往往达到百兆级别。若在建筑场景中加载全部建筑物模型信息,则系统会异常卡顿,对系统的应用造成阻碍。因此,研制一种方法,可按需对建筑物模型简化,即将关注的信息保留,不关注的信息过滤,从而达到对建筑模型进行简化的目标,显得尤为必要。
[0003]Autodesk公司出品的Revit软件产品是一款较为常见的针对三维模型的软件,可以对三维模型进行查看、编辑等操作。为了便于二次开发,Revit提供了相应的API。基于Revit API,可以对三维模型进行数据过滤、构件提取、文档编辑等一系列操作,为建筑场景的简化提供了可能。

技术实现思路

[0004]专利技术目的:为了解决现有技术的不足,本专利技术提供了一种基于Revit API的建筑场景简化方法,适用于对建筑场景按需进行简化等相关的应用。
[0005]技术方案:一种基于Revit API的建筑场景简化方法,包括如下步骤:
[0006]步骤1:定义一个名为Frminit的视窗类,用于选择要删除哪些建筑物模型信息;
[0007]步骤2:定义一个名为FilterAndSaveas的类,并在其中定义一个名为Execute的方法,以下操作步骤都是在Execute的方法进行;
[0008]步骤3:完成环境的初始化,并新建Frminit的视窗类的实例,返回要删除的建筑物模型的信息,存储在elementsList中;
[0009]步骤4:按照预设类别分别对elementsList进行处理,生成Autodesk.Revit.DB.Element

Id类型的对象,并将对象保存在集合selectedElement中;
[0010]步骤5:调用Autodesk.Revit.DB.Transaction类型事务,在当前revit文档中对selectedElement中的元素进行删除,并将处理后的结果进行保存。进一步的,步骤1中所述的Frminit的视窗类,视窗类的运行截图如附图1所示。设计界面包含两个区域:“包含的类别”和“选中的类别”,和两个按钮:“确定”和“取消。设计代码包含属性:Autodesk.Revit.DB.Document类型的doc和字符串类型的fileName,字符串列表的elementTypeList,字典型的selectedElementTypeList和eleDic,其中selectedElement

TypeList用于存储选中的要删除的建筑物信息类别;包含方法:构造方法Frminit,InitTree用于初始化表单,tvCategory_NodeMouseDoubleClick用于通过对“包含的类别”区域进行双击操作,从而添加选中的建筑物信息类别至“选中的类别”区域,lbSelectedCate_MouseDoubleClick用于对“选中的类别”区域进行编辑,可通过双击操作
对区域中的信息类别进行删除。
[0011]进一步的,步骤2中所述的FilterAndSaveas的类,继承自接口Autodesk.Revit.UI.IExternalCommand,其中的Execute方法,有三个参数,分别为类型为Autodesk.Revit.UI.ExternalComMandData的对象commandData,类型为字符串类型的对象message,以及类型为Autodesk.Revit.DB.ElementSet的对象elements。
[0012]进一步的,步骤3中所述的初始化工作,包含如下步骤:
[0013](31)从commandData对象中获取类型为Autodesk.Revit.UI.UIApplication的对象uiApp;
[0014](32)从uiApp对象中获取类型为Autodesk.Revit.UI.UIDocument的对象uiDoc;
[0015](33)从uiDoc对象中获取类型为Document的对象doc;
[0016](34)从uiDoc对象中获取类型为Autodesk.Revit.UI.Selection的对象selection;
[0017](35)从doc对象中获取所打开的revit文件的文件名,并将其存储在变量fileName中;
[0018]进一步的,步骤4所述的按照预设类别进行处理,包含如下步骤:
[0019]41)调用RemoveThisElement方法按照“楼板”、“墙”、“柱”、“结构柱”、“楼梯”、“栏杆”、“楼梯栏杆”、“房间”、“植被”、“灯具”、“家具”、“家具模型”、“停车场”、“其他模型”的类别分别对elementsList进行处理;
[0020]42)调用RemoveDiXing方法对elementsList进行处理;
[0021]进一步的,步骤41所述的RemoveThisElement方法,有两个重要的参数,字典型的elementsList和字符型的eleType。eleType的值可取“楼板”、“墙”、“柱”、“结构柱”、“楼梯”、“栏杆”、“楼梯栏杆”、“房间”、“植被”、“灯具”、“家具”、“家具模型”、“停车场”、“其他模型”。将eleType作为关键字传入elementsList进行查找,若相应的值为默认值,则将该eleType类型下的全部元素添加至selectedElement;若相应的值不为默认值,而为一个有限集合,则将该集合中的元素添加至selectedElement。
[0022]进一步的,步骤42所述的RemoveDiXing方法,将所有与地形相关的元素添加至selectedElement。
[0023]进一步的,步骤5中所述的内容,包含如下步骤:
[0024](51)启动事务trans;
[0025](52)当前文档对selectedElement中的元素进行删除操作;
[0026](53)提交事务trans;
[0027](54)当前文档进行保存操作。
[0028]有益效果:本专利技术主要对建筑场景按需进行简化,适合于面向日照分析、室内导航、光照分析等应用的建筑场景的简化。
附图说明
[0029]图1是本专利技术的Frminit的视窗类的运行截图。
[0030]图2是本专利技术的系统算法流程示意图。
具体实施方式
[0031]下面将对本专利技术实施例中的技术方案进行清楚、完整地描述,以使本领域的技术人员能够更好的理解本专利技术的优点和特征,从而对本专利技术的保护范围做出更为清本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Revit API的建筑场景简化方法,其特征在于:包括如下步骤:步骤1:定义一个名为Frminit的视窗类,用于选择要删除哪些建筑物模型信息;步骤2:定义一个名为FilterAndSaveas的类,并在其中定义一个名为Execute的方法,以下操作步骤都是在Execute的方法进行;步骤3:完成环境的初始化,并新建Frminit的视窗类的实例,返回要删除的建筑物模型的信息,存储在elementsList中;步骤4:按照预设类别分别对elementsList进行处理,生成Autodesk.Revit.DB.Element

Id类型的对象,并将对象保存在集合selectedElement中;步骤5:调用Autodesk.Revit.DB.Transaction类型事务,在当前revit文档中对selectedElement中的元素进行删除,并将处理后的结果进行保存。2.根据权利要求1所述的基于Revit API的建筑场景简化方法,其特征在于:所述的步骤2中所述的FilterAndSaveas的类,继承自接口Autodesk.Revit.UI.IExternalCommand,其中的Execute方法,有三个参数,分别为类型为Autodesk.Revit.UI.ExternalComMandData的对象commandData,类型为字符串类型的对象message,以及类型为Autodesk.Revit.DB.ElementSet的对象elements。3.根据权利要求1所述的基于Revit API的建筑场景简化方法,其特征在于:所述的步骤3中所述的初始化工作,包含如下步骤:(31)从commandData对象中获取类型为Autodesk.Revit.UI.UIApplication的对象uiApp;(32)从uiApp对象中获取类型为Autodesk.Revit.UI.UIDocument的对象uiDoc;(33)从uiDoc对象中获取类型为Document的对象doc;(34)从uiDoc对象中获取类型为...

【专利技术属性】
技术研发人员:曹鑫亮张驰周蕙文刘云平范占军车明亮杨帆张季一
申请(专利权)人:南通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1