乐筑天下

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

[编程交流] DCL位置

[复制链接]

42

主题

104

帖子

69

银币

后起之秀

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

铜币
203
发表于 2022-7-5 17:35:24 | 显示全部楼层 |阅读模式
我想知道我的DCL文件放在哪里才能让我的LISP工作。我正在尝试再次安装DDnumb。。。我把它放在C/Autocad支持文件夹中。我似乎每隔几年就会问这个问题。。。这是一个路径问题吗?任何帮助或意见都会很好。
 
加载错误消息:
 
命令:ddnumb
_.撤消当前设置:自动=打开,控制=全部,组合=是,图层=是
输入要撤消的操作数或[自动/控制/开始/结束/标记/返回]:
命令:
错误:退出/退出中止
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 17:41:57 | 显示全部楼层
如果它是一个。dcl文件,因此有两个选项:
1-放置。dcl文件保存到AutoCAD Support文件夹中,并使用findfile功能查找该文件。
2-将其放在任何需要的地方,但需要将完整路径添加到lisp文件中才能找到该文件,否则findfile无法找到它。
回复

使用道具 举报

42

主题

104

帖子

69

银币

后起之秀

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

铜币
203
发表于 2022-7-5 17:50:45 | 显示全部楼层
那么我们可以在这里链接Lisp和DCL吗?C: \用户\ ian。anderson\Desktop\LISP库,或者我甚至可以将其链接到我的USB驱动器。
 
