Dynamo For Revit: 可视化编程的概念

dynamo_logo_dark-trim.jpg

可视化编程

要想了解Dynamo For Revit,那么你首先要知道什么是可视化编程。

可视化编程,亦即可视化程序设计:以“所见即所得”的编程思想为原则,力图实现编程工作的可视化,即随时可以看到结果,程序与结果的调整同步。可视化编程是与传统的编程方式相比而言的,这里的“可视”,指的是无须编程,仅通过直观的操作方式即可完成界面的设计工作,是目前最好的Windows应用程序开发工具。 -----《百度百科》

亦或者

In computing, a visual programming language (VPL) is any programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually.[1][2] A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs (known as dataflow or diagrammatic programming)[3] are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations. ----- Wikipedia

上面是对可视化编程定义的解释。那么既然是编程,自然离不开算法。什么是算法呢?

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。一个状态到另一个状态的转移不一定是确定的。随机化算法在内的一些算法,包含了一些随机输入。

算法,在现实生活中,以折纸鹤为例,输入一张纸,输出是一个纸鹤。
如Dynamo 官方文档的例子:


image

如果用文字描述这里的步骤,你会发现非常繁琐,而且非常的不直观:

  1. 先使用一张方形纸,有顏色的一面朝上。对折然后展开。然后沿另一方向对折。
  2. 将纸翻转到白色的一面。对折,折好后展开,然后再次沿另一方向对折。
  3. 使用已產生的折痕,将模型顶部的 3 个角向下折至底部的角。展平模型。
  4. 将顶部的三角形片折至中心,然后展开。
  5. 将模型顶部向下折,折好后展开。
  6. 展开模型最上方的片,将其向上折,同时向内按压模型的两侧。展平,折好。
  7. 翻转模型,在另一面重复步骤 4-6。
  8. 将顶部的片折至中心。
  9. 在另一面重复上述步骤。
  10. 向上折叠模型的两条「腿」,折好然后展开。
  11. 沿刚刚產生的折痕对「腿」进行内侧反向折叠。
  12. 对一面进行内侧反向折叠以產生头,然后向下折叠翅膀。
  13. 现在纸鹤就折成了。

从这个例子里面,你应该能够感受可视化编程带来的好处了吧!

第一个例子 - 画圆

下面是官方的例子,通过dynamo来创建一个圆。这个圆的半径是可以通过Node来调整的。
在dynamo中的样子:


dynamo_demo_1.jpg

如果写成代码,他是如下的形式:

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);

这样还是不直观,下面的gif动画可以帮你一目了然。(图片右击,在新的标签页打开,效果更佳!)


dynamo_dynamo_1_2.gif
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 大年初一 今年过年的体会,除了累还是累,大年初一没年味。你看,快七点了,个个楼上都没亮灯,...
    晓英写事阅读 714评论 12 22
  • 昨天下午带孩子们出去游泳吃饭,回来后特别累,早早的就睡着了,早上才想起来,昨天忘了更新,导致日更失败了,看来日积月...
    紫色薰衣草_a1214阅读 240评论 2 1
  • 前几天清明,写作群的群友们各自写了自己的清明感悟,我一篇篇看过去,蓦地发现20来人里竟有不少人或失了父或失了母或者...
    想跳舞的鱼阅读 191评论 0 1
  • 记得武校曾经说过,我们是一群没有“证”的父母!的确,我们缺乏当父母的“合格证”。 前段时间看抖音见过有...
    陪伴你成长521阅读 91评论 0 0
  • 大侠Danielle 简笔 认识了一些榜样,受到许多鼓舞,仍在摸索中前进。 忙着和日本工作人员...
    奔跑的Danielle阅读 337评论 4 8