本帖最后由 牢固 于 2013-6-8 23:20 编辑
OpenDCL可以为AutoLISP 和Visula LISP创建功能强大、界面丰富的对话框,对话框的开发方式和其他用户界面语言的开发方式相近,简单易学,容易上手。目前OpenDCL支持从AutoCAD2004至AutoCAD最新版本!
【一】、入门篇:
1、开发环境的安装与认识
首先去这里下载http://sourceforge.net/projects/opendcl/files/ 下载最新版OpenDcl安装程序文件OpenDCL.Studio.ENU.7.0.0.12.msi,双击默认安装即可!目前OpenDcl支持从AutoCAD2004到AutoCAD2013!
打开OpenDcl程序,我们来认识一下程序界面:
odcl01.jpg (162.87 KB, 下载次数: 11)
Odcl窗体
2013-4-13 21:35 上传
控件选项区:添加控件只需点击控件后,再在窗体中所要放置的位置点击就行。
项目窗口区包括:
AutoLisp File Name : Visual/AutoLISP 文件名项可以让用户将将LISP文件与项目关联。事件处理代码可通过先选择需要的事件再点击事件窗口下面的“添加到 .LSP文件”按钮添加到关联的LISP文件中。确保“事件写入到LISP文件”菜单项为选中,点击工具菜单 >事件写入到LISP文件 来启用该按钮。或者你可复制事件定义到剪贴板并手工将其粘贴到LISP文件。
项目窗体:每一添加到项目中的窗体按照其对话框样式(模态、非模态等)列出,选项卡窗格也需要项目的一部分。选项卡窗格将做为单独项死于其父窗体的下方。对于许多程序,可能只有一个窗体,所以就象这里显示的一样,在项目窗口中只有一个入口。
分发文件密码:OpenDCL 可创建密码保护、基于64位编码版本的项目文件以用于分发。
属性和事件区:设置窗体中各控件的属性和指定触发控件时调用的事件事件窗体区:就是我们的对话框主窗体
Tab顺序区:可以调整对话框窗体各控件的Tab顺序
2、创建第一个OpenDCL对话框应用程序:Hollow World!
打开OpenDCl编辑器,点击 Project->Add Modal Dialog ,添加一个模态对话框,然后在窗体中放置一个 Label 和一个 Button 控件,选定 Button 按钮并在属性窗口中更改“Caption”属性更改为“确定”。对话框如下:
HellowWorld.jpg (23.03 KB, 下载次数: 9)
HellowWorld
2013-4-15 14:36 上传
保存项目文件为 HelloWorld.odcl 并放到 AutoCAD 支持目录或其它在AutoCAD搜索路径下的其它目录;
打开 VisualLISP编辑器并创建一个名为“HelloWorld.lsp”的新LISP文件。将其保持在与项目文件的相同位置
在编辑器工作区左侧的项目窗口中,双击“Visual/AutoLISP 文件名”可将LISP与项目相关联。这样,定义事件时编辑器生成的代码可自动添加到该文件中,如下如示:
HellowWorld1.jpg (12.01 KB, 下载次数: 9)
2013-4-16 08:08 上传
剪切并粘贴以下2个函数的代码到“HelloWorld.lsp” 文件中:
[pcode=lisp,true]; 以下命令确保加载适合的 OpenDCL ARX 文件。
(command "OPENDCL")
;;主程序
(defun c:Hello ()
; 加载 HelloWorld.odcl 文件。
(dcl_Project_Load "HelloWorld" T)
; 显示“Hello world”对话框示例。
(dcl_Form_Show HelloWorld_Form1)
(princ)
)[/pcode]
现在,你可AutoCAD中加载“HelloWorld.lsp” ,并在命令行中键入“Hello”,此时将会显示你最后一次保存的对话框,如下图:
HellowWorld2.jpg (8.7 KB, 下载次数: 9)
2013-4-15 15:02 上传
但是,点击“确定”按钮,并没有任何动作,因为我们没有给确定按钮添加任何事件代码。要关闭对话框,可点击对话框右上角的X来关闭。
下面来设置对话框的OnInitialize 事件,来使对话框打开时Label1控件显示"Hollow World! "