找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2380|回复: 3

[LISP程序]:DCL 动态对话框 与 LISP 的调用方法源码分享

[复制链接]
发表于 2007-10-14 14:59:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
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;//使按钮居中放置       
    }
    }
}
}
}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2007-10-14 15:05:10 | 显示全部楼层
调入对话框的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、插入点:   上   表示编号写在插入点之上,其余类推;
  "))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2018-11-14 16:43:36 | 显示全部楼层
测试滑反应   什么原因
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

发表于 2018-11-15 00:04:31 | 显示全部楼层
为什么不做成文件上传呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-23 07:20 , Processed in 0.395402 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表