一种基于Revit的自动创建雨棚的方法
文献发布时间:2023-06-19 11:29:13
技术领域
本发明涉及建筑工程行业和计算机信息科技行业技术领域,尤其涉及一种基于Revit自动创建雨棚的方法。
背景技术
Revit作为建模、施工图绘制的软件工具,在创建雨棚时,需使用revit族,选用常规模型族模板,使用拉伸、放样、旋转等处理,创建雨棚构件模型,使用线性尺寸标注添加参数化属性,创建相关参数化参数。完成族文件建立后载入项目文件,使用放置构件放置雨棚族,再次调整参数修改雨棚尺寸等。整个过程所需要的参数设置繁多,创建步骤繁琐,导致操作人员耗费大量精力又容易造成误差,大大降低了施工图绘制效率。
发明内容
本发明的目的是提供了一种基于Revit自动创建雨棚的方法,为了解决原有创建雨棚步骤繁琐的问题,为技术人员提供更加方便快捷的建模、施工图绘制流程,提高工作效率。
本发明为实现上述目的,通过以下技术方案实现:
步骤一:调用Autodesk.Revit.UI.IexternalEventHandler接口,对外部事件调用进行注册,使用委托进行调用执行;
步骤二:创建设置雨棚偏移量WPF窗体;传参,提供revit文档、委托,使用WindowStartupLocation设置窗体默认弹窗位置;以及WindowInteropHelper修改窗体置顶,与revit窗口进行挂接,最终进行窗体展示;
步骤三:获取用户偏移量数值;给步骤二中窗体添加 Button 控件,分别命名为“完成、取消”,并添加鼠标点击事件,添加 TextBox控件,命名为“偏移量”并获取其数值,调用创建雨棚函数;
步骤四:根据窗体中设置的偏移量数值,使用while语句循环调用创建雨棚函数,设置起终点,完成连续创建雨棚构件操作。
优选的,所述步骤三中使用System.Convert.ToDouble获取TextBox用户输入的偏移量数值。
优选的,所述步骤三中调用创建雨棚函数具体步骤如下:
1)使用FilteredElementCollector获取当前项目中的所有族类型,并根据Where表达式,筛选“钢结构玻璃雨棚”,如果为null,则使用LoadFamily载入相应族文件;并使用FilteredElementCollector获取项目中的“钢结构玻璃雨棚”族类型;
2)设置雨棚起终点,使用UIDoc.Selection.PickPoint获取用户选择放置点;
3)根据步骤1)中获取的族类型,使用IsActive判断当前族类型的状态,并使用Activate属性进行开启;
4)根据步骤2)中获取的起终点,使用Line.CreateBound创建Line,调用两点函数方法;
5)使用NewFamilyInstance,根据4)中创建的线Line,1)中的族类型,以及当前操作界面的Doc.ActiveView.GenLevel提供标高,设置StructuralType.NonStructural;
6)根据5)中创建的实例(FamilyInstance);使用get_Parameter调用INSTANCE_FREE_HOST_OFFSET_PARAM属性设置1)中获取的偏移量值。
7)使用get_Parameter调用“类别”属性设置名称为“雨棚”。
本发明的有益效果:本发明解决了创建雨棚步骤繁琐及所需要的参数设置繁多的弊端,直接在窗体控件中,设置雨棚起终点及偏移量即可自动创建雨棚。设计信息完整全面,数据之间相互关联、一处修改处处修改,减少成果误差,提高了建模和施工图绘制的质量,节约了时间成本,提高了工作效率。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
图1为本发明流程结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种基于Revit的自动创建雨棚的方法,主要包括自动调用钢结构玻璃雨棚参数化族,调整族参数以及偏移量等。包括以下步骤:
步骤一:调用Autodesk.Revit.UI.IexternalEventHandler接口,对外部事件调用进行注册,使用委托进行调用执行。
步骤二:创建设置雨棚偏移量WPF窗体,传参,提供revit文档、委托,使用WindowStartupLocation设置窗体默认弹窗位置;以及WindowInteropHelper修改窗体置顶,与revit窗口进行挂接,最终进行窗体展示。
步骤三:给步骤二中窗体添加 Button 控件,分别命名为:完成、取消,并添加鼠标点击事件,添加 TextBox控件,命名为:偏移量。
1、“取消”点击事件:
调用Close关闭WPF窗体界面。
2、“完成”点击事件包括:
A、获取步骤三中TextBox用户输入的偏移量数值,使用System.Convert.ToDouble获取。调用创建雨棚函数:
1)使用FilteredElementCollector获取当前项目中的所有族类型,并根据Where表达式,筛选“钢结构玻璃雨棚”,如果为null,则使用LoadFamily载入相应族文件。并使用FilteredElementCollector获取项目中的“钢结构玻璃雨棚”族类型。
2)设置雨棚起终点,使用UIDoc.Selection.PickPoint获取用户选择放置点。
3)根据步骤1)中获取的族类型,使用IsActive判断当前族类型的状态,并使用Activate属性进行开启。
4)根据步骤2)中获取的起终点,使用Line.CreateBound创建Line,调用两点函数方法。
5)使用NewF---5 amilyInstance,根据4)中创建的线Line,1)中的族类型,以及当前操作界面的Doc.ActiveView.GenLevel提供标高,设置StructuralType.NonStructural。
6)根据5)中创建的实例(FamilyInstance):
使用get_Parameter调用INSTANCE_FREE_HOST_OFFSET_PARAM属性设置1)中获取的偏移量值。
7)使用get_Parameter调用“类别”属性设置名称为“雨棚”。
B、根据窗体中设置的偏移量数值,使用while语句循环调用创建雨棚函数,设置起终点,完成连续创建雨棚构件操作。
- 一种基于Revit的自动创建雨棚的方法
- 一种基于Revit插件Dynamo的建筑物车位编号自动创建方法