乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 82|回复: 13

[编程交流] 代码错误

[复制链接]

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 20:35:12 | 显示全部楼层 |阅读模式
大家好,
 
有人能帮我解决代码问题吗?
 
dcl代码工作正常,但lisp代码似乎有一些
问题你能检查一下我需要做什么才能使它在我的autocad中执行吗?
 
DCL代码:
 
  1. IBlock:dialog{
  2. label="BLOCK SELECTION";
  3. :column {
  4. :row{
  5. :row{
  6. :radio_column {
  7. key="radio";
  8. label="VIEW";
  9. :radio_button{
  10. key="plan";
  11. label=" PLAN";
  12. }
  13. :radio_button{
  14. key="side";
  15. label=" SIDE";
  16. }
  17. :radio_button{
  18. key="front";
  19. label=" FRONT";
  20. }
  21. }
  22. :column{
  23. :radio_column {
  24. key="radio2";
  25. label="BLOCK TYPE";
  26. :radio_button{
  27. label= "Block1";
  28. key="B1";
  29. value="1";
  30. }
  31. :radio_button{
  32. label= "Block2";
  33. key="B2";
  34. }
  35. }
  36. }
  37. }
  38. }
  39. :row{
  40. :button{
  41. key="accept";
  42. label=" OK ";
  43. is_default=true;
  44. height=3.5;
  45. }
  46. :button{
  47. key="cancel";
  48. label=" CANCEL ";
  49. is_default=false;
  50. is_cancel=true;
  51. height=3.5;
  52. }
  53. }
  54. }
  55. }

 
LISP代码:
  1. (defun saveVars()
  2.   (setq plan(atoi(get_tile "plan")))
  3.   (setq side(atoi(get_tile "side")))
  4.   (setq front(atoi(get_tile "front")))
  5.   (setq b1(atoi(get_tile "B1")))
  6.   (setq b2(atoi(get_tile "B2")))
  7.   
  8. ;;;--PLAN VIEW--
  9. (setq  p1(strcat path "Block1p")
  10. p2(strcat path "Block2p")
  11. )
  12. ;;;--SIDE VIEW--
  13. (setq  s1(strcat path "Block1s")
  14.         s2(strcat path "Block2s")
  15. )
  16. ;;;--SIDE VIEW--
  17. (setq  f1(strcat path "Block1f")
  18.         f2(strcat path "Block2f")
  19. )
  20.         
  21. )
  22. (defun C:IBlock()
  23. (setvar "cmdecho" 0)
  24. (setq oldOsmode(getvar "osmode"))
  25. (setvar "osmode" 0)
  26. ;;;--- Load the dialog box
  27. (setq dcl_id (load_dialog "c:\\Lisp\\Programs\\Iblock.dcl"))
  28. ;;;--- See if it is ready
  29. (if (not (new_dialog "Iblock" dcl_id) ) (exit))
  30. ;;;--- If an action event occurs, do this function
  31. (action_tile "cancel" "(setq ddiag 1)(done_dialog)")
  32. (action_tile "accept" "(setq ddiag 2)(saveVars)(done_dialog)")
  33. ;(saveVars)
  34. ;;;--- Display the dialog box
  35. (start_dialog)
  36. (unload_dialog dcl_id)
  37. ;;;--- If the CANCEL button was pressed - display message
  38. (if (= ddiag 1)
  39.   (princ "\n \n ...IBblock Cancelled. \n ")
  40. )
  41. ;;;--- If the OKAY button was pressed
  42. (if (= ddiag 2)
  43.       
  44. (command "-insert" (if(and(= plan 1)(= b1 1)) p1
  45.    
  46.              (if(and(= plan 1)(= b2 1)) p2
  47.                (if(and(= side 1)(= b1 1)) s1
  48.                  (if(and(= side 1)(= b2 1)) s2
  49.                    (if(and(= front 1)(= b1 1)) f1
  50.                      (if(and(= front 1)(= b2 1)) f2
  51.                            ))))))) pause 1 1 pause)
  52.          
  53. (setvar "cmdecho" 175)
  54. (princ)
  55. )

 
 
