明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1602|回复: 7

[已解答] 谁帮我看看我这个lisp调用dcl对话框后为什么就动不了呢???????

[复制链接]
发表于 2014-6-30 23:22:01 | 显示全部楼层 |阅读模式
具体症状是:lisp调用dcl后,对话框的edit_box中有默认数据,也能往里面填写修改的数据,,但只要一点确认按钮,整个cad就动不了了,不知道是一直在做死循环还是直接死机了,,,求人帮我看一下。。
由于源程序很乱,我只贴了部分程序上来:
    (setq dcl_id (load_dialog "cxc"))
    (new_dialog "dia" dcl_id)
    (set_tile "edit_bh" cxc_entbh1)      
    (set_tile "edit_tc" cxc_enttc2)     
    (set_tile "edit_d"  cxc_entzj3)   
    (set_tile "edit_s"  cxc_entjj)      
    (set_tile "edit_z"  cxc_entzm)     
    (set_tile "edit_y"  cxc_entym)   
    (set_tile "edit_j"  cxc_entjy)      
    (set_tile "edit_fwx" cxc_entfwxcd)   
    (action_tile "accept" "(ok_dia) (done_dialog 1)")
    (start_dialog)
    (unload_dialog dcl_id)
    (defun ok_dia ()
        (setq cxc_entbh1_2  (get_tile "edit_bh")
                cxc_enttc2_2   (get_tile "edit_tc")
                cxc_entzj3_2    (get_tile "edit_d" )
                cxc_entjj_2      (get_tile "edit_s" )      
                cxc_entzm_2    (get_tile "edit_z" )   
                cxc_entym_2   (get_tile "edit_y" )  
                cxc_entjy_2     (get_tile "edit_j" )
                cxc_entfwxcd_2  (get_tile "edit_fwx")
        )
    )

另外dcl程序是:

dia:dialog{
             label="钢筋属性表";
             :edit_box{
                        label="钢筋编号";
                        key="edit_bh";
                        edit_width=20;
                       }
             :edit_box{
                        label="钢筋类别";
                        key="edit_tc";
                        edit_width=20;
                       }
             :edit_box{
                        label="钢筋直径D(mm)";
                        key="edit_d";
                        edit_width=20;
                       }
             :edit_box{
                        label="钢筋间距S(mm)";
                        key="edit_s";
                        edit_width=20;
                       }
             :edit_box{
                        label="钢筋左锚固长度Z(15d+0.1,0.7-0.03等表达式)";
                        key="edit_z";
                        edit_width=20;
                       }
             :edit_box{
                        label="钢筋右锚固长度Y(15d+0.1,0.7-0.03等表达式)";
                        key="edit_y";
                        edit_width=20;
                       }
             :edit_box{
                        label="钢筋多加几根J";
                        key="edit_j";
                        edit_width=20;
                       }
             :edit_box{
                        label="钢筋分布长度(mm)";
                        key="edit_fwx";
                        edit_width=20;
                       }
             ok_only;
           }
发表于 2014-7-1 08:15:38 | 显示全部楼层
  1. (defun shodcl ()
  2.   (if (> (setq dcl_id (load_dialog "cxc")) 0) (progn
  3.    (if (new_dialog "dia" dcl_id) (progn
  4.     (set_tile "edit_bh" cxc_entbh1)      
  5.     (set_tile "edit_tc" cxc_enttc2)     
  6.     (set_tile "edit_d"  cxc_entzj3)   
  7.     (set_tile "edit_s"  cxc_entjj)      
  8.     (set_tile "edit_z"  cxc_entzm)     
  9.     (set_tile "edit_y"  cxc_entym)   
  10.     (set_tile "edit_j"  cxc_entjy)      
  11.     (set_tile "edit_fwx" cxc_entfwxcd)   
  12.     (action_tile "accept" "(ok_dia) (done_dialog 1)")
  13.     (setq re (start_dialog))
  14.    )
  15.     (princ "\n无法显示对话框!")
  16.    )
  17.    (unload_dialog dcl_id)
  18.   )
  19.    (princ "\n无法加载对话框!")
  20.   )
  21.   (if (= re 1) (do))
  22.   (princ)
  23. )
 楼主| 发表于 2014-7-3 00:04:04 | 显示全部楼层
感谢ZZXXQQ抽出时间来帮忙啊!!
 楼主| 发表于 2014-7-3 02:20:20 | 显示全部楼层
ZZXXQQ老大,
       我这个还是不行,还是死机,我把我的程序附上来,麻烦你再看看啊。我主要是想调用对话框修改图中“钢筋”的属性(图中钢筋就是一条红线),

本帖子中包含更多资源

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

x
发表于 2014-7-3 08:59:00 | 显示全部楼层
;; 代码结构复杂,函数do未定义

本帖子中包含更多资源

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

x
发表于 2014-7-3 09:16:02 | 显示全部楼层
程序运行时直接改扩展数据,在图形上无反应。

本帖子中包含更多资源

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

x
 楼主| 发表于 2014-7-3 21:16:43 | 显示全部楼层
xyp1964 发表于 2014-7-3 08:59
;; 代码结构复杂,函数do未定义

谢谢xyp1964老大的修改,我的程序繁琐了点,不简洁,,,很多地方还需要优化。但经过你和ZZXXQQ老大的修改后,暂时能用了,谢谢费心~~
 楼主| 发表于 2014-7-3 21:21:15 | 显示全部楼层
本帖最后由 chenxc 于 2014-7-3 21:31 编辑
ZZXXQQ 发表于 2014-7-3 09:16
程序运行时直接改扩展数据,在图形上无反应。

有劳ZZXXQQ老大的修改,你修改后的程序在我电脑上没问题了,终于又见到之前熟悉的对话框了,而且也修改成功了,有你和其他热心版主的帮助,我觉得学到不少~~再次感谢您的费心!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-24 09:39 , Processed in 0.173409 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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