【Dynamo学习笔记】基础入门

这篇具有很好参考价值的文章主要介绍了【Dynamo学习笔记】基础入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考资料
罗嘉祥,宋姗,田宏钧. 《Autodesk Revit炼金术——Dynamo基础实战教程》,同济大学出版社

前言

最近在备课、带本科生的毕业设计,要用到Dynamo。自己花点时间复习一下,顺便记个笔记。

1 Dynamo的界面

从Revit2018之后就自带Dynamo了,从“管理”选项卡中可以进入。
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
启动Dynamo之后,可以进入出事界面如下。
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
点击“新建”,可以进入Dynamo的工作界面,左边是节点库,右边是工作空间。
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
可以看到,Dynamo是一种可视化编程,大大降低了编程的入门门槛。

2 节点的操作

Dynamo的节点可以分为创建节点、操作节点和查询节点,关于Dynamo的节点的简介可以看文章《Dynamo基础知识02 节点介绍》。当我们想使用某个节点时,只需要点击节点库的某一项,该节点就会出现在工作空间上。不同节点之间的连线就可以表示数据流。
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

3 几何形体的创建与编辑

下面我们就是通过具体的例子,来看一下每个节点应该怎么用。

参考资料:
《Dynamo基础知识03-常用节点用法》
《Dynamo中列表基本操作》

3.1 几何形体的创建

3.1.1 直线

根据起点和终点创建直线——Line.ByStartPointEndPoint
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

3.1.2 圆形

根据中心店和半径创建圆形——Circle.ByCenterPointRadius
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

  • Number Slider:滑块节点。设置滑块叠加空间,按一定的数值进行叠加。我们可以设置这个滑块的取值范围以及步长。【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

3.1.3 多边形

创建多边形——Polygon.ByPoints
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

  • List Create:列表叠加。将多个列表叠加,形成新的多维列表,每个子列表的数据不变。

创建圆内接多边形——Polygon.RegularPolygon
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

3.1.4 长方体

当我们创建节点时,可以从后往前创建。例如我们想要创建一个长方体,可以先找到长方体这个节点,然后看这个节点需要什么输入。如果我们不确定这个输入是什么类型的数据,可以将鼠标放在输入接口上,就会提示上一个节点应该是什么节点。例如下图就表明,这里的“Origin”就需要一个“Point”,也就是坐标点作为输入。
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
通过中心店、长、宽、高创建长方体——Cuboid.ByLengths
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

3.1.5 球体

根据中心店和半径创建球体——Sphere.ByCenterPointRadius
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

3.2 几何形体的编辑

3.2.1 坐标点的平移复制

通过向量指明复制方向——Point.Add
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

3.2.2 几何形体的平移复制

【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
节点Geomwrey.Translate可以实现几何形体的平移复制,可以通过设置x、y、z三个方向的平移距离来实现(上图),也可以通过设置平移的方向来实现(下图)。
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
除了上面两种方式,还可以通过方向+长度的方式来实现平移复制:
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
这里,我们用到了一个新的节点——Code Block。Code Block是一个允许直接编写DesignScript 代码的节点,我们先称它为“代码块”,在代码块里面可以直接输入数字、字符串、列表、函数命令等。 具体可以看文章《Dynamo基础知识04-Code Block代码块的使用》和《Dynamo-CodeBlock手册-基础篇》

3.2.3 几何形体的镜像复制

——Geometry.Mirror
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

3.2.4 几何形体的旋转复制

——Geometry.Rotate
下图的例子表示,半径为1的圆,绕其旋转的基点坐标点(2,2,0)旋转,旋转轴为(0,0,1)的向量,旋转角度为“0,30,…,360”的角度数列表。
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
下图的例子表示,圆形以旋转基准面XZ平面,以角度数列表“0,30,…,360”为旋转角度进行旋转。
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

3.2.5 几何形体的缩放

——Geometry.Scale
等比例缩放:
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
不等比例缩放:
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

3.2.6 获取几何形体间的距离

——Geometry.DistanceTo
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

  • Watch:查看节点。可以查看变量的值。

3.2.7 几何形体的拆分

——Geometry.Split
需要注意的是,两个几何体能进行拆分的前提是有交集。
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

3.2.8 几何形体的差集、交集与并集

差集——Solid.Difference
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
并集——Solid.Union

【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
交集——Geometry.Intersect
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

4 曲线的创建与编辑

4.1 曲线的创建

4.1.1 多段线曲线

——PolyCurve.ByPoints
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

4.1.2 样条曲线

——NurbsCurve.ByPoints
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

4.1.3 螺旋线

使用Code Block创建螺旋线:
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
使用节点Helix.ByAxis生成空间螺旋线:
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

