Revit二次开发
生活不止远方的苟且还有眼前的小马哥
学习学习学习
展开
-
#Revit二次开发# 创建能够循环执行的窗口功能(五)
接上一篇https://blog.csdn.net/qq_29143307/article/details/116238456?spm=1001.2014.3001.5501在界面上再增加一个按钮,按下按钮时,再循环体内执行功能,即可实现 选择->执行功能->再选择的闭环了再按钮按下后,将状态设置为执行功能,向revit发送退出信息,退出选择状态。 private void button1_Click(object sender, EventArgs e) {原创 2021-04-28 18:13:31 · 485 阅读 · 2 评论 -
#Revit二次开发# 创建能够循环执行的窗口功能(四)
接上一篇https://blog.csdn.net/qq_29143307/article/details/116237803一个功能可能需要支持不同的选择模式,比如简单的点选,框选,或者不需要选择(选择了全部)集成在一个功能界面。比如:循环体改写如下,实现三种状态: while (true) { try { var con原创 2021-04-28 17:44:40 · 432 阅读 · 0 评论 -
#Revit二次开发# 创建能够循环执行的窗口功能(三)
接上一篇https://blog.csdn.net/qq_29143307/article/details/116236773在实际开发过程中,循环使用的功能,必然伴随对revit窗口中构件的操作,所以需要将功能窗口放置再revit窗口的角点位置,四个点中,左上角时最容易实现的,不需要进行计算(坐标系的特性),比如如果想放置再右上角角点,计算到右上角点坐标后,还需要减去功能窗口的宽度,才能得到功能窗口放置的坐标。所以以左上角点为例:首先需要得到revit当前的活动窗口,通过接口得到坐标点原创 2021-04-28 17:07:27 · 386 阅读 · 0 评论 -
#Revit二次开发# 创建能够循环执行的窗口功能(二)
https://blog.csdn.net/qq_29143307/article/details/116235371?spm=1001.2014.3001.5501接上一篇,再循环选择的功能窗口中增加自定义的过滤设置:首先,需要实现revit的过滤接口:ISelectionFilter,实现接口内的成员函数在自己实现的AllowElement和AllowReference可以根据需要实现丰富的过滤条件。但根据业务需求可能往往过滤要求各不相同,所以我选择使用委托处理,在委托中根据业务实现原创 2021-04-28 16:52:40 · 346 阅读 · 0 评论 -
#Revit二次开发# 创建能够循环执行的窗口功能(一)
核心思路是制造循环调用revit选择构件的API;源码: while (true) { try { var refter = Selection.PickObject(ObjectType.Element, "请点选墙体!"); var wall = doc.GetElement(r.原创 2021-04-28 16:22:13 · 324 阅读 · 0 评论 -
Revit如何判断两个Element是否相交
在Revit中,构件类型的基类是Element的都有这样一个接口 public BoundingBoxXYZ get_BoundingBox(View A_0);获取的就是某个视口下的外包。一般来说使用的时候都选择当前活动视口,如果有其他需要另当别论。但是BoundingBoxXYZ这个类中并不存在判断和另一个外包是否相交的接口,但是我发现Outline这个类型有public原创 2017-04-13 18:02:42 · 4038 阅读 · 0 评论 -
#Revit二次开发# 创建剖面视图
设置box的min和max只是设置box的范围大小。其中min和max的xyz方向的大小实际指的基于剖面视图坐标系。Box的原点和min,max可以确定位置关系;box的原点决定创建的剖面视图的原点。剖面视图的原点在剖面线上的一端。设置一个从左往右看的剖面视图:默认数值的情况下,box的min和maxbox的中心点Orgion是(0,0,0),此时原点:从左往右看,右下角是剖...原创 2019-09-03 11:22:57 · 3209 阅读 · 5 评论 -
#Revit二次开发# 调用RevitAPI实现清理未使用项
首先感谢不知名的某个大神提供的类 PerformanceAdviser,不然都没法研究这个类,明显就是有关性能管理的类,而且是个单例。通过接口,得到所有的规则,可以查看到每个规则代表的意思,1, 名称: 视图剪裁处于禁用状态, 描述: 视图剪裁被禁用。视图可能会生成与图元无关的图形,这需要额外的时间。,Guid: b37b2ae0-6eab-423d-bec7-59c55...原创 2019-09-09 17:00:17 · 1911 阅读 · 5 评论 -
#Revit二次开发#内部单位转化
revit的内部单位是极其丰富的。很多时候需要用到单位转化。内部使用的单位有在Autodesk.Revit.DB.DisplayUnitType类中有200多个数据都在这个类中。通过操作类Autodesk.Revit.DB.UnitUtils 可以进行判断,转化等需要的操作。这两个类可以自己去看API的说明。此次做的一个简单的测试是,界面上输入的1 ,对应的各个类型单位值是多少...原创 2019-09-17 16:18:33 · 1286 阅读 · 0 评论