0引言多年来,AutoLISP一直是定义AutoCAD的标准。从AutoCADR14开始,加入了新一代开发工具VisualLISP[1]。利用VisualLISP编制自己的应用程序,可以强化AutoCAD的应用特性,使AutoCAD成为自己的专业设计软件。利用内嵌于ACAD2000的VisualLISP开发面向对象的零件库,可以直观地实现一些常用结构和标准件的重复调用和绘制,大大提高了设计效率和设计质量[2,3]。1ACAD2000菜单的用户化ACAD2000的标准菜单比较适于初学者掌握,对于专业用户来说,标准菜单只有20%经常用到[1]。幸运的是ACAD2000的菜单系统是开放的,用户可以使用菜单宏命令来建立自己的菜单。用户可以完全独立的通过菜单宏命令来建立自己的菜单,但由于用户化菜单与标准菜单在形式上有许多相同之处,因此建立用户化菜单的最简便方法是通过对SUPPORT子目录中的菜单样板文件acad.mnu的编辑修改得到用户化菜单。开发零件库的用户化菜单部分代码如下:POP4标准件IDMn标准件[标准件]//为用户化基本菜单定义“标准件”局部菜单图1载有局部菜单“标准件”的用户化菜单ID螺纹连接[->螺纹连接]//为“标准件”局部菜单定义“螺纹连接”子菜单.ID滚动轴承[->滚动轴承]//为“标准件”局部菜单定义“滚动轴承”子菜单ID球轴承[->球轴承]]//为“滚动轴承”子菜单定义下一级“球轴承”子菜单ID单列推力球轴承[单列推力球轴承(GB301-84)]^C^C(load”d:/BZJ/DXTLQZC301”)DXTLQZC301//为“单列推力球轴承”菜单项装载VisualLISP宏文件,并指定宏命令.装载用户化菜单后ACAD2000的菜单系统由标准菜单变为如图1所示的用户化菜单。如图1单击“单列推力球轴承”菜单项,将加载VisualLISP程序DXTLQZC301.LSP到ACAD2000系统中,并执行宏命令“DXTLQZC301”。如图2所示,此时可弹出一个由DCL(DialogControlLanguage)语言设计,并由VisualLISP程序DXTLQZC301.LSP驱动的绘制单列推力球轴承(GB301-84)的对话框。图2绘制单列推力球轴承(GB301-84)的对话框2DCL对话框的设计及驱动应用DCL语言设计对话框,将命令行输入的零件绘图程序改为对话框输入更符合当今界面友好、面向对象的程序要求,同时也大大方便了使用者。对于对话框的开发可分两部分:(1)对话框的设计,用DCL语言定义一个对话框;(2)对对话框进行调用和管理,这里用VisualLISP程序驱动DCL语言定义的对话框。2.1对话框的设计符合国家标准和通行约定、方便使用者使用是设计对话框的两条基本原则。设计对话框要尽量简便、明了,同时又要避免因设计的简洁而造成对使用者的误导。定义对话框也就是布置对话框中的控件以及说明控件的属性值。DCL是AutoCAD提供的PDB(可编程对话框)模块驱动对话框控制语言,DCL有着AutoLISP语言的一贯特点简单方便。在ACAD2000为用户提供的VisualLISP编辑环境下,不用在ACAD2000环境中调用已经编好驱动DCL的VisualLISP程序,即可在VisualLISP下预览正在设计的对话框,这使用户不必再象以前那样,调试程序时既要看AutoLISP程序是否写错,又要回过头看对话框程序是否写错。如图2所示的对话框除“OK”、“Cancel”控件外,分6个区,分别实现对轴承型号、系列的选择,轴承定位面的选择,以及轴承载
lisp型材库_基于Visual Lisp的面向对象零件库的开发
最新推荐文章于 2020-12-21 09:51:20 发布