明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4153|回复: 10

[基础] 求助通过面板管理lisp文件

[复制链接]
发表于 2013-4-20 22:12:44 | 显示全部楼层 |阅读模式
本帖最后由 流_星 于 2013-4-21 13:42 编辑

dcl文件

fil:dialog{label="辅助设计面板";
:row{
:boxed_column{label="数字计算"; width=5;
:button{label="加法计算"; key="jf";width=5; is_default = true;}                     
:button{label="减法计算"; key="jian";width=5;is_default = true;}
:button{label="乘法计算"; key="cf";width=5; is_default = true;}
:button{label="除法计算"; key="chu";width=5; is_default = true;}
}
}
ok_cancel;}
然后通过lisp文件,管理文件
点击加法计算,读取加法计算.lsp文件。
(defun c:HH ()
(if (> (setq dcl_id (load_dialog (findfile "drawn.dcl"))) 0) (progn
  (if (new_dialog "drawn" dcl_id "") (progn
   (action_tile "jf"   "(done_dialog 1)")
   (action_tile "jian" "(done_dialog 2)")
   (action_tile "cf"   "(done_dialog 3)")
   (action_tile "chu"  "(done_dialog 4)")
   (setq re (start_dialog))
   (princ "\n无法显示对话框!")
  )
  )
  (unload_dialog dcl_id)
)
  (princ "\n无法加载对话框!")
)
(cond
  ((= re 1) (load "C:/CSRCAD/TOOL/加法计算") (c:Jf))
  ((= re 2) (load "C:/CSRCAD/TOOL/减法计算") (c:jian))
  ((= re 3) (load "C:/CSRCAD/TOOL/乘法计算") (c:cf))
  ((= re 4) (load "C:/CSRCAD/TOOL/除法计算") (c:chu))
)
(princ)
)
对吗;调试出错
请高手帮个忙,大家帮帮忙
发表于 2013-4-21 11:44:11 | 显示全部楼层
Dcl 檔名要為.  drawn.dcl

fil:dialog{label="辅助设计面板"; 改為
drawn:dialog{label="辅助设计面板";

然後你調用的LISP 路徑要在.  C:/CSRCAD/目錄下.
 楼主| 发表于 2013-4-21 13:42:20 | 显示全部楼层
谢谢我试试
发表于 2013-4-21 21:06:38 | 显示全部楼层
语句顺序有误。下面是改过的。
  1. (defun c:HH ()
  2. (if (> (setq dcl_id (load_dialog (findfile "drawn.dcl"))) 0) (progn
  3.   (if (new_dialog "drawn" dcl_id "") (progn
  4.    (action_tile "jf"   "(done_dialog 1)")
  5.    (action_tile "jian" "(done_dialog 2)")
  6.    (action_tile "cf"   "(done_dialog 3)")
  7.    (action_tile "chu"  "(done_dialog 4)")
  8.    (setq re (start_dialog))
  9.   )
  10.    (princ "\n无法显示对话框!")
  11.   )
  12.   (unload_dialog dcl_id)
  13. )
  14.   (princ "\n无法加载对话框!")
  15. )
  16. (cond
  17.   ((= re 1) (load "C:/CSRCAD/TOOL/加法计算") (c:Jf))
  18.   ((= re 2) (load "C:/CSRCAD/TOOL/减法计算") (c:jian))
  19.   ((= re 3) (load "C:/CSRCAD/TOOL/乘法计算") (c:cf))
  20.   ((= re 4) (load "C:/CSRCAD/TOOL/除法计算") (c:chu))
  21. )
  22. (princ)
  23. )

评分

参与人数 1明经币 +1 金钱 +10 收起 理由
流_星 + 1 + 10 谢谢啊

查看全部评分

 楼主| 发表于 2013-4-22 19:08:24 | 显示全部楼层
非常感谢ZZXXQQ
发表于 2014-6-23 23:05:32 | 显示全部楼层
记忆先前的选择
  1. (defun c:HH ()
  2. (setq re 0)
  3. (if (> (setq dcl_id (load_dialog (findfile "drawn.dcl"))) 0) (progn
  4.   (if (new_dialog "drawn" dcl_id "") (progn
  5.    (cond
  6.     ((= re 1) (mode_tile "jf" 2))
  7.     ((= re 2) (mode_tile "jian" 2))
  8.     ((= re 3) (mode_tile "cf" 2))
  9.     ((= re 4) (mode_tile "chu" 2))
  10.    )
  11.    (action_tile "jf"   "(done_dialog 1)")
  12.    (action_tile "jian" "(done_dialog 2)")
  13.    (action_tile "cf"   "(done_dialog 3)")
  14.    (action_tile "chu"  "(done_dialog 4)")
  15.    (setq re (start_dialog))
  16.   )
  17.    (princ "\n无法显示对话框!")
  18.   )
  19.   (unload_dialog dcl_id)
  20. )
  21.   (princ "\n无法加载对话框!")
  22. )
  23. (cond
  24.   ((= re 1) (load "C:/CSRCAD/TOOL/加法计算") (c:Jf))
  25.   ((= re 2) (load "C:/CSRCAD/TOOL/减法计算") (c:jian))
  26.   ((= re 3) (load "C:/CSRCAD/TOOL/乘法计算") (c:cf))
  27.   ((= re 4) (load "C:/CSRCAD/TOOL/除法计算") (c:chu))
  28. )
  29. (princ)
  30. )
发表于 2016-1-24 07:39:07 | 显示全部楼层
同步学习中………………
发表于 2020-9-8 11:29:54 来自手机 | 显示全部楼层
这是个好东西
发表于 2020-9-8 19:12:57 | 显示全部楼层
感谢楼主分享下载试试!
发表于 2023-8-21 07:47:34 | 显示全部楼层
这个源码真好,感谢分享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 13:24 , Processed in 0.175343 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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