【Dynamo学习笔记】基础入门

目录

  • 前言
  • 1 Dynamo的界面
  • 2 节点的操作
  • 3 几何形体的创建与编辑
    • 3.1 几何形体的创建
      • 3.1.1 直线
      • 3.1.2 圆形
      • 3.1.3 多边形
      • 3.1.4 长方体
      • 3.1.5 球体
    • 3.2 几何形体的编辑
      • 3.2.1 坐标点的平移复制
      • 3.2.2 几何形体的平移复制
      • 3.2.3 几何形体的镜像复制
      • 3.2.4 几何形体的旋转复制
      • 3.2.5 几何形体的缩放
      • 3.2.6 获取几何形体间的距离
      • 3.2.7 几何形体的拆分
      • 3.2.8 几何形体的差集、交集与并集
  • 4 曲线的创建与编辑
    • 4.1 曲线的创建
      • 4.1.1 多段线曲线
      • 4.1.2 样条曲线
      • 4.1.3 螺旋线
    • 4.2 曲线的编辑
      • 4.2.1 获取曲线上的坐标点
      • 4.2.2 曲线的翻转
      • 4.2.3 曲线的延伸
      • 4.2.4 曲线的打断
      • 4.2.5 曲线的切线和法线
      • 4.2.6 曲线的偏移
      • 4.2.7 曲线的投影
  • 5 曲面的创建与编辑
    • 5.1 曲面的创建
    • 5.2 曲面的编辑
      • 5.2.1 曲面上的点及法向量
      • 5.2.2 曲面的参数线曲线
      • 5.2.3 曲面的偏移
  • 6 列表的创建与编辑
    • 6.1 列表的创建
    • 6.2 列表的编辑
    • 6.3 列表数据的导入和导出

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

前言

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

1 Dynamo的界面

从Revit2018之后就自带Dynamo了,从“管理”选项卡中可以进入。
在这里插入图片描述
启动Dynamo之后,可以进入出事界面如下。
在这里插入图片描述
点击“新建”,可以进入Dynamo的工作界面,左边是节点库,右边是工作空间。
在这里插入图片描述
可以看到,Dynamo是一种可视化编程,大大降低了编程的入门门槛。

2 节点的操作

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

3 几何形体的创建与编辑

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

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

3.1 几何形体的创建

3.1.1 直线

根据起点和终点创建直线——Line.ByStartPointEndPoint
在这里插入图片描述

3.1.2 圆形

根据中心店和半径创建圆形——Circle.ByCenterPointRadius
在这里插入图片描述

  • Number Slider:滑块节点。设置滑块叠加空间,按一定的数值进行叠加。我们可以设置这个滑块的取值范围以及步长。在这里插入图片描述

3.1.3 多边形

创建多边形——Polygon.ByPoints
在这里插入图片描述

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

创建圆内接多边形——Polygon.RegularPolygon
在这里插入图片描述
在这里插入图片描述

3.1.4 长方体

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

3.1.5 球体

根据中心店和半径创建球体——Sphere.ByCenterPointRadius
在这里插入图片描述

3.2 几何形体的编辑

3.2.1 坐标点的平移复制

通过向量指明复制方向——Point.Add
在这里插入图片描述

3.2.2 几何形体的平移复制

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

3.2.3 几何形体的镜像复制

——Geometry.Mirror
在这里插入图片描述

3.2.4 几何形体的旋转复制

——Geometry.Rotate
下图的例子表示,半径为1的圆,绕其旋转的基点坐标点(2,2,0)旋转,旋转轴为(0,0,1)的向量,旋转角度为“0,30,…,360”的角度数列表。
在这里插入图片描述
下图的例子表示,圆形以旋转基准面XZ平面,以角度数列表“0,30,…,360”为旋转角度进行旋转。
在这里插入图片描述

3.2.5 几何形体的缩放

——Geometry.Scale
等比例缩放:
在这里插入图片描述
不等比例缩放:
在这里插入图片描述

3.2.6 获取几何形体间的距离

——Geometry.DistanceTo
在这里插入图片描述

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

3.2.7 几何形体的拆分

——Geometry.Split
需要注意的是,两个几何体能进行拆分的前提是有交集。
在这里插入图片描述

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

差集——Solid.Difference
在这里插入图片描述
并集——Solid.Union

在这里插入图片描述
交集——Geometry.Intersect
在这里插入图片描述

4 曲线的创建与编辑

4.1 曲线的创建

4.1.1 多段线曲线

——PolyCurve.ByPoints
在这里插入图片描述

4.1.2 样条曲线

——NurbsCurve.ByPoints
在这里插入图片描述

4.1.3 螺旋线

使用Code Block创建螺旋线:
在这里插入图片描述
使用节点Helix.ByAxis生成空间螺旋线:
在这里插入图片描述

4.2 曲线的编辑

4.2.1 获取曲线上的坐标点

——Curve.PointAtParameter。可以将曲线看作是长度为1,使用[0,1]之间的任意数值作为参数,且由该参数定义的连续的坐标点的集合。那么可以通过参数param得到曲线上的坐标点。
在这里插入图片描述
也可以通过输入弧长,来获取从曲线起点处开始,至给定弧长处的坐标点——Curve.PointAtSegmentLength
在这里插入图片描述

