【Dynamo学习笔记】基础入门

news2024/12/29 10:20:51

目录

  • 前言
  • 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.coloradmin.cn/o/1388799.html

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

相关文章

YOLOv8改进 | 主干篇 | EfficientViT高效的特征提取网络完爆MobileNet系列(轻量化网络结构)

一、本文介绍 本文给大家带来的改进机制是主干网络,一个名字EfficientViT的特征提取网络(和之前发布的只是同名但不是同一个),其基本原理是提升视觉变换器在高效处理高分辨率视觉任务的能力。它采用了创新的建筑模块设计,包括三明治布局和级联群组注意力模块。其是一种高效率…

如何利用SQL创建RFM用户分析模型

RFM用户分析模型究竟是什么?在之前的博客已经介绍了它的意义以及如何在现有的数据的情况下,利用Pandas创建分析模型,这里不再重复,详细可以参考我博客https://blog.csdn.net/weixin_48591974/article/details/116192534 这一期将详…

记一次用Qt开发 “启动器” 的经历

项目背景 背景 工具多,需要频繁切换。Windows环境,因为日常用到的软件较多,大致如下 浏览器涉及3款 FirefoxChromeEdge 开发的编译器及IDE涉及 Visual StudioVisual Studio CodePycharmSublime Text 设备涉及 DeskTopMackbook AirNoteBook…

【linux】查看Debian应用程序图标对应的可执行命令

在Debian系统中,应用程序图标通常与.desktop文件关联。您可以通过查看.desktop文件来找到对应的可执行命令。这些文件通常位于/usr/share/applications/或~/.local/share/applications/目录下。这里是如何查找的步骤: 1. 打开文件管理器或终端。 2. 导…

linux下485通信调试记录

1、使用linux下使用串口调试助手 linux下可以安装并使用下述串口调试工具进行串口测试: 1.1、cutecom cutecom是linux下常用的图形化串口调试软件,通过以下命令安装并打开: sudo apt-get install cutecom sudo cutecom显示如下&#xff1…

DAY01_Spring—Spring框架介绍IOCSpring工厂模式

目录 1 什么是框架2 Spring框架2.1 Spring介绍2.2 MVC模型说明2.3 IOC思想2.3.1 问题说明2.3.2 IOC说明 3 Spring IOC具体实现3.1 环境准备3.1.1 关于JDK说明3.1.2 检查JDK环境配置 3.2 创建项目3.3 关于Maven 命令3.3.1 install 命令3.3.2 clean 命令 3.4 添加jar包文件3.4.1 …

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

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

Fpga开发笔记(二):高云FPGA发开发软件Gowin和高云fpga基本开发过程

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/135620590 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

36V/1.6A两通道H桥驱动芯片-SS8812T可替代DRV8812

由工采网代理的SS8812T是一款双通道H桥电流控制电机驱动器;每个 H 桥可提供输出电流 1.6A,可驱动两个刷式直流电机,或者一个双极步进电机,或者螺线管或者其它感性负载;双极步进电机可以以整步、2 细分、4 细分运行&…

旧路由重置新路由设置新路由设置教程|适用于自动获取IP模式

前言 如果你的光猫是直接拨号(路由模式)的,就可以按照本教程进行路由重置或者更换新路由器。 本文章适合电脑小白,请注意每一步哦! 注意事项 开始之前需要确认光猫是桥接模式还是路由模式。如果光猫是路由模式&…

❤ HbuildX使用以及快捷键

❤ HbuildX使用以及快捷键 一、HbuildX使用 HbuildX左侧项目侧边栏 点击视图 > 显示项目左侧即可 二、HBuilder X 快捷键 左移 Shift tab 右移 tab 查找 全局文件搜索:CtrlP 本文档内查找字符串:ctrlf 目录内查找字符串:ctrlaltf 替换:ctrlh 查找下一个字符串:f3 查…

表的增删改查CURD(一)

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

SDK游戏盾是什么?,sdk游戏盾有什么作用

在现今的游戏市场,游戏保护成为了每个游戏开发者都不能忽视的重要环节。恶意破解、作弊和盗版等问题严重影响了游戏的安全性和商业价值。而如何保护自己的游戏免受这些威胁,已经成为游戏开发者们面临的重大挑战。好在SDK游戏盾,它如同保护游戏…

家用小型洗衣机哪款性价比高?好用的内衣洗衣机推荐

现在大多数的上班族,面临的都是早九晚六的工作,而且工作完下班回家还是面对各种各样的家务,特别是清洗需要换洗的洗衣,属实是有点辛苦了。可能很多人为了方便,每次洗衣服的都是把一堆衣服直接丢进洗衣机,直…

Ansible Filter滤波器的使用(一)

一、【说在前面】 Ansible Filter一般被称为滤波器或者叫过滤器。 这个东西初次听到以为是什么科学计算的东西,但是想来ansible不太可能有什么滤波操作,所以这个东西本质是一个数值筛选器,内置函数,本质是一个为了做区别化的工具…

光学 | 联合Ansys Zemax及Lumerical应对AR/VR市场挑战

当前的增强现实和虚拟现实(AR/VR)市场涵盖了广泛的应用趋势,设计人员和各企业在努力寻找非传统解决方案,以满足主流消费者不断变化的需求。 对于AR头戴设备等可穿戴解决方案,设计思路通常源于对小巧轻量化系统的需求&a…

大数据传输慢的真正原因与解决方案

随着企业数据不断增长,大数据传输已成为一项至关重要的任务。然而,许多企业在处理大数据传输时频繁遭遇传输速度慢的问题。本文将深入探讨大数据传输速度慢的根本原因,并提供一些切实有效的解决方案。 大数据传输在企业中的重要性不言而喻&am…

算法竞赛备赛进阶之数位DP训练

数位DP的思想就是对每一位进行DP,计算时记忆化每一位可以有的状态,其作用是减少运算时间,避免重复计算。 数位DP是一种计数用的DP,一般就是要统计一个区间[A,B]内满足一些条件数的个数。 以1e9甚至1e18、1e100的问题为例&#x…

Docker 容器之间的互相通信

Docker容器之间的互相通信 步骤一:创建自定义网络 首先,我们需要创建一个自定义网络,以便容器可以连接到这个网络上,从而实现互相通信。在命令行中执行以下命令: # 创建 docker network create ddz # 查看 docker n…

洛谷 P1523 旅行商简化版【线性dp+npc问题简化版】

原题链接:https://www.luogu.com.cn/problem/P1523 题目背景 欧几里德旅行商(Euclidean Traveling Salesman)问题也就是货郎担问题一直是困扰全世界数学家、计算机学家的著名问题。现有的算法都没有办法在确定型机器上在多项式时间内求出最优解,但是有…