明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1468|回复: 3

【***这个LISP该如何写???***】请ZZXXQQ进来

[复制链接]
发表于 2009-8-28 22:41:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2009-12-7 16:35:58 编辑

左侧下拉列表中,用户选择相应的DN数据,右侧,自动跳出不同的数据。

DCL文件如下:

dcl_settings : default_dcl_settings { audit_level = 3; }

AAA : dialog {
    label = "管件连接尺寸汇编查询系统";
    : boxed_column {
        label = "公制";
        mnemonic = "?聡";
        : row {
            : popup_list {
                label = "DN";
                value = "1";
                key = "1";
                mnemonic = "D";
                list = "15\n20\n100";
                tabs = "1";
                action = "1";
                fixed_width = true;
            }
            : column {
                : edit_box {
                    label = "PIPE             ";
                    value = "2";
                    key = "2";
                    mnemonic = "P";
                    action = "2";
                    width = 5;
                    height = 1;
                }
                : edit_box {
                    label = "90°ELBOW";
                    value = "3";
                    key = "3";
                    mnemonic = "9";
                    action = "3";
                }
                : edit_box {
                    label = "45°ELBOW";
                    value = "4";
                    key = "4";
                    mnemonic = "4";
                    action = "4";
                }
                : edit_box {
                    label = "TEE              ";
                    value = "55";
                    key = "5";
                    mnemonic = "T";
                    action = "5";
                }
                : edit_box {
                    label = "REDUCER    ";
                    value = "6";
                    key = "6";
                    mnemonic = "R";
                    action = "6";
                }
            }
        }
    }
    : text {
        label = " ";
    }
    : text {
        label = "               授人以鱼,不如授之以渔!---老子";
    }
    ok_only;
}

本帖子中包含更多资源

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

x
发表于 2009-8-29 14:06:00 | 显示全部楼层
key "1"值保存在一个表中,如:
(setq k1 '("15" "20" ... "100"))
相应key "2"值也保存在一个表中,与key "1"表相对应:
(setq k2 '("50" "60" ... "108"))
同理:
(setq k2 '("67" "80" ... "150"))
...
当key "1"活动时,用一个函数读出当前key "1"值(注意:该值是顺序号,要用ITOA转成数字使用),并设key "2"到key "6"的值。
……
(action_tile "1" "(chdata)")
……
(defun chdata ()
 (setq i (itoa (get_tile "1")))
 (set_tile "2" (nth i k2))
 ……
 (set_tile "6" (nth i k6))
)
 楼主| 发表于 2009-12-7 15:13:00 | 显示全部楼层
本帖最后由 作者 于 2009-12-7 16:37:34 编辑

如果是要满足2个或者更多条件的该如何写啊,如图

 

本帖子中包含更多资源

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

x
发表于 2009-12-10 20:51:00 | 显示全部楼层
用多维表就能解决。例如:
'(
   (10 (2.5 (75 50 11 10 4))(6 (90 60 14 12 4))(16 (120 78 14 16 8)))
   (12 (……))
   ……
 )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-10-1 19:33 , Processed in 0.191341 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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