打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Dynamo参数化轴网,这些对你很有帮助

    从本次文章开始,我来写一些关于Dynamo与Revit交互的教程,这样能更贴近日常应用,希望对小伙伴们的学习有一些帮助。

    那么本次教程,我们就从最基本的轴网说起,之前做体量,我们都是正序来的,这次我们倒着来,根据我们想要什么,一步一步推导。

    首先,找到创建轴网的节点,可以搜索Grid也可以展开节点列表,到轴网创建节点分组下,我们可以看到,创建轴网,Dynamo默认给了三种方法:

    分别是沿弧线创建轴网,通过直线创建轴网和通过起始点创建轴网,创建方法大同小异。

    这里我们选择通过线创建轴网,那么就需要一条线,搜索一下Line,选用第一个搜索结果:Line.ByStartPointEndPoint这个节点:

    然后我们发现,创建线,需要起始点,然后我们搜索Point,创建两个点:

    这时候,我们只需要给两个点,输入x,y坐标就能够生成一条轴网了。

    但是我们需要的,是生成一列轴网,两个点肯定不够。我们在空白处双击,生成Code Block节点,我们根据规则,输入0..#x..#y,创建一个列表,x为轴线数量,y为轴线间距。

    然后我们搜索slider,获得滑块节点:

    这里我们选用Integer Slider创建三个滑块,分别作为竖向轴网数量,轴网间距和轴网长度,如下图:

    这样,我们就得到了竖向轴网,然后我们框选这些节点,将x,y值对调,就得到了水平方向的轴网,这里不再赘述。

    但是,我们发现,虽然轴网是生成了,但效果却惨不忍睹:

    于是,我决定对生成的轴网进行美化,我们要调整的有轴网两端的缩进长度和轴网编号,思考下如何才能用参数控制这些呢?

    首先是轴网两端的偏移长度,我们的目的是水平轴网两端伸出一个固定长度,这里再创建一个滑块,作为缩进长度参数。通过如下的公式,我们就得到了垂直轴网长度,和两端的偏移量。

    通过简单的数学计算,我们可以完美的控制两端的轴网偏移。

    这个时候,只剩轴网编号不对了,我们通过Element.SetParameterByName来调整,这个比较简单,还是通过数学公式,创建一个轴号列表,如下图:

    我们创建一个列表,第一个值输入,此值加上竖向网格数量再减一,就得到了末尾轴网编号。

注:这里value值要求输入字符串,所以需要通过String from Object节点转换下列表。

    相同的,我们需要对水平轴网的编号调整,方式也是样的,如下图:

    这里我们是通过水平轴网的数量换算,所以需要将字母转换为ASCII码,计算完再转换成字母,然后创建字母列表,并赋值即可,这里我们创建一个Python Script节点,代码如下图:

    于是就得到了比较满意的轴网,如下图:

   但是,我们的轴网不一定都是等间距的,这时候,我们就得手动创建列表,来生成轴网,如下图:

    由上图我们可以看出,轴网的实际间距,并不是我们数字列表中的值,而都是参照0位置偏移的。

    为了解决这个问题,我们换种方式,创建点的列表,希望输入值即为轴网间距,如下图:

    然后我们获取列表的索引,并按照0..n的形式重新构建列表索引,之后按照这种形式重新创建列表,如下图:

    然后我们将子列表的每项求和,得到新的列表,然后将之前创建轴网的节点拿过来,就能得到想要的轴网了,如下图:

    效果如下图:

    之后的美化过程就大同小异了,大家自己尝试即可,这里就不再赘述了。

    好了,今天的教程就到这里了,对你有启发吗?

    有什么想法,记得后台给我留言哦


喜欢的小伙伴,记得关注“BIM的乐趣”哦~~

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
[经验分享]DYNAMO基本概念与小技巧——单位转换
Dynamo初探8——创建轴网
每日一技 | 1070 Dynamo输出指定区间内的三维曲线(文/腿腿教学网)
AUTO CAD图文教程:CAD椭圆命令Ellipse用法
欧姆龙NJ控制器(PLC)控制1S伺服电子凸轮同步运行(之二)——凸轮表参数修改与相位补偿
不懂编程?节点包来凑——Dynamo常用节点包推荐(上)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服