谈中式仿古建筑设计的参数化绘图

所属栏目:建筑设计论文 发布日期:2011-04-06 08:11 热度:

  摘要:中国悠久的历史创造了灿烂的古代文化,而古建筑便是其重要组成部分。仿古建筑设计是对中国古建筑的保护和传承。在仿古建筑设计中,对计算机辅助设计技术进行开发,可以提高设计效率,优化设计方案,缩短设计周期,减少设计人员繁杂的操作,对仿古建筑设计有十分重要的意义。本文就如何利用AutoCAD中的VisualLISP集成开发环境实现参数化绘图作了简要说明。
关键词:中国古建筑,仿古建筑,Auto,LISP语言,参数化绘图

中国古建筑是我国悠久文化遗产的重要组成部分,是古代劳动人民伟大创造的结晶。“仿古建筑”就是把有特色的中国建筑的旧形式加以改造后适应现代化的使用要求,将旧的形式和新的科学技术两者有机的结合,以不破坏老环境而又搞新建筑为目的的一种新的“建筑方法”及“建筑形式”。它是建筑艺术的创新。仿古建筑设计是中国现代建筑设计的一个重要组成部分。
仿古建筑设计是一门融科技、艺术、文化、哲学于一体的学科。仿古建筑既是一件商品,更是一件艺术品。古建筑的一些要素要得到充分体现,仿古建筑设计必须有古建筑的要素。而CAD在仿古建筑设计中的自动化程度不高,操作烦琐,效率较低。
AutoLISP语言嵌套与于AutoCAD内部。它是LISP语言和AutoCAD有机结合的产物。AutoLISP是为二次开发AutoCAD而专门设计的编程语言。
AutoLISP采用了和CommonLISP最相近的语法和习惯,既具有CommonLISP的特性,又针对AutoCAD增加了许多功能。它可以把AutoLISP程序和AutoCAD的绘图命令结合起来,使设计和绘图完全融为一体,还实现对AutoCAD当前数据库的直接访问、修改。AutoLISP方便了对屏幕图形的实时修改、参数化设计和交互设计,为在绘图领域应用人工智能提供了方便。
AutoLISP语言最典型的应用之一就是实现参数化绘图的程序设计,包括鼠标拖动程序和尺寸驱动程序。鼠标驱动程序可以方便用户直接读取AutoCAD的输入设备,鼠标拖动应用了AutoLISP语言的GRREAD[<track>]函数,任选项“追踪光标移动”存在且为真时,调整所需的参数值可自动改变屏幕图形的属性。尺寸驱动程序的功能是通过改变实体标注的尺寸值来实现自动修改图形尺寸。迄今为止,大部分参数化程序都是针对二维平面图编制的。实际上,可以利用AutoLISP实现立体图的参数化绘图。
VisualLISP是Autodesk公司从AutoCADR14起提供给用户的可视化、功能强大的开发程序的集成开发环境,它包括了编译器、调试器和其他工具,可以显著的提高编写LISP程序的效率。VisualLISP提供了文本编辑器、格式编排器、语法检查器、源代码调试器、检验和监视工具、工程管理系统、文件编译器和智能控制台等。
VisualLISP己经被完整地集成到AotoCAD中,而且具有简单易学,使用了流行的有色代码编辑器和完善的调试工具等优点。作为开发工具,VisualLISP提供了一个完整的集成开发环境(IDE),包括编译器、调试器和其他工具,可以提高自定义AutoCAD的效率。另外,VISualLISP提供了发布用AutoLISP编写的独立应用程序的工具。VisualLISP没有任何特殊的硬件需求,能运行AutoCAD系统即可运行VisualLISP。
VisualLISP的集成开发环境(IDE)包括一个VisualLISPConsole窗口、一个Trace窗口、数个文档窗口以及调试程序的Watch窗口等。文档窗口中可以很方便地进行源程序的输入和编辑,还可以在COnsole窗口里输入一条或多条LISP语句,来查看执行的效果。语法检查器可以用来检查AutoL工SP程序结构错误和内部函数中的变元错误。综合检查器提供对数据结构中变量和表达式的值的浏览和编辑功能。文件编译器可以把AutoLISP源程序编译成二进制格式文件,使程序的运行速度加快,并增强了应用程序的安全性。visua1LISP的源程序文件(.LSP),或被编译文件(.FAS)可以利用系统提供的ApplicaionWizard软件打包成一个单一的ADS或ARX模块。
在仿古建筑设计中实现参数化绘图是CAD的发展方向,它能极大的提高工作效率,特别是绘制大量重复的图样。如AutoCADVisualLISP自带的教程《花园小路》,它教授使用者如何用VisualLISP语言编程,让计算机根据使用者输入的参数自动绘图。而仿古建筑设计中要有斗拱作、大屋顶作、油漆彩画作等要素,下图是作者根据VisualLISP语言编程,让计算机自动绘制的一个油漆彩画作中常见的红色的五角星。见图1
程序如下:
(defunc:5js()
(setqos(getvar“osmode”)
cmdcho(getvar“cmdcho”))
(setvar“osmode”0)
(setvar“cmdcho”0)
(tsc)
(setqpt1(getpoint“n插入点”))
(setqpt2(polarpt1(angtof“-108”)(sc28.9086)))
(setqpt3(polarpt2pi(sc28.9086)))
(setqpt4(polarpt3(angtof“-36.00”)(sc28.9086)))
(setqpt5(polarpt4(angtof“-108”)(sc28.9086)))
(setqpt6(polarpt5(angtof“36”)(sc28.9086)))
(setqpt7(polarpt6(angtof“-36”)(sc28.9086)))
(setqpt8(polarpt7(angtof“108”)(sc28.9086)))
(setqpt9(polarpt8(angtof“36”)(sc28.9086)))
(setqpt10(polarpt9pi(sc28.9086)))
(command“color”“r”)
(command“pline”pt1pt2pt3pt4pt5pt6pt7pt8pt9pt10“c”)
(setqs1(entlast))
(command“-bhatch”“p”“s”“s”s1“”“”)
(setvar“osmode”os)
(setvar“cmdecho”cmdcho)
)
;比例因子
(defuntsc()
(if(=js-scalenil)
(setqjs-scale1)
)
(setqinp(getreal(strcat“n输入比例因子<”
(rtosjs-scale)

 1/2    1 2 下一页 尾页

文章标题:谈中式仿古建筑设计的参数化绘图

转载请注明来自:http://www.sofabiao.com/fblw/ligong/jianzhusheji/8116.html

相关问题解答

SCI服务

搜论文知识网的海量职称论文范文仅供广大读者免费阅读使用! 冀ICP备15021333号-3