找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1000|回复: 10

[求助] 帮忙看看这段代码执行时为什么未知命令?

[复制链接]

已领礼包: 2个

财富等级: 恭喜发财

发表于 2015-6-3 17:04:29 | 显示全部楼层 |阅读模式

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

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

×
编写单选对话框,为什么到这里出现未知命令?
  1. (defun inst_pqfh (/ p1 p2 n1 n2 keyk keyp fh_layer)
  2. (setq g_yesorno 1);设置是否编组
  3. (setq p1 (getpoint "\n指定剖切线第一点:"))
  4. (setq p2 (getpoint p1 "\n指定剖切线下一点:"))
  5. (Set_layer)
  6. (command "layer" "s" fh_layer "")
  7. (command ".line" p1 p2 "")
  8. (setq obj_line (entlast))
  9. (setq n5 (getvar "ltscale"))
  10. (setq n6 (/ (* 6 (getvar "DIMSCALE")) n5))
  11. (command "change" obj_line "" "p" "lt" "CENTER" "c" "6" "s" n6 "");;;;;执行完这个往下执行就出现未知命令,不知为什么?
  12. (cond ( (= ddtype 1)
  13.          (command "INSERT" "kpmfhp02" p2 n1 n1 "" keyk keyp)
  14.          (setq obj_nb (entlast))
  15.          (command "INSERT" "kpmfhp01" p1 n1 n1 "")
  16.          (setq obj_na (entlast))
  17.           )
  18.          ( (= ddtype 2)
  19.            (command "INSERT" "kpmfhp02x" p2 n1 n1 "" keyk keyp)
  20.            (setq obj_nb (entlast))
  21.            (command "INSERT" "kpmfhp01x" p1 n1 n1 "")
  22.            (setq obj_na (entlast))
  23.           )
  24.         ( (= ddtype 3)
  25.                  (command "INSERT" "kpmfhp04" p2 n1 n1 "" keyk keyp)
  26.                 (setq obj_nb (entlast))
  27.                  (command "INSERT" "kpmfhp03" p1 n1 n1 "")
  28.                  (setq obj_na (entlast))
  29.           )
  30.         ( (= ddtype 4)
  31.                (command "INSERT" "kpmfhp04y" p2 n1 n1 "" keyk keyp)
  32.                (setq obj_nb (entlast))
  33.                 (command "INSERT" "kpmfhp03y" p1 n1 n1 "")
  34.                 (setq obj_na (entlast))
  35.            )
  36.   )
  37. (command "" "")
  38. (if (= g_yesorno 1) ;编组
  39.       (progn
  40.        (setq obj_together (ssadd obj_na  (ssadd obj_nb (ssadd obj_line))))
  41.        ;生成匿名组
  42.        (command "-group" "c" "*" "符号标注" obj_together "")
  43.       )
  44.      )
  45. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 604个

财富等级: 财运亨通

发表于 2015-6-3 19:34:35 来自手机 | 显示全部楼层
通常是command后多加了空格""
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

 楼主| 发表于 2015-6-3 19:49:41 | 显示全部楼层
只是加了个对话框实现而已,lisp源文件这一部分执行就没问题啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

 楼主| 发表于 2015-6-4 09:19:41 | 显示全部楼层
一直在测试,还是没什么进展,不知为什。另外对话框出现了如下问题 QQ图片20150604090926.png
单选框那里为什么选了第一个后,再选择下面两个任意一个,第一个为什么不关闭?
程序运行到(cond 这里就出错,说是未知命令,不知道为什么?
附源码

  1. (defun show_sld (key sld)
  2.       ;(setq key "lmimage")
  3.       (setq px (dimx_tile key));;获取图像右下角X坐标
  4.      (setq py (dimy_tile key));;获取图像右下角Y坐标
  5.      (start_image key);;开始处理图像对象
  6.      (fill_image 0 0 px py -2);先处理图像对象
  7.      (slide_image 0 0 px py sld);;展示幻灯片
  8.      (end_image);;结束
  9. )

  10. (defun dcl_pqfh ()
  11. (setq dcl_id (load_dialog "pqfh"))
  12. (if (not (new_dialog "pqfh" dcl_id))
  13. (exit)
  14. )
  15. (setq zs_err 1)
  16. (sub_kk1)
  17. (set_tile "hxs_kk" "1") ;;;设置剖切方向为横向上
  18. (set_tile "bl_kk" (rtos (getvar "DIMSCALE")));;设置比例初始值为当前标注比例
  19. (if $syth_sc$
  20.     (set_tile "syh_kk" $syth_sc$)
  21.     (set_tile "syh_kk" "索引号")
  22.    );如果索引号为空,则设置为索引号,否则设置为上次输入值
  23. (if $syym_sc$
  24.      (set_tile "syym_kk" $syym_sc$)
  25.      (set_tile "syym_kk" "索引页码")
  26. );如果索引页码为空,则设置为索引页码,否则设置为上次输入值

  27. (action_tile "syh_kk" "(setq keyk $Value)")
  28. (action_tile "syym_kk" "(setq keyp $Value)")
  29. (action_tile "hxs_kk" "(sub_kk1)")
  30. (action_tile "hxx_kk" "(sub_kk2)")
  31. (action_tile "zxz_kk" "(sub_kk3)")
  32. (action_tile "zxy_kk" "(sub_kk4)")
  33. (action_tile "ins_ok" "(ok_pqfh) (done_dialog 1)")
  34. (setq dd (start_dialog))
  35. (if (= dd 1)
  36. (inst_pqfh)
  37. )
  38. (UNLOAD_DIALOG dcl_id)
  39. )

  40. (defun ok_pqfh ()
  41. (setq n1 (get_tile "bl_kk"));;;当前标注比例
  42. (if (= n1 "")
  43.    (setq n1 n2)
  44. )
  45. (setq keyk (get_tile "syh_kk")) ;;;;;请输入索引图号,如D-01,D-02,D-03.
  46. (setq $syth_sc$ keyk)
  47. $syth_sc$
  48. (if (= keyk "")
  49.    (setq keyk "索引号")
  50. )
  51. (setq keyp (get_tile "syym_kk")) ;;;;; 请输入本图名称,如1,2,3... A,B,C...<1>:
  52. (setq $syym_sc$ keyp)
  53. (if (= keyp "")
  54.    (setq keyp "索引页码")
  55. )
  56. )

  57. (defun sub_kk1 ()
  58.    (setq ddtype 1)
  59.    (show_sld "lmimage" "hxsfh")
  60. )
  61. (defun sub_kk2 ()
  62.    (setq ddtype 2)
  63.    (show_sld "lmimage" "hxxfh")
  64. )
  65. (defun sub_kk3 ()
  66.    (setq ddtype 3)
  67.    (show_sld "lmimage" "zxzfh")
  68. )
  69. (defun sub_kk4 ()
  70.    (setq ddtype 4)
  71.    (show_sld "lmimage" "zxyfh")
  72. )

  73. (defun inst_pqfh (/ p1 p2 n1 n2 keyk keyp fh_layer)
  74. (setq g_yesorno 1);设置是否编组
  75. (setq p1 (getpoint "\n指定剖切线第一点:"))
  76. (setq p2 (getpoint p1 "\n指定剖切线下一点:"))
  77. (Set_layer)
  78. (command "layer" "s" fh_layer "")
  79. (command ".line" p1 p2 "")
  80. (setq obj_line (entlast))
  81. (setq n5 (getvar "ltscale"))
  82. (setq n6 (/ (* 6 (getvar "DIMSCALE")) n5))
  83. (command "change" obj_line "" "p" "lt" "CENTER" "c" "6" "s" n6 "");;这一部执行完,下来就出错,未知命令
  84. (cond
  85.         ((= ddtype 1)
  86.          (command "INSERT" "kpmfhp02" p2 n1 n1 "" keyk keyp)
  87.          (setq obj_nb (entlast))
  88.          (command "INSERT" "kpmfhp01" p1 n1 n1 "")
  89.          (setq obj_na (entlast))
  90.           )
  91.          ((= ddtype 2)
  92.            (command "INSERT" "kpmfhp02x" p2 n1 n1 "" keyk keyp)
  93.            (setq obj_nb (entlast))
  94.            (command "INSERT" "kpmfhp01x" p1 n1 n1 "")
  95.            (setq obj_na (entlast))
  96.           )
  97.         ((= ddtype 3)
  98.                  (command "INSERT" "kpmfhp04" p2 n1 n1 "" keyk keyp)
  99.                 (setq obj_nb (entlast))
  100.                  (command "INSERT" "kpmfhp03" p1 n1 n1 "")
  101.                  (setq obj_na (entlast))
  102.           )
  103.         ((= ddtype 4)
  104.                (command "INSERT" "kpmfhp04y" p2 n1 n1 "" keyk keyp)
  105.                (setq obj_nb (entlast))
  106.                 (command "INSERT" "kpmfhp03y" p1 n1 n1 "")
  107.                 (setq obj_na (entlast))
  108.            )
  109.   )
  110. ;(command "" "")
  111. (if (= g_yesorno 1) ;编组
  112.       (progn
  113.        (setq obj_together (ssadd obj_na  (ssadd obj_nb (ssadd obj_line))))
  114.        ;生成匿名组
  115.        (command "-group" "c" "*" "符号标注" obj_together "")
  116.       )
  117.      )
  118. )

  119. ;剖切符号插入命令,作者:凯凯
  120. (defun c:test (/ lst ptt1 pt1 n1 n2 n8 n2 keyk keyp keyl fh_layer)
  121. (command "undo" "be")
  122. (command  "ATTDIA" 0)
  123. (YL_begin)
  124. (dcl_pqfh)
  125. (YL_end) ;
  126. (command "undo" "e")
  127. (princ)
  128. )
对话框
  1. pqfh : dialog {
  2.      label = "剖切符号插入工具——by  凯 凯";
  3.         : row {
  4.       alignment=centered;
  5.       fixed_width=true;
  6.     : column{
  7.         : row {
  8.     : column{
  9.      : boxed_column {
  10.       alignment=centered;
  11.       fixed_width=true;
  12.        label = "索引选项:";
  13.               is_bold=true;
  14.         : edit_box {
  15.               label = "索 引 号:";
  16.               key = "syh_kk";
  17.               edit_width = 10;
  18.               edit_limit =15;
  19.             }
  20.         : edit_box {
  21.               label = "索引页码:";
  22.               key = "syym_kk";
  23.               edit_width = 10;
  24.               edit_limit =15;
  25.             }
  26. }   
  27.         :spacer {
  28. }
  29.        : boxed_column {
  30. alignment=centered;
  31.       fixed_width=true;
  32.               label = "SCALE:";
  33.         : edit_box {
  34.               label = "当前比例:";
  35.               key = "bl_kk";
  36.               edit_width =10;
  37.               edit_limit =15;
  38.             }
  39. }
  40.         :spacer {
  41. }
  42.        : boxed_column {
  43. alignment=centered;
  44. fixed_width=false;
  45.             // width = 27;
  46.               label = "选择剖切方向:";
  47. : row {
  48. //alignment=centered;
  49. //fixed_width=true;
  50.        : radio_button {
  51.               label = "横向上";
  52.               key = "hxs_kk";
  53.             }
  54.        : radio_button {
  55.               label = "横向下";
  56.               key = "hxx_kk";
  57.             }
  58. }
  59. : row {
  60.        : radio_button {
  61.               label = "纵向左";
  62.               key = "zxz_kk";
  63.             }
  64.        : radio_button {
  65.               label = "纵向右";
  66.               key = "zxy_kk";
  67.          alignment=right;
  68.             }
  69. }
  70. }
  71. }
  72.          :image {
  73.               key = "lmimage";
  74.               width = 45;
  75.               height = 20;
  76.               fixed_width = true;
  77.               fixed_height = false;
  78.               color = -15;
  79.              allow_accept=true;
  80.             //alignment=centered;
  81.               }
  82. }

  83. }
  84. }
  85.             errtile;
  86.     : row {
  87.       alignment=centered;
  88.       fixed_width=true;

  89.       : button {
  90.                       label = "确定";
  91.                       key = "ins_ok";
  92.                       width = 8;
  93.                       is_default=true;
  94.        }
  95.        : spacer { width =4;}
  96.         cancel_button;
  97.     }
  98. }
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2015-6-4 11:24:52 | 显示全部楼层
: row {改成 radio_row 试试

点评

改成这样还是一样,横排,可以,纵列,也没问题,但就是两两排列就出现这个问题  详情 回复 发表于 2015-6-4 11:53
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

 楼主| 发表于 2015-6-4 11:53:32 | 显示全部楼层
/db_自贡黄明儒_ 发表于 2015-6-4 11:24
: row {改成 radio_row 试试

改成这样还是一样,横排,可以,纵列,也没问题,但就是两两排列就出现这个问题
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

 楼主| 发表于 2015-6-4 12:57:06 | 显示全部楼层
(defun sub_kk1 ()
   (setq ddtype A11)
   (show_sld "lmimage" "hxsfh")
   (set_tile "hxx_kk" "0")
   (set_tile "zxz_kk" "0")
   (set_tile "zxy_kk" "0")
)
(defun sub_kk2 ()
   (setq ddtype B11)
   (show_sld "lmimage" "hxxfh")
   (set_tile "hxs_kk" "0")
   (set_tile "zxz_kk" "0")
   (set_tile "zxy_kk" "0")
)
(defun sub_kk3 ()
   (setq ddtype C11)
   (show_sld "lmimage" "zxzfh")
   (set_tile "hxs_kk" "0")
   (set_tile "hxx_kk" "0")
   (set_tile "zxy_kk" "0")
)
(defun sub_kk4 ()
   (setq ddtype D11)
   (show_sld "lmimage" "zxyfh")
   (set_tile "hxs_kk" "0")
   (set_tile "hxx_kk" "0")
   (set_tile "zxz_kk" "0")
)
这里改了下,就可以了,哈哈!
但是未知命令还是无法解决,请高手看看,谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2015-6-4 13:07:21 | 显示全部楼层
(command "INSERT" "kpmfhp02" p2 n1 n1 "" keyk keyp)是不是多了一项?

点评

这一行在未改成对话框前,执行是没有问题的,就是改成对话框后成这样了,是不是不能使用cond  详情 回复 发表于 2015-6-4 13:34
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

 楼主| 发表于 2015-6-4 13:34:52 | 显示全部楼层
/db_自贡黄明儒_ 发表于 2015-6-4 13:07
(command "INSERT" "kpmfhp02" p2 n1 n1 "" keyk keyp)是不是多了一项?

这一行在未改成对话框前,执行是没有问题的,就是改成对话框后成这样了,是不是不能使用cond
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 104个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2019-7-6 16:12:09 | 显示全部楼层
本帖最后由 yinchuan99001 于 2019-7-6 17:03 编辑

子程序在程序中没有(YL_begin),(YL_end),(Set_layer),幻灯片文件hxsfh,hxxfh,zxzfh,zxyfh, kpmfhp02.dwg,kpmfhp01.dwg,kpmfhp02x.dwg,kpmfhp01x.dwg,kpmfhp04.dwg,kpmfhp03.dwg,kpmfhp04y.dwg,kpmfhp03y.dwg.程序运行能通过。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 04:39 , Processed in 0.348168 second(s), 52 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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