[发明专利]Revit工程计算量并行处理方法、装置、终端及介质有效
申请号: | 201810282395.7 | 申请日: | 2018-04-02 |
公开(公告)号: | CN108509220B | 公开(公告)日: | 2021-01-22 |
发明(设计)人: | 刘炳元 | 申请(专利权)人: | 厦门海迈科技股份有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/48 |
代理公司: | 北京科家知识产权代理事务所(普通合伙) 11427 | 代理人: | 陈娟 |
地址: | 361008 福建省*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | revit 工程 计算 并行 处理 方法 装置 终端 介质 | ||
1.一种基于Revit工程计算量的并行处理方法,其特征在于,所述方法包括:
将Revit模型映射为算量模型,并根据算量模型中的构件特征缓存所有构件工程量计算所需的数据;
对算量模型中缓存的所有构件工程量数据进行并行计算;
利用任务并行库TPL进行任务调度,控制构件工程量计算的整体进度,直至完成并行计算;
所述算量模型,指的是符合预算要求的预定义构件模板,模板约定了构件所属的专业、类别信息,并约定该类构件特征参数及计算项目;
所述将Revit模型映射为算量模型包括:
为Revit模型中结构部分的每一个族实例生成一个方便操作的构件;
将所生成的构件,与符合算量要求的算量模型进行映射;
所述对算量模型中缓存的所有构件工程量数据进行并行计算,包括以下步骤:
步骤1:任务进度控制器创建一个任务task,所述task来源于TPL;
步骤2:所述任务task创建构件计算器,并关联对应的构件;
步骤3:所述构件计算器计算构件的工程量;
步骤4:循环执行步骤1~步骤3,直至所有构件均分配有构件计算器计算,任务进度控制器停止创建任务task;
所述对算量模型中缓存的所有构件工程量数据进行并行计算,首先要对任务进度控制器进行初始化,初始化过程中采用.net的CountdownEvent实现task进度通知机制,具体地,先初始化CountdownEvent信号量;其次,设定task调度,通过task的调度方法continuation将CountdownEvent.Signal()放到主线程执行,以通知任务完成;最后,为确保主线程处于非阻塞状态,步骤1、2放在子线程中执行。
2.如权利要求1所述的方法,其特征在于,所述根据算量模型中的构件特征缓存所有构件工程量计算所需的数据,包括:
根据构件所属的算量模型类别,通过构件计算器工厂生成对应的计算服务对象;
根据所述计算服务对象提供的缓存方法进行构件工程量数据缓存;
计算器工厂用于注册计算器服务,并与构件的模型特征关联,以便外部使用;数据缓存控制器用于控制所有构件数据缓存的执行流程。
3.如权利要求1所述的方法,其特征在于,在执行所述步骤1:任务进度控制器创建一个任务task之前,所述方法还包括:
任务进度控制器根据计算系统配置和构件数量计算规划创建任务task的数量。
4.如权利要求1所述的方法,其特征在于,利用任务并行库TPL进行任务调度,控制构件工程量计算的整体进度,包括:
利用TPL将每一构件计算器的计算任务放入子线程进行并行计算,并控制显示每一构件计算器的计算任务的进度条;
构件工程量并行计算结束后,调用倒计时活动事件结束处理任务,关闭进度条。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门海迈科技股份有限公司,未经厦门海迈科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810282395.7/1.html,转载请声明来源钻瓜专利网。