Dynamo和Revit结合地很好,除了。。。内部单位悲摧地不一致。
简单地说,所有在Dynamo里不带单位的数值(最常见的就是坐标点),Dynamo都会把它们认为是以“米”为单位。所以,如果你想创建两根距离10英尺的轴网,这样做是不行的:
无论在项目模板中“单位”设置是英制还是公制,是“厘米”还是“毫米”,所创建的两个轴网之间的间距永远是10米。
那么,怎样才能得到正确的数值呢,没有捷径,只能通过手动转换,让我们来看看,如何进行有效地转换:Dynamo提供了一些结点用于单位转换,比如若想把10英尺转换成米制单位,可以这样做:
其中“3.048”就是一个可以直接输入Revit结点的米制数值了。这里Length.FromFeet表示把一个无单位的数值转换成英尺单位的数值。而SIUnit.Value可以把任何一个有单位的数值转换成以米为单位的值,然后把单位抹掉。
所以真正可以创建间距10英尺轴网的Dynamo程序是这样子的:
我们再用一个Revit中更为实际的例子来说明这个转换过程:
首先我们可以用Element.GetParameterValueByName, 取到一面墙的长度:
请注意这个长度是带单位的。Watch窗口里显示的单位可以在Dynamo菜单栏“Setting”>“Length Display Unit”里选择。然后,我们想以这个墙的长度为Y值创建一个点:
我们发现,Dynamo出现错误提示。(结点显示黄色,表明程序编写出错)主要原因是,点作为Dynamo里的元素,定义在Dynamo的世界坐标系下,而这个坐标系是没有单位的(虽然转化成其它单位时会默认为米)。要想做到这一点,必须中间再加个SIUnit.Value转换:
当我们完成了这个步骤之后,才能得到正确的结果。
最新文章
政策新闻 | 芜湖市研究中心公用处联合党支部召开党员大会开展深入贯彻中央八项规定精神学习教育专项理论学习、《习近平关于加强党的作风建设论述摘编》交流研讨会 政策新闻 | 贵阳市设质站:服务零距离│高效办成一件事 前置服务和技术辅导多措并举促进施工图审查“拿证即开工” 政策新闻 | 南充市住建局关于四川盛晖源建筑工程有限公司等17家建筑企业资质申请审查意见的公示 政策新闻 | 湖南省住建厅关于核准长沙城发恒通工程建设有限公司等企业27项建筑业企业资质和143项建筑业企业资质换证后延续的公告(2025年第14批) 政策新闻 | 高温错峰战凌晨 汉江大桥焕新亮夜空 政策新闻 | 重大项目建设丨守信中路道路工程建设项目稳步推进 政策新闻 | 广西住建厅关于公布2025年第G23批建筑业企业资质(特殊行业)审查结果的通告 政策新闻 | 宜宾市南溪区综合行政执法局:推进油烟治理 守护清新空气 政策新闻 | 关于公开征集宁波市住房和城乡建设“十五五”规划意见建议的公告 政策新闻 | 丹东关于印发《全市大跨度体育场馆和公共演出活动场所安全专项排查整治工作方案》的通知