4.2.2 曲线的翻转

——Curve.Reverse
因为曲线是有方向性的,曲线的翻转就是改变其起点和终点。
翻转前,获取到的坐标点靠右侧:
在这里插入图片描述
翻转后,获取到的坐标点靠左侧:
在这里插入图片描述

4.2.3 曲线的延伸

延伸起点——Curve.ExtendStart
在这里插入图片描述
延伸终点——Curve.ExtendEnd
在这里插入图片描述

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中的列表用中括号[]表示。
在这里插入图片描述
选取从参数为0.2处的坐标点到曲线终点之间的一段曲线——Curve.TrimByStartParameter
在这里插入图片描述
选取从起点开始到参数为0.90处的坐标点之间的一段曲线——Curve.TrimByEndParameter
在这里插入图片描述
选取从曲线参数为0.2至参数为0.9的坐标点之间的一段曲线——Curve.TrimByParameter
在这里插入图片描述
删除从曲线参数为0.2至参数为0.9的坐标点之间的一段曲线——Curve.TrimInteriorByParameter
在这里插入图片描述

4.2.5 曲线的切线和法线

切线——Curve.TangentAtParameter。这里的0..1..0.5表示取[0,1]之间的值的列表,步长为0.5。
在这里插入图片描述
法线——Curve.NormalAtParameter
在这里插入图片描述

4.2.6 曲线的偏移

——Curve.Offset
在这里插入图片描述

4.2.7 曲线的投影

——Curve.Project
在这里插入图片描述

5 曲面的创建与编辑

5.1 曲面的创建

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

5.2 曲面的编辑

5.2.1 曲面上的点及法向量

获取曲面上的坐标点——Surface.PointAtParameter
在这里插入图片描述
获取一系列曲面上的向量——Surface.NormalAtParameter
在这里插入图片描述

5.2.2 曲面的参数线曲线

曲面上uv值对应的曲线,称为参数线曲线。可以通过Surface.GetIsoLine来获取。
在这里插入图片描述

5.2.3 曲面的偏移

通过输入偏移距离实现,偏移方向为曲面法向量方向——Surface.Offset
在这里插入图片描述

6 列表的创建与编辑

6.1 列表的创建

使用Range创建
在这里插入图片描述
使用Sequence创建
在这里插入图片描述
使用Code Block创建
在这里插入图片描述
使用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
在这里插入图片描述
在这里插入图片描述
列表的翻转及列表按照逆序重新排序——List.Reverse
在这里插入图片描述
列表的转置,常用于多级列表——List.Transpose
在这里插入图片描述
获取指定的列表索引项——List.GetItemAtIndexL
ist.
在这里插入图片描述
去除列表中某个索引的值——List.RemoveItemAtIndex

在这里插入图片描述
替换列表中某个索引的值——List.ReplaceItemAtIndex
在这里插入图片描述
将多个子列表合并为一个大列表——List.Create
在这里插入图片描述
将多个子列表合并为单个列表——List.Join
在这里插入图片描述
将列表分割为指定长度的一组连续子列表——List.Chop
在这里插入图片描述
计算列表中的项数——List.Count
在这里插入图片描述
列表编组——List.GroupByKey
在这里插入图片描述

6.3 列表数据的导入和导出

列表数据的导入
在这里插入图片描述
列表数据的导出
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/626777.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全方位提升用户数字化体验的解决方案

前言 在数字化的世界中,用户体验越来越成为企业关注的焦点,然而,用户体验极具主观性,科学地评估用户体验,建立科学的量化体系是难上加难。今天介绍全方位提升用户数字化体验的解决方案,方案通过全面观测用…

统计学R语言实验2 :概率与分布

实验2 概率与分布 一、实验目的 1. 掌握理解离散型概率分布的相关概念。 2. 掌握理解连续型概率分布的相关概念。 3. 熟悉R语言等语言的集成开发环境。 二、实验分析与内容 完成教材P52-53的第2题和第8题  2.一条食品生产线每8小时一班中出现…

代码随想录算法训练营第29天 |* 491.递增子序列* 46.全排列* 47.全排列 II

目录 * 491.递增子序列 💡解题思路 回溯三部曲 💻实现代码 * 46.全排列 💡解题思路 # 回溯三部曲 单层搜索的逻辑 💻实现代码 * 47.全排列 II 💡解题思路 💻实现代码 * 491.递增子序列 题目链…

Qt 国产嵌入式操作系统实现文字转语音功能(TTS)

1.简介 本示例使用的CPU:rk3588。 操作系统:kylin V10 架构:aarch64 在Windows端,我们很容易想到使用Qt自带的类QTextToSpeech来实现文字转语音功能,Qt版本得在5.11.0以上才支持。但是在嵌入式平台,尤其…

表的增删改查CURD(一)

🎥 个人主页:Dikz12🔥个人专栏:MySql📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香欢迎大家👍点赞✍评论⭐收藏 目录 新增(Create) 全列插入 指定列…