我添加了我试图使用的lisp。如果您更新了lisp,您能告诉我需要更新的位置,以链接DCL文件以供将来参考吗?我已经遇到这个问题一两次了。。。
 
  1. DDNUMB.LSP for release 15
  2. ;Auto numbers text strings.
  3. ;Written by: S. Restmeyer 3/01
  4. ;;;
  5. ;;;----------------------ERROR FUNCTION----------------------------
  6. ;;;
  7. (DEFUN ERR (S)                                ;if an error (such as CTRL-C)
  8.                                 ;occurs while this command is active...
  9. (if (not (member s '("console break" "Function cancelled")))
  10.    (princ (strcat "\nError: " s))
  11. )
  12. (command "_.UNDO" "_E")                ;end any outstanding UNDO group
  13. (setvar "cmdecho" cmd)                ;restore saved mode
  14. (setq *error* olderr)
  15. (princ)
  16. )
  17. ;;;---------------------- MAIN PROGRAM ----------------------------
  18. ;;;
  19. (defun C:DDNUMB (/ CMD dcl_id1 olderr)
  20. (setq        olderr        *error*
  21. *error*        err
  22. )
  23. (SETQ CMD (GETVAR "CMDECHO"))
  24. (command "_.UNDO" "_G")
  25. (setvar "cmdecho" 0)
  26. (defun set_replace ()
  27.    (cond
  28.      ((= (get_tile "do_replace") "0")
  29.       (set_tile "sort_type" "0")
  30.       (mode_tile "sort_type" 1)
  31.       (set_tile "start_no" " ")
  32.       (mode_tile "start_no" 1)
  33.       (set_tile "txt_inc" " ")
  34.       (mode_tile "txt_inc" 1)
  35.      )
  36.      )
  37.    (cond
  38.      ((= (get_tile "do_replace") "1")
  39.       (mode_tile "sort_type" 0)
  40.       (mode_tile "start_no" 0)
  41.       (mode_tile "txt_inc" 0)
  42.       (if sort_type
  43.    (set_tile "sort_type" sort_type)
  44.    (set_tile "sort_type" "0")
  45.    )
  46.       (if txt_inc
  47.    (set_tile "txt_inc" (rtos txt_inc 2 0))
  48.    (set_tile "txt_inc" "1")
  49.    )
  50.       (if start_no
  51.    (set_tile "start_no" (rtos start_no 2 0))
  52.    (set_tile "start_no" "1")
  53.    )
  54.      )
  55.      )
  56.    )
  57. (defun my_help ()
  58.    (setq file_name (findfile "autonumb.pdf"))
  59.    (startapp "acrobat.exe" (strcat """ file_name """))
  60.    )
  61.       (defun get_data ()
  62. (setq suffix (get_tile "suffix"))
  63. (setq prefix (get_tile "prefix"))
  64. (setq start_no (atoi (get_tile "start_no")))
  65. (setq txt_inc (atoi (get_tile "txt_inc")))
  66. (setq sort_type (get_tile "sort_type"))
  67. (setq do_replace (get_tile "do_replace"))
  68.      )
  69. ;;;-------------------------------------------------------------------
  70. ;;;-----------THIS SECTION RETRIEVES USER INPUT INFORMATION------------
  71. ;;;
  72.     (setq dcl_id1 (load_dialog "autonumb.dcl"))
  73.      (if (not (new_dialog "ddstart" dcl_id1))
  74. (exit)
  75.      )
  76. (setq sort_list '("Selection" "Top-Bottom" "Left-Right" "Bottom-Top" "Right-Left"))
  77.         (start_list "sort_type")
  78. (mapcar 'add_list sort_list)
  79.         (end_list)
  80. (if sort_type
  81.    (set_tile "sort_type" sort_type)
  82.    (set_tile "sort_type" "0")
  83.    )
  84. (if prefix
  85.    (set_tile "prefix" prefix)
  86.    )
  87. (if suffix
  88.    (set_tile "suffix" suffix)
  89.    )
  90. (if start_no
  91.    (set_tile "start_no" (rtos start_no 2 0))
  92.    (set_tile "start_no" "1")
  93.    )
  94. (if txt_inc
  95.    (set_tile "txt_inc" (rtos txt_inc 2 0))
  96.    (set_tile "txt_inc" "1")
  97.    )
  98.    (action_tile "do_replace" "(set_replace)")
  99.    (action_tile "numb_hlp" "(my_help)")
  100.    (action_tile "accept" "(setq start_ok T)(get_data)(done_dialog 1)")
  101.    (action_tile "cancel" "(setq start_ok nil)(done_dialog 0)")
  102.    (start_dialog)
  103.      (unload_dialog dcl_id1)
  104. ;;;-------------------------------------------------------------------
  105. ;;;---------------THIS SECTION MODIFIES SELECTED TEXT-----------------
  106. ;;;
  107. (defun get_txt (/ sset sset1 sset2 sset3 test num llen temp old)
  108.    (setq sset (ssget '((0 . "TEXT"))))
  109.    (setq num 0)
  110.   (if (= do_replace "1")
  111.     (progn
  112.    (cond
  113.      ((= sort_type "0")
  114.     (while (< num (sslength sset))
  115.       (setq temp (entget (ssname sset num)))
  116.       (setq old (assoc 1 temp))
  117.   (setq new (cons 1 (strcat prefix (rtos start_no 2 0) suffix)))
  118.            (setq temp (subst new old temp))
  119.            (entmod temp)
  120.       (setq start_no (+ start_no txt_inc))
  121.       (setq num (+ num 1))
  122.       )
  123.       )
  124.      ((= sort_type "1")
  125.       (setq temp (caddr (assoc 10 (entget (ssname sset num)))))
  126.       (setq sset1 (list temp))
  127.       (setq num (+ num 1))
  128.     (while (< num (sslength sset))
  129.       (setq temp (caddr (assoc 10 (entget (ssname sset num)))))
  130.       (setq sset1 (append sset1 (list temp)))
  131.       (setq num (+ num 1))
  132.       )
  133.       (setq sset2 (list ""))
  134.       (while (< (- (length sset2) 1) (sslength sset))
  135.     (setq temp (apply 'max sset1))
  136.     (setq sset2 (append sset2 (list temp)))
  137.     (setq sset3 (list ""))
  138.     (setq num (- (length sset1) 1))
  139.      (while (> num -1)
  140. (setq test (nth num sset1))
  141. (if (not (member test sset2))
  142.   (setq sset3 (append sset3 (list test)))
  143.   )
  144. (setq num (- num 1))
  145. )
  146.       (setq sset1 (cdr sset3))
  147.      )
  148.       (setq sset2 (cdr sset2))
  149.       (setq llen 0)
  150.       (while (< llen (length sset2))
  151. (setq test (nth llen sset2))
  152. (setq num 0)
  153. (while (not (= (caddr (assoc 10 (entget (ssname sset num)))) test))
  154.    (setq num (+ num 1))
  155.    )
  156. (setq temp (entget (ssname sset num)))
  157.       (setq old (assoc 1 temp))
  158.   (setq new (cons 1 (strcat prefix (rtos start_no 2 0) suffix)))
  159.            (setq temp (subst new old temp))
  160.            (entmod temp)
  161.       (setq start_no (+ start_no txt_inc))
  162.       (setq llen (+ llen 1))
  163.       )
  164.       )
  165.      ((= sort_type "2")
  166.       (setq temp (cadr (assoc 10 (entget (ssname sset num)))))
  167.       (setq sset1 (list temp))
  168.       (setq num (+ num 1))
  169.     (while (< num (sslength sset))
  170.       (setq temp (cadr (assoc 10 (entget (ssname sset num)))))
  171.       (setq sset1 (append sset1 (list temp)))
  172.       (setq num (+ num 1))
  173.       )
  174.       (setq sset2 (list ""))
  175.       (while (< (- (length sset2) 1) (sslength sset))
  176.     (setq temp (apply 'max sset1))
  177.     (setq sset2 (append sset2 (list temp)))
  178.     (setq sset3 (list ""))
  179.     (setq num (- (length sset1) 1))
  180.      (while (> num -1)
  181. (setq test (nth num sset1))
  182. (if (not (member test sset2))
  183.   (setq sset3 (append sset3 (list test)))
  184.   )
  185. (setq num (- num 1))
  186. )
  187.       (setq sset1 (cdr sset3))
  188.      )
  189.       (setq sset2 (cdr sset2))
  190.      (setq llen (- (length sset2) 1))
  191.       (while (> llen -1)
  192. (setq test (nth llen sset2))
  193. (setq num 0)
  194. (while (not (= (cadr (assoc 10 (entget (ssname sset num)))) test))
  195.    (setq num (+ num 1))
  196.    )
  197. (setq temp (entget (ssname sset num)))
  198.       (setq old (assoc 1 temp))
  199.   (setq new (cons 1 (strcat prefix (rtos start_no 2 0) suffix)))
  200.            (setq temp (subst new old temp))
  201.            (entmod temp)
  202.       (setq start_no (+ start_no txt_inc))
  203.       (setq llen (- llen 1))
  204.       )
  205.       )
  206.      ((= sort_type "3")
  207.       (setq temp (caddr (assoc 10 (entget (ssname sset num)))))
  208.       (setq sset1 (list temp))
  209.       (setq num (+ num 1))
  210.     (while (< num (sslength sset))
  211.       (setq temp (caddr (assoc 10 (entget (ssname sset num)))))
  212.       (setq sset1 (append sset1 (list temp)))
  213.       (setq num (+ num 1))
  214.       )
  215.       (setq sset2 (list ""))
  216.       (while (< (- (length sset2) 1) (sslength sset))
  217.     (setq temp (apply 'max sset1))
  218.     (setq sset2 (append sset2 (list temp)))
  219.     (setq sset3 (list ""))
  220.     (setq num (- (length sset1) 1))
  221.      (while (> num -1)
  222. (setq test (nth num sset1))
  223. (if (not (member test sset2))
  224.   (setq sset3 (append sset3 (list test)))
  225.   )
  226. (setq num (- num 1))
  227. )
  228.       (setq sset1 (cdr sset3))
  229.      )
  230.       (setq sset2 (cdr sset2))
  231.       (setq llen (- (length sset2) 1))
  232.       (while (> llen -1)
  233. (setq test (nth llen sset2))
  234. (setq num 0)
  235. (while (not (= (caddr (assoc 10 (entget (ssname sset num)))) test))
  236.    (setq num (+ num 1))
  237.    )
  238. (setq temp (entget (ssname sset num)))
  239.       (setq old (assoc 1 temp))
  240.   (setq new (cons 1 (strcat prefix (rtos start_no 2 0) suffix)))
  241.            (setq temp (subst new old temp))
  242.            (entmod temp)
  243.       (setq start_no (+ start_no txt_inc))
  244.       (setq llen (- llen 1))
  245.       )
  246.       )
  247.      ((= sort_type "4")
  248.       (setq temp (cadr (assoc 10 (entget (ssname sset num)))))
  249.       (setq sset1 (list temp))
  250.       (setq num (+ num 1))
  251.     (while (< num (sslength sset))
  252.       (setq temp (cadr (assoc 10 (entget (ssname sset num)))))
  253.       (setq sset1 (append sset1 (list temp)))
  254.       (setq num (+ num 1))
  255.       )
  256.       (setq sset2 (list ""))
  257.       (while (< (- (length sset2) 1) (sslength sset))
  258.     (setq temp (apply 'max sset1))
  259.     (setq sset2 (append sset2 (list temp)))
  260.     (setq sset3 (list ""))
  261.     (setq num (- (length sset1) 1))
  262.      (while (> num -1)
  263. (setq test (nth num sset1))
  264. (if (not (member test sset2))
  265.   (setq sset3 (append sset3 (list test)))
  266.   )
  267. (setq num (- num 1))
  268. )
  269.       (setq sset1 (cdr sset3))
  270.      )
  271.       (setq sset2 (cdr sset2))
  272.       (setq llen 0)
  273.       (while (< llen (length sset2))
  274. (setq test (nth llen sset2))
  275. (setq num 0)
  276. (while (not (= (cadr (assoc 10 (entget (ssname sset num)))) test))
  277.    (setq num (+ num 1))
  278.    )
  279. (setq temp (entget (ssname sset num)))
  280.       (setq old (assoc 1 temp))
  281.   (setq new (cons 1 (strcat prefix (rtos start_no 2 0) suffix)))
  282.            (setq temp (subst new old temp))
  283.            (entmod temp)
  284.       (setq start_no (+ start_no txt_inc))
  285.       (setq llen (+ llen 1))
  286.       )
  287.       )
  288.      )
  289.    )
  290.     (progn
  291.       (setq start_no nil)
  292.       (setq txt_inc nil)
  293.      (while (< num (sslength sset))
  294.       (setq temp (entget (ssname sset num)))
  295.       (setq old (assoc 1 temp))
  296.   (setq new (cons 1 (strcat  prefix (cdr old) suffix)))
  297.            (setq temp (subst new old temp))
  298.            (entmod temp)
  299.       (setq num (+ num 1))
  300.       )
  301.       )
  302.     )
  303.    )
  304.   (if start_ok
  305.    (get_txt)
  306. )
  307.   (setq *error* olderr)
  308. (setvar "cmdecho" cmd)
  309.    )
回复

使用道具 举报

42

主题

104

帖子

69

银币

后起之秀

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

铜币
203
发表于 2022-7-5 17:56:49 | 显示全部楼层
这里是DCL文件不确定是否需要更新?非常感谢。
 
  1. //----------------------------------------------------------------------------
  2. //
  3. // Corresponding dialogue for DDNUMB.LSP
  4. //
  5. //----------------------------------------------------------------------------
  6. //dcl_settings : default_dcl_settings { audit_level = 3; }
  7. ddstart : dialog {
  8.     label = "Auto Number";
  9. initial_focus = "prefix";
  10.         : row {
  11.         : boxed_column {
  12.                 fixed_width = true;
  13.                 label = "&Prefix";
  14.                         : edit_box {
  15.                                 key = "prefix";
  16.                                 mnemonic = "P";
  17.                                 fixed_width = true;
  18.                                    }
  19.                         }
  20.         : boxed_column {
  21.                 fixed_width = true;
  22.                 label = "Start &No";
  23.                         : edit_box {
  24.                                 key = "start_no";
  25.                                 mnemonic = "N";
  26.                                 fixed_width = true;
  27.                                    }
  28.                         }
  29.         : boxed_column {
  30.                 fixed_width = true;
  31.                 label = "&Suffix";
  32.                         : edit_box {
  33.                                 key = "suffix";
  34.                                 mnemonic = "S";
  35.                                 fixed_width = true;
  36.                                    }
  37.                         }
  38.                 }
  39. : row {
  40.         : boxed_column {
  41.                 fixed_width = true;
  42.                 label = "&Increment";
  43.                         : edit_box {
  44.                                 key = "txt_inc";
  45.                                 mnemonic = "I";
  46.                                 fixed_width = true;
  47.                                    }
  48.                         }
  49.         : boxed_column {
  50.                 fixed_width = true;
  51.                 label = "Sort &By";
  52.                         : popup_list {
  53.                                 key = "sort_type";
  54.                                 width = 13;
  55.                                 fixed_width = true;
  56.                                 }
  57.                         }
  58.         : toggle {
  59.                 label = "Replace";
  60.                 key = "do_replace";
  61.                 value = 1;
  62.                 }
  63.         }
  64.         spacer_1;
  65.         : row {
  66. ok_cancel;
  67.                 : button {
  68.                         key = "numb_hlp";
  69.                         label = "Help";
  70.                         mnemonic = "H";
  71.                         }
  72.                 }
  73.         }
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 18:03:19 | 显示全部楼层
只需将DCL代码保存为一个名称:utonum。dcl并将其定位到AutoCAD support文件夹中,然后进行尝试。
但是如果你想把它放到另一个位置,只需要得到该位置的完整路径,并确保在完整路径名中有两个反斜杠或一个正斜杠。
回复

使用道具 举报

42

主题

104

帖子

69

银币

后起之秀

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

铜币
203
发表于 2022-7-5 18:09:05 | 显示全部楼层
我需要支持路径的管理员权限,我不知道如何将Lisp更改到新位置。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 18:11:53 | 显示全部楼层
如果您想按照前面提供的路径将其定位到特定文件夹中,则必须如下所示:
  1. C:\\Users\\ian.anderson\\Desktop\\LISP LIBRARY\\autonumb.dcl

或者:
  1. C:/Users/ian.anderson/Desktop/LISP LIBRARY/autonumb.dcl
回复

使用道具 举报

42

主题

104

帖子

69

银币

后起之秀

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

铜币
203
发表于 2022-7-5 18:21:36 | 显示全部楼层
因此,如果我使用C:\\Users\\ian。anderson\\Desktop\\LISP LIBRARY\\autonumb。dcl
 
我应该在lisp中的什么位置插入它?我不知道怎么写这些。我所能做的就是做一个热键。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 18:25:17 | 显示全部楼层
在以下将对话框加载到lisp文件的路径中。
  1. (setq dcl_id1 (load_dialog "C:\\Users\\ian.anderson\\Desktop\\LISP LIBRARY\\autonumb.dcl"))

 
注意:我修改了我的上一篇文章,因为我错误地错过了dcl文件的第一个字符,即“a”。
回复

使用道具 举报

42

主题

104

帖子

69

银币

后起之秀

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

铜币
203
发表于 2022-7-5 18:29:58 | 显示全部楼层
哇,谢谢你。你教会了我一些新的东西。让我度过了一整天:)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 03:24 , Processed in 0.401048 second(s), 72 queries .

© 2020-2025 乐筑天下

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