4.2 曲线的编辑

4.2.1 获取曲线上的坐标点

——Curve.PointAtParameter。可以将曲线看作是长度为1,使用[0,1]之间的任意数值作为参数,且由该参数定义的连续的坐标点的集合。那么可以通过参数param得到曲线上的坐标点。
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
也可以通过输入弧长,来获取从曲线起点处开始,至给定弧长处的坐标点——Curve.PointAtSegmentLength
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

4.2.2 曲线的翻转

——Curve.Reverse
因为曲线是有方向性的,曲线的翻转就是改变其起点和终点。
翻转前,获取到的坐标点靠右侧:
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
翻转后,获取到的坐标点靠左侧:
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

4.2.3 曲线的延伸

延伸起点——Curve.ExtendStart
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
延伸终点——Curve.ExtendEnd
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

4.2.4 曲线的打断

初始的样条曲线。样条控制点的列表为arr=[Point.ByCoordinates(-20,-20,0),Point.ByCoordinates(-10,20,0),Point.ByCoordinates(0,-20,0),Point.ByCoordinates(20,20,0)];。需要注意的是,在2022版本的Dynamo中,Code block中的列表用中括号[]表示。
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
选取从参数为0.2处的坐标点到曲线终点之间的一段曲线——Curve.TrimByStartParameter
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
选取从起点开始到参数为0.90处的坐标点之间的一段曲线——Curve.TrimByEndParameter
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
选取从曲线参数为0.2至参数为0.9的坐标点之间的一段曲线——Curve.TrimByParameter
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
删除从曲线参数为0.2至参数为0.9的坐标点之间的一段曲线——Curve.TrimInteriorByParameter
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

4.2.5 曲线的切线和法线

切线——Curve.TangentAtParameter。这里的0..1..0.5表示取[0,1]之间的值的列表,步长为0.5。
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
法线——Curve.NormalAtParameter
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

4.2.6 曲线的偏移

——Curve.Offset
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

4.2.7 曲线的投影

——Curve.Project
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

5 曲面的创建与编辑

5.1 曲面的创建

曲面可以看作是由包含两个参数u和v的函数所定义的连续的坐标点的几何。在Dynamo中,二维曲面和三维曲面都称作Surface。曲面的创建方式有很多种。
由曲线向某个方向拉伸生成曲面——Curve.Extrude
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
可以通过填充生成曲面——Surface.ByPatch。该方法仅适用于闭合曲线。
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
通过对多条曲线,进行按顺序的放样,生成曲面——Surface.ByLoft
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
上面的例子都是在生成PolySurface,NurbsSurface的创建通常是通过给定一系列坐标点生成——NurbsSurface.ByPoints
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

5.2 曲面的编辑

5.2.1 曲面上的点及法向量

获取曲面上的坐标点——Surface.PointAtParameter
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
获取一系列曲面上的向量——Surface.NormalAtParameter
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

5.2.2 曲面的参数线曲线

曲面上uv值对应的曲线,称为参数线曲线。可以通过Surface.GetIsoLine来获取。
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

5.2.3 曲面的偏移

通过输入偏移距离实现,偏移方向为曲面法向量方向——Surface.Offset
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

6 列表的创建与编辑

6.1 列表的创建

使用Range创建
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
使用Sequence创建
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
使用Code Block创建
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
使用Code Block创建由多种方式:

创建方式 事理
起始值…最终值 10…15 = [10, 11, 12, 13, 14, 15]
起始值…最终值…#列表项数 10…20…#3 = [10, 15, 20]
起始值…#列表项数…间距 10…#5…3 = [10, 13, 16, 19, 22]

6.2 列表的编辑

参考资料:
Dynamo中列表基本操作

将列表中的项按给定的数量向左/右移动——List.ShiftIndicies
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
列表的翻转及列表按照逆序重新排序——List.Reverse
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
列表的转置,常用于多级列表——List.Transpose
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
获取指定的列表索引项——List.GetItemAtIndexL
ist.
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
去除列表中某个索引的值——List.RemoveItemAtIndex

【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
替换列表中某个索引的值——List.ReplaceItemAtIndex
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
将多个子列表合并为一个大列表——List.Create
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
将多个子列表合并为单个列表——List.Join
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
将列表分割为指定长度的一组连续子列表——List.Chop
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
计算列表中的项数——List.Count
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
列表编组——List.GroupByKey
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo

6.3 列表数据的导入和导出

列表数据的导入
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo
列表数据的导出
【Dynamo学习笔记】基础入门,BIM,学习,笔记,BIM,Dynamo文章来源地址https://www.toymoban.com/news/detail-806266.html

