资源描述:
《lisp教程网络版2》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第0课<第一篇基本知识>(第1节)基本知识对话框是现今最流行的人机互动面接口;在早期的AutoCAD版本中巳经使用,但只有在R12版本开始,才提供给使用者自行编程的对话框开发功能.对话框的描述定义在一纯文字文件(扩展名为DCL)内,无须特别的开发环境定义文件中的对话框描述,均以对话控制语言(DialogControlLanguage,简称DCL语言)所建立在AutoLISP程序中,配合可编程对话框(PorgrammableDialogBox,简称PDB)函数,激活及操控对话框可以在一个定义档(扩展名DCL)中定义多个对话框对话
2、框由方块本身,及包含于其内的组件(或称为控件,构件)所组成每个组件的属性定义均包含在一对大括号{}中在定义文件中,各组件及其属性均为小写;只有在赋值给属性,或设定对话框名称时才可使用大写字母属性以等号=赋值,并以分号;结束(注意:在AutoLISP程序中,分号是作为批注)一般要在组件名称前加上一个冒号:,但若组件并不设定属性,则不需要在组件名称前加冒号,但却要以分号结束空行会被忽若定义档发生严重的错误,会在当前的目录下,产生ACAD.DCE文件,以指明所发生的错误.第1课<第一篇基本知识>(第2节)定义档BASE.DCL预设在
3、SUPPORT的目录中,它包含了各组件的原型定义,及各类型巳定义的其它基本组件;而所有自行开发的对话框定义文件,都可以使用在BASE.DCL定义文件中的各个组件预设在SUPPORT的目录中,它包含了AutoCAD中所有标准对话框的ACAD.DCL定义参考定义档可在自行开发的对话框定义文件中,经由include指令,取得指定DCL文件中所定义的组件;其语法如下:@include"对话框定义档"e.g.@include"david.dcl"定义档名称要包含在双引号"中,可以在档名前加上定的目录路径会先在当前的目录中搜寻该定义文件,
4、然后是定义文件所在的目录;若有指定档案的路径,则只会在指定的目录内寻找不可以参考ACAD.DCL所定义的对话框,即不可以使用@include"acad.dcl"预视对话框若在VisualLISP中开启一对话框定义文件,即可使用:工具--接口工具--预览编辑器DCL在下拉式列示框中,选取该定义文件中所设定的对话框名称,即可预视对话框亦可直接输入该对话框的名称(要注意大小写)第2课<第一篇基本知识>(第3节)批注//表示其右边(至该行末端)的文字视为注释/**/包括在两个批注符号中间的所有文字(可跨越多行)均视为注释语义检核提供4
5、个等级的检核,该些检核会在对话框载入时完成;可以将下列语句放在定义文件中的任何位置,但不能在任何对话框的定义内.dcl_settings:default_dcl_settings{audit_level=3;}等级0不检查:只有在该定义档巳被检核且不会再作修改时使用等级1错误:找出可能造成AutoCAD终止的错误,此等级也是默认值等级2警告:找出配置或行为模式的错误,所有定义在修改后,最少应执行此等级的检查一次等级3提示:找出多余的属性定义对话框的设计美观性颜色配比,组件整齐排列等方便性相同功能的项目要编排在一起,或使用线框包
6、围使用频繁的项目应设置在最显眼及方便的位置适当设置快速键及默认值(默认值,省缺值)除非对话框中的项目过多,否则应避免使用巢状(嵌套)式对话方框互锁或互换项目选取(或不选取)时,会否引致其它项目功能的改变(enable或disable...等)第3课<第一篇基本知识>(第4节)对话框定义文件内容模式对话框名称:dialog{label="对话框标题";:组件名称{属性名称=属性值;}//组件定义结束}//对话框结束定义说明1对话框名称就是由AutoLISP程序,启动对话框时所呼叫的名称;可以自行设定,要区分大小写字母dialog
7、为对话框中,最外层的组件(即整个对话框),其它的组件均包含在其中一般组件要以冒号:开始,并为小写字母;因为不是属性,所以不须使用分号;结束2开大括号{紧随组件名称之后,以包含该组件的属性或其它组件label为属性名称,并以等号=赋以其右边的属性值,最后以分号;结束该行叙述3包含在对话框中的其它组件组件要以冒号:开始,并为小写字母;因为不是属性,所以不须使用分号;结束4开大括号{紧随组件名称之后,以包含组件的属性或其它组件包含在组件中的属性,要以等号=赋以其右边的属性值;最后以分号;结束该行叙述5以关大括号}与第4行的开大括号}
8、对应,以结束该组件(第3行)之定义双除号//右边的文字即为批注6以关大括号}与第2行的开大括号}对应,以结束该组件之定义(在本例中为整个对话框的定义,即第1行的dialog组件注意:上例中缩排只为方便观察及维护,不作缩排亦可包含在对话框中的组件及组件中的属性可以不只一个第4课