DCL动态对话框与LISP调用实例源码
选出《钢构CAD》中的任一个实例作为范例此处选其中的“连续编号”程序
AAA : dialog{
label=" 钢 构 C A D --- 连 续 编 号" ;
key="dial";
:row { //无框水平排列 :boxed_row//有框水平排列
:image//幻灯显示框
{
key="HD-01";
width=25;//显示框宽
height=1;
color=0;
fixed_width=true;
}
:radio_column{//其下为无框竖向平排列 :boxed_radio_column{//其下为有框竖向平排列
:row{
:edit_box{label="文字高度:";key="VZG";width=5;}
:edit_box{label="起点编号:";key="QDH";width=5;}
}
:radio_row {//无加框行
:boxed_radio_row{//boxed_radio_row加框按钮行 radio_row {//无加框行
label=" 引 线 ";
:row{
:radio_button{label="有";key="BH-Y";}
:radio_button{label="无";key="BH-W";}
}
}
:boxed_radio_row{//boxed_radio_row加框按钮行 radio_row {//无加框行
label=" 方 式 ";key="JDQJ";
:radio_button{label="递增";key="FS-Z";}
:radio_button{label="递减";key="FS-J";}
}
}
:boxed_radio_row{//boxed_radio_row加框按钮行 radio_row {//无加框行
label="插入点位置";key="YH--";
:radio_button{label="上";key="YH-S";}
:radio_button{label="下";key="YH-X";}
:radio_button{label="左";key="YH-Z";}
:radio_button{label="右";key="YH-Y";}
}
:row{//其下为水平排列
:button{width=5;label="编 号";key="accept";alignment = centered;fixed_width = true;is_default = true;}//按钮
: button {//自定义一个退出按钮
width=5;
key = "cancel";//退出与确定的区别:确定为key = "accept";
label = "退 出";//is_default = true; //缺省按钮,一个话框中必须也只能有一个缺省按钮
fixed_width = true;//使按钮外框的宽度收缩到恰好可以容纳其内部的文字
alignment = centered;//使按钮居中放置
}
: button {//自定义一个按钮
width=5;
key = "SM-1";//退出与确定的区别:确定为key = "accept";
label = "说 明";//is_default = true; //缺省按钮,一个话框中必须也只能有一个缺省按钮
fixed_width = true;//使按钮外框的宽度收缩到恰好可以容纳其内部的文字
alignment = centered;//使按钮居中放置
}
}
}
}
}
调入对话框的LISP代码;
(defun C:A(/ ANFZ dcl_id );此处 A 为自定命令名,可随意定
(setvar "cmdecho" 0) ;防止命令执行过程的显示
(setq dcl_id (load_dialog "A"));加载AutoCAD文件夹内的DCL文件 A.DCL 此文件应放在CAD程序文件夹中以方便调试
(new_dialog "AAA" dcl_id);激活DCL文件 A.DCL 中的 AAA 对话框画面
;;;;;以下由点击激活各子程序:
(action_tile "SM-1" "(LT-SM)"); 说明按钮
;;;设置 确定 与 取消 按钮事件
(action_tile "accept" "(done_dialog 1)");为确定按钮设置退出对话框 (done_dialog) ,并赋值1
(action_tile "cancel" "(done_dialog 2)");为取消按钮设置退出对话框 (done_dialog) ,并赋值2
(setq ANFZ (start_dialog));start_dialog用于初始对话框,将确定与取消的赋值传给 ANFZ ,此行不能少,否则无法退出
(unload_dialog dcl_id);卸载一个 DCL 文件
(if (= ANFZ 1);当点编号按钮时
(prompt "\n 程 序 已 可 以 正 常 执 行 !"))
(if (= ANFZ 2);当点退出按钮时
(prompt "\n 程 序 已 退 出 !"))
(princ);用于干净地结束序
)
(defun LT-SM();说明按钮子程序
(alert "概要说明:
1、文字高度一般为出图比例的 2.5 ~ 3 倍 ; 2、图中圆圈半径等于 1.2 倍文字高度 ;
3、起点编号: 可任意输入 数 字 或 大 小 写 字 母 ; 输入 其它 则按 0 计算;
4、插入点: 上 表示编号写在插入点之上,其余类推;
"))
更多具体文章详见作者博客 [url]http://hrq.1028.blog.163.com[/url] 查看下载
[[i] 本帖最后由 GGCAD 于 2007-10-14 18:59 编辑 [/i]] 怎么没人爱用啊 钢构CAD能不能应用于CAD2005?
我昨天下载了一个安装后说与CAD2005不兼容
不知道怎么回事? 版主所说的事应不会有的
钢构CAD1.75适用于2000到2008所有中文版
如需要完整最新版本的朋友,可来信
[email]hrq1028@126.com[/email]
免费取得
页:
[1]