Revit中统计出来的管道长度是实际的管道长度,而传统算量是把管件占的长度也计算到管道中的,虽说从理论来说Revit的量更准确,但在不讨论对错的情况下,倘若我希望兼容传统的算量规则的话,也是可以让Revit自动把管件长度也折算到管道里面的。

折算的逻辑其实比较简单,首先获得管道,查询一下管道的连接件是否有连接有管件,如果连接了的话就计算连接件到族位置点的距离,将这段距离与管道的长度相加即可获得折算后长度。

要注意的是这样的折算对族的位置点是有要求的,用自带的常规管件来举例的话,弯头、三通这些都是可以完美的将管件长度折算过去的,因为它们的位置点就是管道的交点,而变径则会将长度折算到其中一端,因为它的位置点就在其中一个连接件上。

以下代码:

                //管道长度double pipeLength = pipe.get_Parameter(BuiltInParameter.CURVE_ELEM_LENGTH).AsDouble();//折算后长度double convertLength = pipeLength;foreach (Connector con in pipe.ConnectorManager.Connectors){if (con.IsConnected){foreach (Connector ref_con in con.AllRefs){if ((BuiltInCategory)ref_con.Owner.Category.Id.IntegerValue == BuiltInCategory.OST_PipeFitting && (ref_con.ConnectorType == ConnectorType.End || ref_con.ConnectorType == ConnectorType.Curve || ref_con.ConnectorType == ConnectorType.Physical)){convertLength += con.Origin.DistanceTo((ref_con.Owner.Location as LocationPoint).Point);break;}}}}TaskDialog.Show("goodwish", Math.Round(UnitUtils.ConvertFromInternalUnits(pipeLength, DisplayUnitType.DUT_MILLIMETERS), 3).ToString() + " => " + Math.Round(UnitUtils.ConvertFromInternalUnits(convertLength, DisplayUnitType.DUT_MILLIMETERS), 3).ToString());

Revit二次开发_计算管道长度时折算管件相关推荐

  1. Revit二次开发_轴网快速标注

    通过Revit二次开发实现对平行轴网的快速标注.交互操作是框选轴网->点选尺寸标注出现的位置->生成两道尺寸标注. 要达到设想的结果一些地方需要特殊考虑: 框选操作容易误选轴网,起码要把与 ...

  2. Revit二次开发_将数据导入Excel

    有时需要将Revit模型的一些信息提取到Excel中进行处理或者是作为记录进行储存,但也许是因为Revit的数据结构相对复杂,并不支持直接将数据导出Excel,所以平时通过二次开发将信息输出到Exce ...

  3. Revit二次开发_显示最近的轴网交点

    做项目的时候有时要通过轴网定位与别人交流,常规操作是点选最近的两根轴网,看轴网的名称.可能我记性太差,一个地方总是要确认几次才放心.现在也有一些插件可以将轴圈显示在工作视图最外侧,但在轴网比较多且密集 ...

  4. Revit中计算管道的总长--折算管件

    该文参照https://blog.csdn.net/imfour/article/details/80194616,记录下来加深记忆,再者便于以后查看 Revit中统计出来的管道长度是实际的管道长度, ...

  5. Revit二次开发_修改快捷键

    目录 示例代码 Revit 2019命令ID 快捷键设置规则 保留的快捷键 Revit官方的似乎并没有提供修改快捷键的api,感谢@魏无忌的这篇博文--Revit开发之快捷键相关类_魏无忌的博客-CS ...

  6. Revit二次开发_获取视图样式替换

    目的是用于导出视图样板中的图形替换,但Revit中视图样板其实也属于视图,所以对于所有视图都通用. 方法十分简单,视图中的样式替换都可以通过OverrideGraphicSettings读取,要注意的 ...

  7. Revit二次开发_快速切换快捷键的插件

    以前在办公室总要去同事电脑排查问题,或者有时要用公用电脑进行Revit演示,但不同使用者的快捷键方案不一样 而Revit的快捷键管理只能通过手动导入导出的方式进行快捷键的批量替换 通过这个扩展工具,R ...

  8. Revit二次开发之管道避让

    管道翻弯避避让 本项目实现了管道碰撞的时候跳跃或者翻弯的方式实现避让的功能.废话不多说,直接上代码 这个Command类是项目的主要类. using System; using System.Coll ...

  9. Revit二次开发入门捷径_升维学习、降维打击

    问题 入门Revit二次开发有捷径吗? 答案 量子力学:有也没有.(皮一下:叠加态) 没有:目的地只有一个,路只有一条,学习没有捷径. 有:虽然路只有一条,但我们可以借助交通工具,缩短时间就是捷径. ...

最新文章

  1. IBM:物联网应重启,否则注定会失望
  2. 定时备份MySQL数据库
  3. VS2005+WINDDK+Driver Studio 3.2编译出第一个测试驱动程序
  4. 秒懂 QPS、TPS、PV、UV、IP!
  5. 让AI学习如何玩游戏 OpenAI打造强化学习通用模型
  6. python渲染光线_python模板渲染配置文件
  7. JDK源码解析之 Java.lang.Compiler
  8. Android 系统(78)---《android framework常用api源码分析》之 app应用安装流程
  9. CLR探索系列:托管PE/COFF文件格式侧窥
  10. 【渝粤教育】国家开放大学2018年春季 0550-22T素描(一) 参考试题
  11. linux内核奇遇记之md源代码解读之三
  12. 音频3A测试 AGC自动增益测试
  13. 纪念王盘声逝世一周年王派演唱会成功举行
  14. 2.4G天线在PCB板上的设计
  15. dsp 28377 +RX-8025T 实现RTC功能
  16. 苹果切换输入法_最新破解朋友圈折叠的多种方法!安卓和苹果通用!亲测有效!...
  17. 肽核酸(PNA)偶联穿膜肽(CCPs)(KFF)3K形成CCPs-PNA|肽核酸的使用方法
  18. 海行Newlifest M1骨传导耳机开箱,这音质真的碉堡了
  19. 汽车网络安全风口渐起,诚迈科技与Trustonic牵手“发力”
  20. 精选6个超实用的Word技巧,每一个大有用处!

热门文章

  1. 近期必读的18篇情感计算相关论文-AMiner
  2. 51单片机DS18B20温度传感器原理及实验
  3. Python scikit-learn特征提取讲解
  4. 中国联通SP业务接入开发总结(SGIP1.2 协议)
  5. excel经典教程!!!
  6. IDEA设置类注释和方法注释的详细操作步骤
  7. FastText的内部机制
  8. 安卓虚拟键盘_逍遥安卓模拟器工作室版下载-逍遥安卓模拟器工作室版PC版下载v7.2.8...
  9. “成都无机校”的燃情岁月 [转恩师一文]
  10. JavaScript实现深拷贝