|
转自:http://cadesign.cn/bbs/thread-11-1-1.html
以程序语言为基础的参数驱动技术辅助设计逐渐的成为三维模型构建的主流,是未来发展的重要方向。现在计算机语言发展已经构建出一个强大的阵营,包括C,C++,C#,Java,VB,Python,PHP,Perl等等。设计师似乎难以想象自己何时竟与程序语言构建了联系。而这种联系竟然是未来发展的一个重要方向。在规划,建筑,景观设计师的培训机制中,国内尚且很少有将其与设计挂钩的相关课程。如果作为设计师培训课程的一部分,设计行业的发展必然会出现另一种局面。
在众多的程序语言中,让设计师极为棘手的莫过于选择哪种语言。被认为只有计算机专业才应该掌握的程序语言,对于设计师来讲系统的学习要耗费非常大的精力。实际上也并不推荐学习难度大的C语言等耗费精力的语言。对于设计师,扎实的设计基本功和空间感悟、美学修养是其永不变的基础。语言是在这个基础之上,放大设计师可以触及到的形态领域。目前三维分析设计软件基本都有自己的脚本语言。MAYA是MEL,自8.5之后支持Pyhton语言。Rhinoceros是RhinoScript,自5.0之后嵌入Ironpython,Houdini使用的是HScript,自9.0后使用HOM(Houdini Object Mode),支持Python语言。地理信息软件,ArcGis8基于地理视图的脚本语言开始引入,9.0开始支持Python。VUE自然景观生成软件与FME地理数据转化平台同样支持Python语言。Python程序语言在逐渐的被更为广泛的三维分析设计软件所支持,这正是在于Python语言的优美,同时可以让设计师在短时间内即可掌握,并进入实践的语言。
在程序语言的辅助设计下,设计内容也日趋复杂,仅依靠传统纸笔的设计方式难以达到目的。而在三维模型构建程序中,仅仅依靠传统建模方式,会带来繁重的工作量。尤其在设计不断整合,来回修改的过程中,依靠程序语言(编码)的方式,可以大幅度减轻工作难度,将重点放置于设计推敲上,并进入和探索新的形态领域。
在未接触程序语言时,设计师看待语言的态度是神秘的。由无数代码产生的图形总比直观的形态推敲要抽象的多。实际上一旦读懂语言,所关注的重点自然是这种构建逻辑的合理性,不会被抽象的语言所迷惑。当然,程序越简单,可读性越强是最好的。不仅使模块易于操作修改,同时使其他设计师或程序员也更加易读。Python语言与GH的结合 ,极大的拓展了GH的模型构建能力。
使用Python语言协助设计,相对于其他编程语言,例如Rhino另一个支持的语言VB,和C等语言来说,python语言能够给予设计师更流畅的表达,“…但最重要的是,Python是一种使你在编程时能够保持自己风格的程序设计语言。你不用费什么劲就可以实现你想要的功能,并且编写的程序清晰易懂(和当前流行的其他各种程序设计语言相比更是如此)。”-<Beginning Python from Novice to Professional>由 Python语言编写的程序可以感觉到类似于一篇优雅的散文。在使用Python协助设计的过程中,设计师不用过多的关注类似其他语言那样严格的控制结构,例如给予VB语言的Rhinoscript,必须声明变量,语句块结构结束需要有End If, End Sub关键字标示结束。更重要的是Python语言与一般英语结构相似,例如:
name=input('What is your name?')
if name.endswith('Gumby'):
print ('Hello,Mr.Gumby')
else:
print('Hello,Stranger')
注:学习Python建议首先阅读([挪]Mangus Lie Hetland.Begining Python from novice to professional second edition python基础教程,司维,曾军葳,谭颖华译.北京,人民邮电出版社,2010.)在实际编程过程中需要(David M.Beazley.Python Essential Reference fourth edition python 参考手册.谢俊,杨越,高伟译.2011.北京,人民邮电出版社.)一书为辅助,可以帮助查询语法和命令。
针对RHINO平台的Python可以从官方网址下载教程(Skylar Tibbits,Arhur van der Harten, Steve Baer.2011.Python for rhinoceros 5.),实际操作过程中需要参考RHINO提供的Rhino IronPython帮助文件;
GH Python:
比较GH与Python脚本,Python命令行形式的编程环境是基础的语言,可以理解为GH中所有的命令都可以通过Python命令行形式的语言得以实现,甚至可以扩展 GH的组件,也就是为什么设计师在了解了GH之后,还要学习脚本语言。使用GH,在设计的过程中不免受制于GH现有组件,有些设计逻辑不得不求助于Python等脚本语言才可以实现。将GH与Python结合可以使GH功能无限扩展。实际上GH内嵌了c#,VB语言,目前GH版本Version November-24,2011,Build0.8,0031的Python需要额外加载。
使用GH中的Python组件把 RhinoPython中编写的程序调入进来,在调入的过程中,需要根据GHPython的输入,输出的方式调整代码。
这里把主要的控制参数作为输入条件,包括basicpoint,lengthunit,angle,offsetvalue,topbplineheight,multiple1,multiple2,multiple3,floorheight。同时,针对random.choice函数,增加了初始化随机数生成器,seed([x]),在GH中可以实时的获得随机几何形式,增加设计调整的便利。下面列出主要针对GHPython组件调整的代码部分,与RhinoPython一致的部分以省略号替代。
|
评分
-
查看全部评分
|