[发明专利]一种基于Revit的智能创建轴线方法有效
申请号: | 202011045606.9 | 申请日: | 2020-09-29 |
公开(公告)号: | CN112131651B | 公开(公告)日: | 2022-03-08 |
发明(设计)人: | 巩文学;于海涛 | 申请(专利权)人: | 建图智能科技有限公司 |
主分类号: | G06F30/13 | 分类号: | G06F30/13;G06F30/12;G06F111/20 |
代理公司: | 济南泉城专利商标事务所 37218 | 代理人: | 李桂存 |
地址: | 250001 山东省济南*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 revit 智能 创建 轴线 方法 | ||
1.一种基于Revit的智能创建轴线方法,该方法至少包括以下步骤:
(1)拾取Revit中CAD图层线并转化:
(1.1)拾取标注对角线或拾取轴线:
点击“拾取标注对角线”Button按钮, 激活鼠标点击Click事件,通过Selection.PickObject供用户选择标注对角线或轴线图层获取Reference,使用GeometryElement以及GetGeometryObjectFromReference获取图纸的Transform矩阵数据,使用GeometryObject的Id值获取GraphicsStyle,并获取图层的图层类别以及图层名称;
(1.2)删除拾取的标注对角线按钮Button:
激活Click事件,使用当前激活视图的get_Parameter(BuiltInParameter.VIEW_TEMPLATE)获取视图样板,根据选中的图层文字,使用set_Visible属性显示对应的类别;使用list中Remove属性,移除已删除的数据;
(1.3)拾取轴符轴号图层:
点击“拾取轴号”按钮Button, 激活Click事件,通过Selection.PickObject供用户选择轴号图层,实现步骤与“拾取标注对角线或拾取轴线”相同,删除拾取的轴号图层按钮Button,实现与“删除拾取的标注对角线按钮Button”相同;
拾取轴符同上步骤;
(2)生成与创建:
(2.1)创建标注对角线:
获取当前用户选中图纸的Id,进而获取CADLinkType,再根据ModelPathUtils.ConvertModelPathToUserVisiblePath获取当前实例的目录地址以及用户在步骤(1)所选择的图层名称,使用CAD中Teigha组件,通过Database创建事务,使用 ReadDwgFile设置读取属性;通过BlockTable属性获取到所有存在的块表,根据块名称和图层名称得到轴线线段;
通过MillimetersToUnits将CAD坐标系的点转换为Revit坐标系的点,根据获取的线性,使用获取到的Transform矩阵,使用OfPoint将其转换坐标,把重复的线段进行去重处理;
(2.2)创建轴线:
使用FilteredElementCollector过滤器获取当前项目中所有的标高,根据获取的线段中点进行坐标的X和Y值的位置排序,判断步骤(1)中是否获取到轴符轴号,根据轴符位置匹配轴线,使其轴号对应轴线成组,通过Grid.Create创建轴线,使用SetVerticalExtents属性调整网格以及延伸底部和顶部之间的垂直范围;以及Name属性设置轴线名称;
(2.3)轴网类型设置:
使用FilteredElementCollector(Doc).OfCategory(BuiltInCategory.OST_Grids)获取步骤(2.1)或(2.2)中已创建的轴线Grid,获取项目中存在的GridType: TOP,DOWN,ALL,ARC,No五种类型;对获取的轴线创建的轴线样式进行赋值;
(2.4)尺寸标注创建:
使用FilteredElementCollector(Doc).OfCategory(BuiltInCategory.OST_Grids)获取已创建的轴线Grid,轴线通过X以及Y值进行OrderByDescending排序处理,并形成轴线组;
使用 FilteredElementCollector以及OfClass(typeof(DimensionType))获取项目中存在的所有标注样式类型, 判断是否已存在RomanD样式尺寸标注样式,若不存在则使用Duplicate进行类型赋值,使用BuiltInParameter的get_Parameter方法对样式调整;
根据此轴线组,分别获取最外侧轴线作为Reference,并将其收集到ReferenceArray中,根据两线连线做出垂直线的法线向量;
根据以上步骤处理好的轴线数据,使用Doc.Create.NewDimension方法进行创建标注。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于建图智能科技有限公司,未经建图智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011045606.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种皮带输送机的调偏装置
- 下一篇:一种制备氯乙烯的废气处理系统