伊布洛克。LSP
伊布洛克。DCL
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 20:42:49 | 显示全部楼层
为什么要删除与此请求相同的最后一个线程?
回复

使用道具 举报

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 20:48:20 | 显示全部楼层
我没有删除它。这就是为什么我再次发布它,本来应该检查它,但我找不到它。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 20:50:57 | 显示全部楼层
 
好的,没问题。
 
变量路径为零,那么块的完整路径是什么?
回复

使用道具 举报

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 20:58:12 | 显示全部楼层
对不起,我忘了放小路了。
 
但在加载时仍然出现语法错误
 
(setq路径“c:\\Lisp\\Library”\\)
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 21:01:41 | 显示全部楼层
现在试试这个,让我知道。
 
  1. (defun c:IBlock (/ os dcl_id plan side front b1 b2 bk)
  2. ;;        Modified by Tharwat 10.12.2014                ;;
  3. (setq dcl_id (load_dialog "c:\\Lisp\\Programs\\Iblock.dcl"))
  4. (if (not (new_dialog "IBlock" dcl_id))
  5.    (exit)
  6.    (progn
  7.      (action_tile "cancel" "(setq ddiag 1)(done_dialog)")
  8.      (action_tile
  9.        "accept"
  10.        "(setq plan (atoi (get_tile "plan"))
  11.                                   side (atoi (get_tile "side"))
  12.                                   front (atoi (get_tile "front"))
  13.                                   b1 (atoi (get_tile "B1"))
  14.                                   b2 (atoi (get_tile "B2")))
  15.                                   (done_dialog)"
  16.      )
  17.      (start_dialog)
  18.      (unload_dialog dcl_id)
  19.    )
  20. )
  21. (if (= ddiag 1)
  22.    (princ "\n ...IBblock Cancelled. \n ")
  23.    (progn
  24.      (cond ((and (= plan 1)
  25.                  (= b1 1)
  26.             )
  27.             (setq bk "Block1p")
  28.            )
  29.            ((and (= plan 1)
  30.                  (= b2 1)
  31.             )
  32.             (setq bk "Block2p")
  33.            )
  34.            ((and (= side 1) (= b1 1))
  35.             (setq bk "Block1s")
  36.            )
  37.            ((and (= side 1) (= b2 1))
  38.             (setq bk "Block2s")
  39.            )
  40.            ((and (= front 1) (= b1 1))
  41.             (setq bk "Block1f")
  42.            )
  43.            ((and (= front 1) (= b2 1))
  44.             (setq bk "Block2f")
  45.            )
  46.      )
  47.      (if (and bk (findfile (setq bk (strcat "c:\\Lisp\\Library\" bk ".dwg"))))
  48.        (progn
  49.          (setq os (getvar "osmode"))
  50.          (setvar "osmode" 0)
  51.          (command "_.-insert" bk pause 1. 1. pause)
  52.        (setvar "osmode" os)
  53.        )
  54.        (alert
  55.          (strcat "\n Name of Block < " bk " > is not found !!")
  56.        )
  57.      )
  58.    )
  59. )
  60. (princ)
  61. )
回复

使用道具 举报

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 21:04:51 | 显示全部楼层
嗨,塔瓦,
 
代码正在正确上传,但只要我单击所需的视图和块类型,就找不到块的Nae。我附上了一张剪断的图片,我已经在path文件夹中插入了require块文件。
 
213514ij23i3iv34e22i1z.jpg
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 21:10:39 | 显示全部楼层
请用Dcl文件中的替换此部分(如蓝色所示),然后重试。
 
  1. : radio_button { key = "plan";
  2. label = " PLAN";
  3. [color="blue"]value = "1";[/color]
  4. }
回复

使用道具 举报

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 21:15:18 | 显示全部楼层
嗨,塔瓦,
 
我已经更新了它,它是相同的错误之前。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 21:19:16 | 显示全部楼层
以上代码已更新,请重试。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-11 08:57 , Processed in 0.964984 second(s), 74 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表