【数据结构】二叉树-堆(函数实现)

🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343🔥 系列专栏:《数据结构》https://blog.csdn.net/qinjh_/category_12536791.html?spm1001.2014.3001.5482 ​​ 目录 头文件 函数实现 初始化 销毁 …

牛客周赛 Round 5 解题报告 | 珂学家 | 思维场

前言 剑,和茶一样,只有细细品味,才能理解它的风雅。 整体评价 挺难的一场比赛,C题差点点错科技树(想着用Dsu On Tree), D题开始上难度,但是只是分析其实就是一个区间求交集的脑筋急转弯,E题盲猜是菊花图。…

中仕公考:2024年度国考笔试分数公布,进面名单已出

2024年度考试录用公务员笔试成绩和合格分数线已经公布,考生们可以自行登录公务员专题网站查询成绩。 进面人员名单根据规定的面试比例,按照笔试成绩从高至低的顺序,1月14日已经公布进面名单。 没有进入面试人员名单的考生可以关注调剂&…

ZooKeeper 实战(三) SpringBoot整合Curator-开发使用篇

文章目录 ZooKeeper 实战(三) SpringBoot整合Curator-开发使用篇0. ZooKeeper客户端 1. Curator1.1. 简介1.2. 应用场景1.3. 优势1.4. 依赖说明 2. 依赖导入3. 配置类3.1. 重试策略3.2. 实现代码3.3. 总结 4. Curator中的基本API4.1. 创建节点CreateMode中的节点类型4.2. 查询节…

基于MATLAB计算无线通信覆盖(一)环境准备

一、环境 MATLAB 2022b 注:开始仿真前需部署地理坐标区和地理图,最好采用第三种,直接把底图数据下载到本地,防止连接不上网络时只能显示darkwater的底图。 可用于地理坐标区和地理图的底图如下表所示 二、下载底图并安装 工具&…

【数据结构和算法】奇偶链表

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一:分离节点后合并 三、代码 3.1 方法一:分离节点后合并 四、复杂度分…

java版微信小程序商城 免 费 搭 建 java版直播商城平台规划及常见的营销模式有哪些?电商源码/小程序/三级分销

涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis …

经典网络 循环神经网络(一) | RNN结构解析,代码实现

文章目录 1 提出背景2 RNN2.1 RNN结构2.2 RNN代码实现2.3 代码简洁实现 1 提出背景 为什么要引入RNN呢? 非常简单,之前我们的卷积神经网络CNN,全连接神经网络等都是单个神经元计算 但在序列模型中,前一个神经元往往对后面一个神…

为什么使用 atan2(sin(z), cos(z)) 进行角度归一化?

文章目录 为什么使用 atan2(sin(z), cos(z)) 进行归一化?为什么归一化后的角度等于原始角度? atan2 方法返回 -π 到 π 之间的值,代表点 (x, y) 相对于正X轴的偏移角度。这个角度是逆时针测量的,以弧度为单位。关于 atan2 函数为…

YOLOv5姿态估计:HRnet实时检测人体关键点

前言: Hello大家好,我是Dream。 今天来学习一下利用YOLOv5进行姿态估计,HRnet与SimDR检测图片、视频以及摄像头中的人体关键点,欢迎大家一起前来探讨学习~ 本文目录: 一、项目准备1Pycharm中克隆github上的项目2.具体步…

【Linux实用篇】Linux软件安装 JDK Tomcat MySQL lrzsz

1. 软件安装 1.1 软件安装方式 在Linux系统中,安装软件的方式主要有四种,这四种安装方式的特点如下: 安装方式特点二进制发布包安装软件已经针对具体平台编译打包发布,只要解压,修改配置即可rpm安装软件已经按照red…

微信好友批量自动添加:快捷方式解密

对于一些希望扩大社交圈子或者推广业务的人来说,手动添加好友可能是一个耗时且繁琐的任务。 不过,别担心,今天给大家种草一个能够批量自动添加好友的微信管理工具,让你轻松地扩展好友列表。 首先,当微信在个微管理系…

Python数据分析案例31——中国A股的月份效应研究(方差分析,虚拟变量回归)

案例背景 本次案例是博主本科在行为金融学课程上做的一个小项目,最近看很多经管类的学生作业都很需要,我就用python来重新做了一遍。不弄那些复杂的机器学习模型了,经管类同学就用简单的统计学方法来做模型就好。 研究目的 有效市场假说是现…

VUE项目快速打包发布

VUE项目快速打包发布 首先在你的VS Code中新建一个终端 输入 npm run build 回车等运行结束之后会在你的项目中生成一个dist目录 此时再iis部署的时候把你添加的网站指定的目录指向dist即可

STM32CubeMX配置STM32G071UART+DMA收发数据(HAL库开发)

时钟配置HSI主频配置64M 配置好串口&#xff0c;选择异步模式 配置DMA TX,RX,选择循环模式。 NVIC中勾选使能中断 勾选生成独立的.c和h文件 配置好需要的开发环境并获取代码 串口重定向勾选Use Micro LIB main.c文件修改 增加头文件和串口重定向 #include <string.h&g…