乐筑天下

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

[编程交流] t之间有什么区别

[复制链接]

57

主题

351

帖子

294

银币

后起之秀

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

铜币
285
发表于 2022-7-6 15:23:53 | 显示全部楼层 |阅读模式
我有四个lisp文件附件。BKGD。lsp和所有层。lsp都包含一个启动命令为BKGD和Cl.lsp和Leader。lsp都有cl的开始命令。如果有人能告诉我是否有区别,那就太好了。
BKGD。lsp
所有层。lsp
Cl.LSP
领导者。lsp
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:46:21 | 显示全部楼层
仅从外观上看,前两种方法似乎做了几乎相同的事情(改变层结构),而后两种方法也做了非常相同的事情-生成一个弯曲的引线。
 
但是你自己测试一下,看看他们的表现是否有什么不同。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:51:57 | 显示全部楼层
CL.lsp还包含一些错误,一些包含在错误处理程序中,其他则包含在其他地方,例如错误处理程序中:
 
  1. (defun *error* (msg)
  2.    (reset)
  3.    (prompt (strcat "\n\n" msg "  "))
  4.    ) ;defun

 
“重置”没有功能定义
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 16:00:15 | 显示全部楼层
为了每个人的利益,我已经更新了CL.lsp文件:
 
  1. ;|
  2.    Curved Leader
  3.    By Lee McDonnell
  4.    31.12.2008
  5. |;
  6. (defun c:cl () (c:CurvedLeader)) ; Program Shortcut
  7. (defun c:CurvedLeader (/ *error* varlist oldvars pl vlist stpt enpt ang pt ltxt)
  8.    ;;     --- Error Trap ---
  9.    (defun *error* (msg)
  10.    (mapcar 'setvar varlist oldvars)
  11.    (if (= msg "")
  12.        (princ "\nLeader Constructed.")
  13.        (princ (strcat "\n" (strcase msg)))
  14.    ) ;_  end if
  15.    (princ)
  16.    ) ; end of *error*
  17.    (setq varlist (list "CMDECHO" "CLAYER" "PLINEWID")
  18.      oldvars (mapcar 'getvar varlist)
  19.    ) ; end setq
  20.    ;;     --- Error Trap ---
  21.    (defun makelay (x y)
  22.    (if (not (tblsearch "Layer" x))
  23.        (command "-layer" "m" x "c" y x "")
  24.    ) ;_  end if
  25.    ) ;_  end defun
  26.    (defun polyvert (z)
  27.    (mapcar 'cdr (vl-remove-if '(lambda (x) (/= 10 (car x))) (entget z)))
  28.    ) ;_  end defun
  29.    (setvar "cmdecho" 0)
  30.    (vl-load-com)
  31.    (mapcar 'makelay '("LEADER" "LEADER-TEXT") '("2" "2"))
  32.    (setvar "clayer" "LEADER")
  33.    (prompt "\nConstruct Leader... ")
  34.    (setvar "PLINEWID" 0.0)
  35.    (command "_pline")
  36.    (while (> (getvar "cmdactive") 0) (command pause))
  37.    (setq pl (entlast))
  38.    (setq vlist (polyvert pl))
  39.    (command "_pedit" pl "S" "")
  40.    (setq stpt (car vlist)
  41.      enpt (last vlist)
  42.      ang  (angle stpt (cadr vlist))
  43.    ) ;_  end setq
  44.    (command "_pline"
  45.         stpt
  46.         "W"
  47.         "0.0"
  48.         "2.0"
  49.         (polar stpt ang 4.0)
  50.         ""
  51.    ) ;_  end command
  52.    (setq pt (polar enpt 0 2.5))
  53.    (if    (/= (setq ltxt (getstring t "\nSpecify Text for Leader: ")) "")
  54.    (entmake
  55.        (list '(0 . "TEXT")
  56.          '(8 . "LEADER-TEXT")
  57.          (cons 10 pt)
  58.          (cons 40 2.5)
  59.          (cons 1 ltxt)
  60.          '(50 . 0.0)
  61.          '(7 . "STANDARD")
  62.          '(71 . 0)
  63.          '(72 . 0)
  64.          '(73 . 2)
  65.          (cons 11 pt)
  66.        ) ; end list
  67.    ) ; end entmake
  68.    (alert "Blank Leader Created.")
  69.    ) ;_  end if
  70.    (*error* "")
  71.    (princ)
  72. ) ;_  end defun
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 16:15:37 | 显示全部楼层
另一个更新版本:
 
  1. ;|
  2.    Curved Leader
  3.    By Lee McDonnell
  4.    31.12.2008
  5. |;
  6. ; Version 2  ~  Added Variable Menu.
  7. (defun c:cl () (c:CurvedLeader)) ; Program Shortcut
  8. (defun c:CurvedLeader (/ *error* varlist oldvars pl vlist stpt enpt ang pt ltxt)
  9.    ;;     --- Error Trap ---
  10.    (defun *error* (msg)
  11.    (mapcar 'setvar varlist oldvars)
  12.    (if (= msg "")
  13.        (princ "\nLeader Constructed.")
  14.        (princ (strcat "\n" (strcase msg)))
  15.    ) ;_  end if
  16.    (princ)
  17.    ) ; end of *error*
  18.    (setq varlist (list "CMDECHO" "CLAYER" "PLINEWID")
  19.      oldvars (mapcar 'getvar varlist)
  20.    ) ; end setq
  21.    ;;     --- Error Trap ---
  22.    (or (getenv "CL:ARROWW") (setenv "CL:ARROWW" "2.0"))
  23.    (or (getenv "CL:ARROWL") (setenv "CL:ARROWL" "4.0"))
  24.    (or (getenv "CL:TEXTH") (setenv "CL:TEXTH" "2.5"))
  25.    (or (getenv "CL:TEXTO") (setenv "CL:TEXTO" "2.5"))
  26.    (alert
  27.    (strcat    "Type "CLSET" to Alter Base Variables.
  28.            \nCurrent Settings: \n\nArrow Width: "
  29.        (getenv "CL:ARROWW")
  30.        "\nArrow Length: "
  31.        (getenv "CL:ARROWL")
  32.        "\nText Height: "
  33.        (getenv "CL:TEXTH")
  34.        "\nText Offset: "
  35.        (getenv "CL:TEXTO")
  36.    ) ;_  end strcat
  37.    ) ;_  end alert
  38.    (defun makelay (x y)
  39.    (if (not (tblsearch "Layer" x))
  40.        (command "-layer" "m" x "c" y x "")
  41.    ) ;_  end if
  42.    ) ;_  end defun
  43.    (defun polyvert (z)
  44.    (mapcar 'cdr (vl-remove-if '(lambda (x) (/= 10 (car x))) (entget z)))
  45.    ) ;_  end defun
  46.    (setvar "cmdecho" 0)
  47.    (vl-load-com)
  48.    (mapcar 'makelay '("LEADER" "LEADER-TEXT") '("2" "2"))
  49.    (setvar "clayer" "LEADER")
  50.    (prompt "\nConstruct Leader... ")
  51.    (setvar "PLINEWID" 0.0)
  52.    (command "_pline")
  53.    (while (> (getvar "cmdactive") 0) (command pause))
  54.    (setq pl (entlast))
  55.    (setq vlist (polyvert pl))
  56.    (command "_pedit" pl "S" "")
  57.    (setq stpt (car vlist)
  58.      enpt (last vlist)
  59.      ang  (angle stpt (cadr vlist))
  60.    ) ;_  end setq
  61.    (command "_pline"
  62.         stpt
  63.         "W"
  64.         "0.0"
  65.         "2.0"
  66.         (polar stpt ang 4.0)
  67.         ""
  68.    ) ;_  end command
  69.    (setq pt (polar enpt 0 2.5))
  70.    (if    (/= (setq ltxt (getstring t "\nSpecify Text for Leader: ")) "")
  71.    (entmake
  72.        (list '(0 . "TEXT")
  73.          '(8 . "LEADER-TEXT")
  74.          (cons 10 pt)
  75.          (cons 40 2.5)
  76.          (cons 1 ltxt)
  77.          '(50 . 0.0)
  78.          '(7 . "STANDARD")
  79.          '(71 . 0)
  80.          '(72 . 0)
  81.          '(73 . 2)
  82.          (cons 11 pt)
  83.        ) ; end list
  84.    ) ; end entmake
  85.    (alert "Blank Leader Created.")
  86.    ) ;_  end if
  87.    (*error* "")
  88.    (princ)
  89. ) ;_  end defun
  90. (princ "\nCurved Leader by Lee McDonnell Loaded. Type "CL" to Invoke.")
  91. (defun c:clset (/ arw arl txth txto)
  92.    (or (getenv "CL:ARROWW") (setenv "CL:ARROWW" "2.0"))
  93.    (or (getenv "CL:ARROWL") (setenv "CL:ARROWL" "4.0"))
  94.    (or (getenv "CL:TEXTH") (setenv "CL:TEXTH" "2.5"))
  95.    (or (getenv "CL:TEXTO") (setenv "CL:TEXTO" "2.5"))
  96.    (alert (strcat "Current Settings: \n\nArrow Width: "
  97.           (getenv "CL:ARROWW")
  98.           "\nArrow Length: "
  99.           (getenv "CL:ARROWL")
  100.           "\nText Height: "
  101.           (getenv "CL:TEXTH")
  102.           "\nText Offset: "
  103.           (getenv "CL:TEXTO")
  104.       ) ;_  end strcat
  105.    ) ;_  end alert
  106.    (if    (setq arw (getreal (strcat "Specify Arrow Width <"
  107.                   (getenv "CL:ARROWW")
  108.                   "> : "
  109.               ) ;_  end strcat
  110.          ) ;_  end getreal
  111.    ) ;_  end setq
  112.    (setenv "CL:ARROWW" (rtos arw))
  113.    ) ;_  end if
  114.    (if    (setq arl (getreal (strcat "Specify Arrow Length <"
  115.                   (getenv "CL:ARROWL")
  116.                   "> : "
  117.               ) ;_  end strcat
  118.          ) ;_  end getreal
  119.    ) ;_  end setq
  120.    (setenv "CL:ARROWL" (rtos arl))
  121.    ) ;_  end if
  122.    (if    (setq txth (getreal (strcat "Specify Text Height <"
  123.                    (getenv "CL:TEXTH")
  124.                    "> : "
  125.                ) ;_  end strcat
  126.           ) ;_  end getreal
  127.    ) ;_  end setq
  128.    (setenv "CL:TEXTH" (rtos txth))
  129.    ) ;_  end if
  130.    (if    (setq txto (getreal (strcat "Specify Text Offset <"
  131.                    (getenv "CL:TEXTO")
  132.                    "> : "
  133.                ) ;_  end strcat
  134.           ) ;_  end getreal
  135.    ) ;_  end setq
  136.    (setenv "CL:TEXTO" (rtos txto))
  137.    ) ;_  end if
  138.    (princ "\nBase Variables Set.")
  139.    (princ)
  140. ) ;_  end defun
回复

使用道具 举报

57

主题

351

帖子

294

银币

后起之秀

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

铜币
285
发表于 2022-7-6 16:33:19 | 显示全部楼层
谢谢你的信息。我运行了它们,它们似乎做了几乎相同的事情,我只是想确保在删除一个之前,其中没有任何额外的内容。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 18:23 , Processed in 0.423963 second(s), 64 queries .

© 2020-2025 乐筑天下

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