Dynamo助力机电翻模(三)

    继上一篇Dynamo助力机电翻模(二)中提到由于阀门等管道附件导致生成的管线不连续,给出的解决方案是:找到原天正图纸,将附件删除。那么有时并无法获取到原天正图纸,那么就束手无策了吗?毕竟鲁迅先生早就说过:只要思想不滑坡,方法总比困难多。就来看看在布置阀门附件时来解决这个问题吧。

    5.布置附件

    这里提供两种方法布置附件。一种方法针对无法获取到原天正图纸情况,另一种方法针对能够获取到原天正图纸情况。

    布置附件–放置

如果无法获取原天正图纸。我用前述方法生成的管线会是这样的:

Dynamo助力机电翻模(三)插图

Dynamo助力机电翻模(三)插图1

    总体思路就是:读取到图纸中附件的位置信息后,在对应的位置上放置附件族,然后通过找到与放置族实例最近的管道连接件(connector)生成一段管道。

Dynamo助力机电翻模(三)插图2

    读取到图纸中附件图块信息后通过名称分组,筛选出要布置的截止阀,通过FamilyInstance.ByPointAndLevel布置。

Dynamo助力机电翻模(三)插图3

    将布置的族实例旋转90度,获取到所有附件和管道连接件(connector)的位置(location)。

Dynamo助力机电翻模(三)插图4

    通过Geometry.DistanceTo计算附件连接件所在的位置Point和管道连接件所在位置Point之间的距离,取最小值,获取最小值索引,通过索引值找到与附件连接件最近的管道连接件。

Dynamo助力机电翻模(三)插图5

    将两个最近的连接件之间生成管道。

Dynamo助力机电翻模(三)插图6

看一下运行效果:

运行等待时间请直接跳转至2分35秒处

    可以看到新生成的一段管道表面上看上去与临近的管道是断开的,由于是通过连接件之间生成的管道实际他们是连接在一起的通过TAB键可以将整个系统选中即可证明。当然我也试图通过别的办法(将临近的管道之间像管道等距拆分中那样生成接头fitting,再将其删除)将他们连接的看起来也是同一根管道,但并未能奏效。

    布置附件–插入

    若拿到原天正图纸将其中附件删除,生成的管道会是这样:

Dynamo助力机电翻模(三)插图7

    插入附件用到的核心节点是MEPFitting.ByPointsAndCurve,主要思路是从图纸上获取到的附件插入点Point与获取到的管道的几何实体Soild作交集,判断Point与Soild是否相交来找到附件对应的管道。不过在测试过程中走了一点弯路,通过Point与获取到的管道的位置Line判断相交,由于数据精度问题,导致判断结果不正确。

获取到Point和Soild

Dynamo助力机电翻模(三)插图8

    PointSoild作交集找到附件对应的管道

Dynamo助力机电翻模(三)插图9

    插入附件,这里值得注意的一点就是点的列表需要处理成二维列表(或使用chop,步长设置为1)

Dynamo助力机电翻模(三)插图10

运行效果:

    6.布置设备

布置设备其实已经在上面布置阀门的时候提到过了。用同样的方法我们还可以从图纸中提取到位置信息后在暖通专业布置各类风机、空调末端;给排水专业布置消火栓、喷头;电气专业布置配电箱、配电柜;装饰装修专业布置各种点位等应用场景。

Dynamo助力机电翻模(三)插图11

7.修改管道管件参照标高

    有时候工作中,由于各个视图不停的切换,在绘制管线的时候参照标高就会不正确。这个问题平时倒也是个不是问题的问题,可是当对方需要标注出图的时候这个问题就显现出来了,不得不去解决它。尤其是在修改管件的参照标高时,其位置会发生变化,还得再去计算修改他的偏移量。

Dynamo助力机电翻模(三)插图12

这里推荐使用Elements change Level节点,可修改参照标高而不改变构件位置。

Dynamo助力机电翻模(三)插图13

使用Element.SetParameterByName也存在手动修改同样的问题。

Dynamo助力机电翻模(三)插图14

好了,今天的内容就到这里,欢迎持续关注,未完待续…………..

Dynamo助力机电翻模(三)插图15

欢迎阅读,分享,交流,批评指正。

如转载请注明出处,否则追究法律责任(说说而已,全靠自觉)。

Dynamo助力机电翻模(三)插图16

0

评论0

请先

没有账号? 注册  忘记密码?

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录网站
普人特福的博客cnzz&51la for wordpress,cnzz for wordpress,51la for wordpress