Professional Documents
Culture Documents
Dynamo 可视化编程在桥隧方面的基础应用
Dynamo 可视化编程在桥隧方面的基础应用
目 录
一、Dynamo 基础知识 .............................................................................................................4
1、Dynamo 简介 ...............................................................................................................4
2、软件的下载、安装和运行 ........................................................................................5
3、用户界面 .......................................................................................................................7
1、可视化编程初探 ..........................................................................................................8
1.数据结构 ........................................................................................................................ 13
2.运算 ................................................................................................................................. 13
3.逻辑判断 ........................................................................................................................ 14
1、向量、基准面、坐标系.......................................................................................... 17
2、点、线 ......................................................................................................................... 18
3、曲面 ............................................................................................................................. 18
4、实体及其布尔运算 .................................................................................................. 19
5、网格 ............................................................................................................................. 20
2、DesignScript 的简介................................................................................................ 25
1、Dynamo 的运行方式............................................................................................... 30
1、自定义节点 ................................................................................................................ 35
2、Python 初级 ............................................................................................................... 36
3、常用节点包 ................................................................................................................ 37
1、建模思路 .................................................................................................................... 38
2、初步成型 .................................................................................................................... 38
3、优化调整 .................................................................................................................... 39
1、放样节点详解 ........................................................................................................... 40
2、栏杆扶手节点详解 .................................................................................................. 40
3、其他节点详解 ........................................................................................................... 41
1、 四个横断面生成上部结构................................................................................. 42
2、放置桥墩 .................................................................................................................... 42
3、放置桥台 .................................................................................................................... 43
1、基础数据 .................................................................................................................... 44
2、思路介绍 .................................................................................................................... 44
3、生成模型 .................................................................................................................... 45
一、Dynamo 基础知识
1、Dynamo 简介
专业需求。同时,它是免费的、开源的。
2、软件的下载、安装和运行
官网下载链接:http://dynamobim.org/
单独运行的路径:
在 revit 中运行的打开方式:
Revit 2017:“管理”->“Dynamo”
1、菜单栏;2、工具栏;3、节点库;4、工作空间;5、控制台
二、Dynamo 可视化编程基础
1、可视化编程初探
可视化编程,亦即可视化程序设计:以“所见即所得”的编程思想为原则,实现编
程工作的可视化。即随时可以看到结果,实现程序与结果的调整同步。
常规的编程代码如下:
myPoint = Point.ByCoordinates(0.0,0.0,0.0);
x = 5.6;
y = 11.5;
attractorPoint = Point.ByCoordinates(x,y,0.0);
dist = myPoint.DistanceTo(attractorPoint);
myCircle = Circle.ByCenterPointRadius(myPoint,dist);
可视化编程的过程如下:
两个不同的方法,得到同样的结果,如下:
2、Dynamo 中可视化编程的基本要素
节点(nodes):根据需要,通过连接不同的,有特定功能的节点,从而实现可视
化编程。
1.节点的名字;
2.节点的主体;
3.输入/输出端口;
4.List 列表数据预览;
5.“连缀”的类型
1.输入端口的标签;
2.输入数据的提示信息;
3.输入数据的类型;
1.错误提示信息;
2.Watch 节点检查输入的数据内容;
3.上游段的输入数据类型(“Red”的空变量)无法传递到下游端的节点;
接线(Wires):各个节点需要通过接线来传递数据。是数据流的传递纽带。
节点库(Library):包含多个节点的容器。不同的节点库,有不同的,特定功能的
各类节点。
1. 节点库
2. 一个库——几何图元库
3. 库中的一个类别
4. 子类别
5. 节点
常用的节点
输入类节点(input)
1.布尔值(真/假) 5.整数滑动条
2.数值(实数) 6.文件夹路径
3.字符串 7.文件路径
4.实数滑动条
查看/三维查看(Watch/Watch3D):用来查看数据或者几何图元。
代码块(Code Block):用于直接输入数值、字符串、运算式、脚本代码等。
三、Dynamo 可视化编程进阶
1.数据结构
数据可以是:实数(0,100,3.1415,-19);字符(hello world,你好,美女)
;
各类变量(墙高,河长,半径)
;几何图元(圆形,球体,曲面)
;数组(1,2,3,4,5……,
A,B,C,D,E……,a,b,c,d,e……)。还可以是空值(null)。
是一维、二维、三维……。这部分内容比较晦涩,在实践中去体会。
2.运算
3.逻辑判断
·
举例操作详解:Dynamo——帮助——样例——Basics
四、Dynamo 中的几何图元
几何图元(Geometry):与数字、字符不同,但也是数据(Data)的一种。它是
由形状(Shape),尺寸(Size),空间位置(Position)构成的大量数据(Data)
。
1.点——>2.线——>3.面——>4.体
Dynamo 中的几何图元(Geometry)
1、向量、基准面、坐标系
向量(Vectors)
、基准面(Planes)、坐标系(Coordinate Systems)
2、点、线
点(Points)
、线(Curves)
3、曲面
曲面(Surfaces、NURBS Surfaces)
1、曲面; 2 、U 向等参数曲线; 3、 V 向等参数曲线;
4、实体及其布尔运算
实体(Solids)及其布尔运算(Boolean Operations)
5、网格
网格(Meshes)
列表的索引是从 0 开始
的 list
条 polycurve,另一个是 5 个圆。
List 的连缀(Lacing)特性
最短(Shortest)
最长(Longest)
叉极(Cross Product)
2、List 的数据处理
List.Count List.Chop
List.GetItemAtIndex List.Map
List.Reverse List.Combine
List.ShiftIndices List.Transpose
List.FilterByBooleanMask List.ReplaceItemAtIndex
List.Flatten ******
六、代码块及 DesignScript 简介
1、代码块(Code Block)
2、DesignScript 的简介
的实现使用者的许多功能,前提是使用者有一定的计算机编程语言的基础。同时,
dynamo 也提供了一个十分有用的功能,就是可以很便捷的将庞大的可视化编程
好的节点和接线,直接变为代码块(Code Block)中的编程语言代码。
上图代码块(Code Block)中的代码,和节点的效果是一样的。
同上。代码块(Code Block)中的代码,和节点的效果是一样的。
1)范围(Ranges)
:该内容,是 dynamo 中很重要的一个功能。根据需要快速生
成有规律的,一组数列。
2)数据编组成为列表 list | 从列表 list 中提取数据
3)新建函数和调用函数
举例操作详解:Dynamo——帮助——样例——Core
七、Dynamo 与 Revit 的交互
1、Dynamo 的运行方式
Revit 2017:“管理”->“Dynamo”
Revit 的层级结构(族类别、族、族类型、实例)
Dynamo 中提供选择 Revit 图元的节点
手动选择
分类选择
3、创建 Revit 中的图元
1、自定义节点
定义新的节点。这些自定义节点可以将很多已经解决的复杂的问题,封装起来,
便于后续处理相同或者类似的问题。同时,也便于传递和分享给其他的人。
自定义节点可以很大程度上精简可视化编程的流程视图内容
2、Python 初级
Python 是最近比较流行的编程语言。据说是很容易,且简单,且快捷,且高效的
编程开发语言。Rhino、Grasshopper、Revit……等等都支持 Python。
编程,但也是编程啊!
用 Python 来进行一些简单的编程。
例如想要用多个平面将一个台体分割成小块,dynamo 中自带的节点,不容易实
现该功能。
1、建模思路
2、初步成型
3、优化调整
十、Dynamo 应用实践一——用 Bridge 节点包快速建立桥梁模型
1、放样节点详解
2、栏杆扶手节点详解
3、其他节点详解
十一、Dynamo 应用实践二——Dynamo 对常规桥梁的建模思路
1、 四个横断面生成上部结构
2、放置桥墩
3、放置桥台
十二、Dynamo 应用实践四——参数化的 TBM 盾构隧道
1、基础数据
2、思路介绍
3、生成模型