Revit高级应用----Dynamo可视化编程培训(软件所)

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
生成模型
55
5.2 二次开发
56
5.2 二次开发
57
5.2 二次开发
58
六、参考文献
59
6 参考文献
1. 《Dynamo-可视化编程在桥隧方面的基础应用》
2. 《Dynamo中文版教程》
3. 《建筑极客Dynamo学习-初级学习课程》 4. 《建筑极客Dynamo学习-中级学习课程》 5. 《Autodesk Revit 炼金术-Dynamo基础实战教程》
基础数据
49
5.2 参数化的TBM 盾构隧道
基础数据
50
5.1.2 参数化的TBM 盾构隧道
思路介绍
51
5.1.2 参数化的TBM 盾构隧道
思路介绍
52
5.1.2 参数化的TBM 盾构隧道
思路介绍
53
5.1.2 参数化的TBM 盾构隧道
生成模型
54
5.1.2 参数化的TBM 盾构隧道
4
1.2 Dynamo 和GRASSHOPPER
Dynamo 跟 Rhino( 犀牛 )上的插件 Grasshopper(GH) 类似,因为两个插件都可以让设 计师用可视化编程界面开发自己的设计工具。 Grasshopper强项在于对复杂几何形体的处理。在数据处理方面,运算效率更佳,现 成的算法更多,缺点是处理模型数据较耗费精力。 Revit 出色之处在于管理建筑信息,数据结构灵活性更佳,可以调用Revit的数据是优
60
谢谢大家!
61
61
自定义了一个sumNumber函数,对三个数求和并返回结果。
22
2.7 Python语言
Dynamo里面有Python Script节点,这个节点可以实现两个重要功能:
接入外部Python 库,使用高级的函数功能,这是对Design Script功能
的巨大扩充。 调用Revit API,操控Revit的构件(族) 。
dist = myPoint.DistanceTo(attractorPoint); myCircle = Circle.ByCenterPointRadius(myPoint,dist); 可视化编程的过程如下:
33
3.4 画圆
两个不同的方法,得到同样的结果,如下:
34
四、Dynamo和Revit交互
8
1.3 下载、安装、运行
安装过程中对revit 的支持
9
1.3 下载、安装、运行
单独运行的路径: "C:\Program Files\Dynamo\Dynamo Revit\1.2\DynamoSandbox.exe" Revit 2017 之前的版本:“附加模块”->“Dynamo”
Revit 2017 之后的版本:“管理”->“Dynamo”
1
陈瑜 2017-10-20
目 录
1. 2. 3. 4. 5. 6.
Dynamo基础知识 Dynamo数据结构 Dynamo可视化编程入门 Dynamo与Revit交互 Dynamo高级开发 参考文献
2
一、Dynamo 基础知识
1.1 Dynamo 简介
Dynamo 是Autodesk公司推出的,一款功能十分强大,并且十分便捷的可视化编程 软件。它可以和多款Autodesk 公司的其他软件交互,适应各类使用人员的专业需求。
第三步:搜索watch并添加
第四步:输入数字,连接看到结果
32
3.4 画圆
常规的编程代码如下: myPoint = Point.ByCoordinates(0.0,0.0,0.0); x = 5.6; y = 11.5;
attractorPoint = Point.ByCoordinates(x,y,0.0);
40
4.4 单位处理
Dynamo和Revit结合地很好,除了内部单位不一致。Dynamo里不带单位的数 值都会认为是以“米”为单位。Revit里面默认单位是毫米。
41
五、Dynamo高级开发
5.1 桥梁隧道高级建模
东成西就:一个技术流派的高手,精于研究BIM在水利行业的应用,知名博客博主! 职业:水利工程师 http://blog.sina.com.cn/sacrifice1127
3.1 可视化编程的基本要素
1. 错误提示信息; 2. Watch 节点检查输入的数据内容;
3. 上游段的输入数据类型(Red空变量)无法传递到下游端的节点;
4. 接线(Wires):各个节点需要通过接线来传递数据。是数据流的 传递纽带。
3.2 常用节点
1.布尔值(真/假) 2.数值(实数) 3.字符串 4.实数滑动条 7.文件路径 5.整数滑动条 6.文件夹路径
缺省的仅引入 ProtoGeometry ,支 持基本的Design Script核心功能和 图形类处理功能。
23
2.7 Python调用Revit API
REVITAPI.DLL :提供处理 Revit
内基本构件Element的处理功能
REVITUIAPI.DLL :提供 Revit 内 用 户 交 互 选 择 及 TaskDialog 实 时输出 REVITNODES.DLL :提供对 Dy namo内节点的支持,可以在Py thon Script里直接写Design Sc ript代码 REVITSERVICES.DLL:提供对R evit多文档以及构件的事务处理
以快速,简明的实现使用者的许多功能,前提是使用者有一定的计算机编程
语言的基础。dynamo 也提供了一个十分有用的功能,就是可以很便捷的 将庞大的可视化编程好的节点和接线,直接变为代码块(Code Block)中
的编程语言代码。。
21
2.6 DesignScript新建函数和调用函数
在代码块编写自定义函数,并且调用这个自定义函数。
势。缺点是速度偏慢。
5
1.2 Dynamo 和GRASSHOPPER
Grasshopper(GH)体育场建模:
6
1.2 Dynamo 和GRASSHOPPER
Grasshopper(GH)地铁盾构规划建模:
7
1.3 下载、安装、运行
软件安装文件包可以从http://dynamobim.org下载。 源代码则可以从https://github.com/ikeough/Dynamo下载。 从Revit 2017版本开始,Autodesk已经在安装Revit时默认安装Dynamo, 早期版本需要自己手动下载安装一下。
38
4.2 手动选择Revit 中的图元
然后在搜索框输入Name,单击“获取图元名称” 有了这两个后,可以获取选中元素的名称。
用Python脚本调用Revit标准弹窗TaskDialog。搜
索框输入Python,单击“Python Script”。双击脚 本组件的空白区域,输入脚本。运行如下所示:
17
2.2 List数据
Dynamo 中的数据都是存放在List 数列中,就像是其他编程语言中的数组, 可以是一维、二维、三维……。列表的索引是从0 开始。
18
2.3 List数据处理
Dynamo 中的数据都是存放在List 数列中,就像是其他编程语言中的数组, 可以是一维、二维、三维……。列表的索引是从0 开始。
19
2.4 代码块Code Block
代码块(Code Block),是dynamo 中可以直接输入DesignScript 的 节点。可以通过双击鼠标左键,快速打开Code Block 。
20
2.5 脚本语言DesignScript
DesignScript 是dynamo 编程语言。通过代码块(Code Block),可
(修改构件,更新数据库时必需
的)服务。
24
三、Dynamo可视化编程入门
3.1 可视化编程的基本要素
节点(nodes):根据需要,通过连接不同的,有特定功能的节点,从 而实现可视化编程。
3.1 可视化编程的基本要素
节点(nodes):根据需要,通过连接不同的,有特定功能的节点,从 而实现可视化编程。
43
5.1.1 常规桥梁的建模思路
四个横断面生成上部结构
44
5.1.1 常规桥梁的建模思路
放置桥墩
45
5.1.1 常规桥梁的建模思路
放置桥台
46
5.1.1 常规桥梁的建模思路
文件结构
47
5.1.2 参数化的TBM 盾构隧道
基础数据
48
5.1.2 参数化的TBM 盾构隧道
10
1.3 下载、安装、运行
11
1.4 用户界面
1、菜单栏; 2、工具栏; 3、节点库; 4、工作空间; 5、控制台
12
1.5 节点库
节点库(Library):包含多个节点的容器。不同的节点库,有不同的, 特定功能的各类节点。
13
1.5 节点库
节点库(Library):包含多个节点的容器。不同的节点库,有不同的, 特定功能的各类节点。
14
1.6 自带的例子
举例操作详解:Dynamo——帮助——样例——Basics
15
二、Dynamo数据结构
2.1 输入数据
数据可以是: 实数,如0,100,3.1415,-19; 字符,前后要带引号,如”hello world”,”你好,世界!”; 各类变量(墙高,河长,半径); 几何图元(圆形,球体,曲面); 数组,如1,2,3,4,5……,A,B,C,D,E……,a,b,c,d,e……; 还可以是空值(null);
4.1 获取Revit 中的图元
Revit 的层级结构(族类Baidu Nhomakorabea、族、族类型、实例)
36
4.1 获取Revit 中的图元
Dynamo 中提供选择Revit 图元的节点
37
4.2 手动选择Revit 中的图元
在左侧项目树下面,展开Revit-> Selection,单击 “Select Model Element” 点击“选择”按钮,在Revit中选择构件,可以看 到如下窗口,已经返回选择构建的ID
39
4.3 开关Revit预览
缺省情况下,在Dynamo中生成的点、线等图形元素,会在Revit图形界面中有 一个对应的显示,请注意,仅仅是蓝色高亮的点、线显示,非实际Revit中存在的。 有时候这样在Revit中的运行中,点集比较密时,这种密集的显示会影响在Revit 内的后继操作,因此有时候需要能够将其关闭,不影响在Revit的手动操作。 这种显示方式可以在Dynamo内进行切换,方法为下拉菜单:【视图】=》【背 景三维预览】=》【可用预览】=》【Revit背景预览】,如下图所示:
3.2 常用节点
查看/三维查看(Watch/Watch3D):用来查看数据或者几何图元。
3.3 可视化编程
第一步:搜索code block并添加 第二步:搜索watch并添加
第三步:输入字符串,注意带双引号
第四步:连接看到结果
第四步:再加一行计算
31
3.3 数学计算
第一步:搜索Number 并添加 第二步:搜索运算符+,并添加
“可视化编程语言”可以让设计师通过图形化界面创建程序,不必从白纸开始一行行地写程序代码,
用户现在可以简单地连接预定义功能模块,轻松创建自己的算法和工具。或者说,设计师不用写代 码就可以享受到计算式设计的好处。
Dynamo最新版本号是1.2,它是免费的,开源的,使用Apache 2.0授权协议。
开源软件(open-source)是指其源码可以被公众使用的软件,并且此软件的修改和分发也不受许可 证的限制。主要被散布在全世界的编程者队伍所开发,但是同时一些大学,政府机构承包商,协会 和商业公司也开发它。
相关文档
最新文档