[发明专利]一种基于Revit的自动创建烟气道的方法在审
申请号: | 202110348634.6 | 申请日: | 2021-03-31 |
公开(公告)号: | CN112989472A | 公开(公告)日: | 2021-06-18 |
发明(设计)人: | 巩文学 | 申请(专利权)人: | 山东营匠建筑设计咨询有限公司 |
主分类号: | G06F30/13 | 分类号: | G06F30/13;G06F3/0483;G06F113/14 |
代理公司: | 济南泉城专利商标事务所 37218 | 代理人: | 李桂存 |
地址: | 250000 山东省济南*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 revit 自动 创建 烟气 方法 | ||
1.一种基于Revit的自动批量创建烟气道的方法,其特征在于,包括以下步骤:
步骤1:调用Autodesk.Revit.UI.IexternalEventHandler接口,对外部事件调用进行注册,使用委托进行调用执行;
步骤2:创建窗体界面并与revit窗口挂接;
所述步骤1获取到的微软内置方法创建WPF窗体,传参,提供revit文档、委托,设置窗体默认弹出位置以及修改窗体置顶,与revit窗口进行挂接,最终进行窗体展示;
步骤3:获取项目中“烟气道”类型;
使用FilteredElementCollector获取当前项目中的所有族类型,并根据where表达式,筛选“烟气道”;如果为空,则使用LoadFamily载入软件安装时的族文件,使用FilteredElementCollector获取项目中的“烟气道”族类型;
步骤4:为窗体添加控件和创建相应事件并设置顶部偏移值;
为步骤2中创建的窗体添加Button控件,分别命名为:布置、取消,并添加鼠标点击事件;添加ComboBox控件,选择烟气道类型,添加TextBox控件,设置放置烟气道顶部偏移;
步骤5:点击布置按钮,获取所有的墙体和标高,确定放置点;
点击“取消”Button控件,调用Close属性,关闭wpf窗体界面;
点击“布置”Button控件,使用Text属性获取烟气道顶部偏移值,使用Trim去除空白字符,使用Equals判断是否输入有误,若有误,调用MessageBox提示:顶部偏移不能为空或输入有误;
若正确,则调用布置烟气道函数,自动获取项目中所有墙体、标高、烟气道类型等参数,确定放置点,创建烟气道构件;
步骤6:根据构件范围,自动收集楼板开洞边界线,完成楼板开洞。
2.根据权利要求1所述的基于Revit的自动批量创建烟气道的方法,其特征在于,所述调用布置烟气道函数,自动创建烟气道构件,具体步骤如下:
a.使用ElementClassFilter添加typeof(Wall)获取项目中所有的墙体;
b.使用ElementClassFilter添加typeof(Level)获取项目中所有的标高,并并使用排序方法 OrderBy,获取最高标高TopLevel以及最低标高BottomLevel;
c.根据用户在wpf窗体界面所选烟气道类型,调用PickPoint供用户确定放置点;
d.调用NewFamilyInstance,使用步骤c中的放置点,烟气道类型,以及当前操作平面的GenLevel,和Autodesk.Revit.DB.Structure.StructuralType.NonStructural,提供创建烟气道族的参数;
e.使用get_BoundingBox获取已创建烟气道族构件的范围box,并传参ActiveView属性,调用max以及min属性,获取左下以及右上点,使用new XYZ重建坐标数据,获取四个角点值,使用Line.CreateBound以及创建四条线,使用CurveArray进行收集,作为烟气道剪切楼板开洞的边界线;
f.使用ElementIntersectsElementFilter相交过滤器 ,根据WherePasses得到与烟气道相剪切的楼板;
g.使用NewOpening方法,根据步骤e、f获取边界剪切楼板。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东营匠建筑设计咨询有限公司,未经山东营匠建筑设计咨询有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110348634.6/1.html,转载请声明来源钻瓜专利网。