【技术实现步骤摘要】
一种简化门窗族类型自适应生成与模型轻量化方法
[0001]本专利技术涉及一种BIM模型轻量化方法,具体涉及为一种简化门窗族类型自适应生成与模型轻量化方法。
技术介绍
[0002]在当前,BIM技术已经广泛的应用到建筑、环保、消防、交通、测绘、地理信息、数字城市等多个领域。在这些应用中,建筑物模型起到了至关重要的作用。但BIM模型携带的数据信息较多:例如管道线路的布设,门窗结构的细节构造等,单个建筑模型数据量往往达到百兆级别。若在城市级别场景中加载成千上万个这样的模型,将使得系统变得异常卡顿。
[0003]一个单体建筑的BIM模型中,门窗对象包含了大量的细节,因此占了较大一部分存储空间(例如门可包含门框、门扇、锁孔、门把手等细节,需要占用大量存储空间进行建模)。而在大多数实际的应用场景中(例如室内疏散路径规划、日照分析、气流运动等),根本无需关注门窗等建筑构件的复杂几何细节,只需关注建筑构件的位置和简单的几何轮廓。因此亟待采取某种方法,在确保计算分析顺利进行的情况下对BIM模型进行轻量化以提高运行效率。
[0004]要实现门窗对象的简化,需要根据BIM模型中现有门窗的尺寸构建简化的族类型。由于一个单体建筑的BIM模型中可能存在多种尺寸的门窗,如果采用纯手工方式来构建简化的门窗族以及相应的映射文件,较为繁琐,且容易出现疏漏(如漏掉BIM模型中存在的相关尺寸)。因此,需要采取某种方法,来自动化的生成上述简化的门窗族类型以及相应映射文件,并在此基础上实现BIM模型的轻量化操作。
技术实现思路
...
【技术保护点】
【技术特征摘要】
1.一种简化门窗族类型自适应生成与模型轻量化方法,其特征在于,包括以下步骤:步骤S1:手动构建简化的门窗族原始文件,分别保存为路径“D:\RvtWorkingDir\原始门.rfa”和“D:\RvtWorkingDir\原始窗.rfa”;步骤S2:定义一个名为Execute的方法,并进行系统环境初始化;步骤S3:提取模型中所有的门族实例,并将其保存在门族实例集合doorsOfLevels中;提取模型中所有的窗族实例,并将其保存在窗族实例集合windowsOfLevels中;步骤S4:针对所提取出的门族实例集合doorsOfLevels,将文件“D:\RvtWorkingDir\原始门.rfa”进行修改,生成对应的简化门族类型文件并保存为路径“D:\RvtWorkingDir\原始门.rfa”;生成对应的映射文件,并保存为路径“D:\RvtWorkingDir\doorinfiles.txt”;步骤S5:针对所提取出的窗族实例集合windowsOfLevels,将文件“D:\RvtWorkingDir\原始窗.rfa”进行修改,生成对应的简化窗族类型文件并保存为路径“D:\RvtWorkingDir\原始窗.rfa”;生成对应的映射文件,并保存为路径“D:\RvtWorkingDir\windowinfiles.txt”;步骤S6:将步骤S4、S5中生成的族文件“D:\RvtWorkingDir\原始门.rfa”和“D:\RvtWorkingDir\原始窗.rfa”手动加载到BIM模型中;步骤S7:调用自定义方法TreatElements,将模型中所有的门族实例进行简化;步骤S8:调用自定义方法TreatElements,将模型中所有的窗族实例进行简化。2.根据权利要求1所述的一种简化门窗族类型自适应生成与模型轻量化方法,其特征在于,所述步骤S2中Execute方法包含三个参数,分别为类型为ExternalCommandData的对象commandData,类型为string的对象message,以及类型为ElementSet的对象elements。3.根据权利要求1所述的一种简化门窗族类型自适应生成与模型轻量化方法,其特征在于,所述步骤S2中系统环境初始化具体方法为:步骤S21:从commandData对象中获取类型为UIApplication的对象uiApp;步骤S22:从uiApp对象中获取类型为Document的对象doc;步骤S23:初始化类型为FilteredElementCollector的对象collectorDoor,以及类型为FilteredElementCollector的元素收集器collectorWindow。4.根据权利要求1所述的一种简化门窗族类型自适应生成与模型轻量化方法,其特征在于,所述步骤S4和S5具体实现为一个自定义方法void PrintCategory(ICollection<Element>openingsOfLevels,Document doc0,string eleType,ExternalCommandData commandData0);该方法接收4个参数,分别为类型为ICollection<Element>的门/窗族实例集合openingsOfLevels(该参数值来源于步骤S3中的对象doorsOfLevels或windowsOfLevels),类型为document的文档对象doc0(该参数值来源于步骤S22中的对象doc),类型为string的字符串对象eleType(该参数可取值为“door”或“window”),类型为ExternalCommandData的对象commandData0(该参数值来源于步骤S21中的对象commandData)。5.根据权利要求1所述的一种简化门窗族类型自适应生成与模型轻量化方法,其特征在于,所述步骤S4的具体方法如下:步骤S41:自动构建BIM模型中现有门/窗族类型与简化后的门/窗族类型的映射文;步骤S42:自动化构建简化的门/窗族文件并进行保存。
6.根据权利要求1所述的一种简化门窗族类型自适应生成与模型轻量化方法,其特征在于,所述步骤S41的具体方法如下:步骤S411:定义一个类型为List<string>的对象strList;步骤S412:顺序遍历openingsOfLevels中的每一个族实例ele,转下一步;步骤S413:取ele的“Name”属性的值eleName(该属性值为ele所对应的族类型名称),如果strList已经包含与eleName值相等的字符串,则转步骤S417,否则转S414;步骤S414:在strList的末尾添加eleName,并根据eleType的值做如下操作:如果值为"door"则转步骤S415,否则转步骤S416;步骤S415:在strList的末尾添加ele的长度和宽度值(分别对应属性DOOR_WIDTH和DOOR_HEIGHT)转步骤S417;步骤S416:在strList的末尾添加ele的长度和宽度值(分别对应属性WINDOW_WIDTH和WINDOW_HEIGHT)转步骤S417;步骤S417:如果openingsOfLevels已经遍历完成,转步骤S418,否则转步骤S412;步骤S418:创建一个配置文件sw,如果eleType值为"door"则sw的文件路径为“D:\RvtWorkingDir\doorinfiles.txt”否则sw的文件路径为“D:\RvtWorkingDir\windowinfiles.txt”;步骤S419:定义一个数组索引i,整形变量,初值为0,转步骤S41A;步骤S41A:若i值...
【专利技术属性】
技术研发人员:张驰,杨帆,曹鑫亮,车明亮,张季一,王英利,
申请(专利权)人:南通大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。