到了这里,关于【Dynamo学习笔记】基础入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32基础入门学习笔记:内部高级功能应用

    文章目录: 一:低功耗模式 1.睡眠模式测试程序 NVIC.h NVIC.c key.h key.c main.c 2.停机模式测试程序 main.c 3.待机模式测试程序 main.c 二:看门狗 1.独立看门狗测试程序 iwdg.h iwdg.c main.c 2.窗口看门狗测试程序 wwdg.h wwdg.c main.c 三:TIM定时器 tim.h tim.c main.c 四:CRC循环冗余校验计算单元与

    2024年02月13日
    浏览(45)
  • 古月居《ROS入门21讲》零基础学习笔记

    ”怕什么真理无穷,进一寸有一寸的欢喜。” ——古月 适 本人大一小白一枚,参加了一个本科生科研项目,目前正在学习一些ROS1相关的一些前置基础知识。 在这里以博客的形式记录一下学习的过程、操作的细节及操作的结果、爬坑方法、听课笔记。 希望能给同样在学习相

    2023年04月20日
    浏览(35)
  • STM32基础入门学习笔记:核心板 电路原理与驱动编程

    文章目录: 一:LED灯操作  1.LED灯的点亮和熄灭 延迟闪烁 main.c  led.c led.h BitAction枚举 2.LED呼吸灯(灯的强弱交替变化) main.c  delay.c 3.按键控制LED灯 key.h key.c main.c  二:FLASH读写程序(有记忆可以保存断电之前的状态) flash.h flash.c main.c flash操作注意事项 三:蜂鸣器驱动程序(

    2024年02月13日
    浏览(39)
  • web渗透安全学习笔记:1、入门基础知识/ XXS漏洞

        自编写python渗透工具编写学习笔记专栏以来,笔者便发现了一个较为严重的问题:我们大多数文章都是学习如何用python编写扫描与利用漏洞的渗透工具,却没有真正解析漏洞的形成原因,长此以往我们的学习就只会浮于表面,广而不深。为了改变这一现状,笔者决定以深

    2024年02月03日
    浏览(55)
  • 【UnityShader入门精要学习笔记】第六章(1)Unity中的基础光照

    本系列为作者学习UnityShader入门精要而作的笔记,内容将包括: 书本中句子照抄 + 个人批注 项目源码 一堆新手会犯的错误 潜在的太监断更,有始无终 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 一个物体为什么看起来是红色的?从物理上解释是因为这个物体

    2024年03月22日
    浏览(52)
  • 【unity基础】关于学习通用渲染管线(UniversalRenderPipeline)入门级的分享笔记

            文章是学习入门级别的文章,定位偏向于个人学习笔记,文章内有错误的点希望大家理性指出,感谢各位。因为URP本身是一个比较杂的东西,涉及到的东西也非常的多,下面主要是对于Unity URP的创建、简单使用(资深级别使用起来可能会设计到渲染方方面面的知识

    2024年02月05日
    浏览(55)
  • 【ESP8266教程】零基础入门学用物联网-基础知识篇(太极创客团队)学习笔记

    提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考         NodeMCU上的D2引脚引出ESP82

    2024年04月29日
    浏览(53)
  • python教程 入门学习笔记 第3天 编程基础常识 代码注释 变量与常量

    编程基础常识 一、注释 1、对代码的说明与解释,它不会被编译执行,也不会显示在编译结果中 2、注释分为:单行注释和多行注释 3、用#号开始,例如:#这是我的第一个python程序 4、注释可以写在单独一行,也可以写在一句代码后面 5、不想执行编译,又不能删除的代码,可

    2024年02月14日
    浏览(55)
  • 【BIM入门实战】Revit安装失败的常见问题及解决办法汇总

    本文总结一下Win7-Win11系统之上,Revit安装失败的常见问题及解决办法,期望能帮到大家。 查看安装日志,定位问题 可以在安装日志中发现字样“Microsoft Visual C++ 2008 SP1 Redistributable (x64) Failed Installation aborted, Result=1603”。什么原因导致的不用管,反正是这个“Microsoft Visual C++

    2024年02月08日
    浏览(75)
  • STM32基于CubeIDE和HAL库 基础入门学习笔记:功能驱动与应用

    文章目录: 一:LED与按键驱动程序 main.c 1.闪灯  led.h led.c  2.按键控制LED亮灭  key.h  key.c 二:蜂鸣器与继电器驱动程序 main.c 1.蜂鸣器 buzzer.h buzzer.c delay.h delay.c 2.继电器 relay.h relay.c 三:USART串口收发测试程序(超级终端) main.c retarget.h retarget.c usart.h usart.c 四:ADC与DMA驱动程序

    2024年02月13日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包