土木在线论坛 \ BIM技术 \ BIM专业软件 \ Dynamo入门基础知识(二)单位转换

Dynamo入门基础知识(二)单位转换

发布于:2019-03-06 00:00:06 来自:BIM技术/BIM专业软件 [复制转发]

Dynamo入门基础知识(二)单位转换。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转换:

当我们完成了这个步骤之后,才能得到正确的结果。

【相关技巧搜索】

Dynamo入门基础知识(一)Lacing

全部回复(0 )

只看楼主 我来说两句抢沙发
这个家伙什么也没有留下。。。

BIM专业软件

返回版块

9028 条内容 · 237 人订阅

猜你喜欢

阅读下一篇

Revit中如何创建零件

Revit中如何创建零件?您可以在当前项目或链接模型中,使用绘图区域中选择的图元创建零件。对于包含图层或子构件的图元(例如墙),将会为这些图层创建各个零件。 对于其他图元,则创建一个单独的零件图元。 在任一情况下,生成的零件随后都可以分割成更小的零件。请注意,项目参数和共享参数以及标高数据会传播到零件。首先选择图元在绘图区域中,选择要通过其创建零件的图元。单击“修改 | <图元类型>”选项卡 “创建”面板 (创建零件)。

回帖成功

经验值 +10