建筑新时代论坛's Archiver

【热门搜索】建材Autocad膜结构钢结构加固招聘工程机械测绘建筑材料工程造价建筑施工图

GGCAD 发表于 2007-10-14 18:58

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]]

GGCAD 发表于 2007-10-18 13:30

怎么没人爱用啊

carl315602 发表于 2007-10-18 14:40

钢构CAD能不能应用于CAD2005?
我昨天下载了一个安装后说与CAD2005不兼容
不知道怎么回事?

GGCAD 发表于 2007-10-18 15:04

版主所说的事应不会有的
钢构CAD1.75适用于2000到2008所有中文版
如需要完整最新版本的朋友,可来信
[email]hrq1028@126.com[/email]
免费取得

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.