乐筑天下

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

[编程交流] 复制和增加属性

[复制链接]

5

主题

18

帖子

13

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 16:02:14 | 显示全部楼层 |阅读模式
你好。
 
在复制一些文本时,是否需要增加一个字体。比如,我经常需要在图纸上给墙编号。所以,我复制文本EW 01(外墙01),粘贴时,我希望它成为EW 02。
 
谢谢你的帮助。
回复

使用道具 举报

9

主题

167

帖子

163

银币

初来乍到

Rank: 1

铜币
43
发表于 2022-7-5 16:07:03 | 显示全部楼层
 
我用这个:
 
  1. ;;; Replaces selected attribute value with new one and adds sequential number at the end
  2. ;;; Author paulmcz Copyright© 2006
  3. (defun c:qs (/ ans st nw oerr e1 e2 natt)
  4. (setq oerr *error*)
  5. (defun *error* (msg)
  6.    (princ "\n ERROR!")
  7.    (setq *error* oerr)
  8.    (command)
  9.    (princ)
  10. )
  11. (if ns
  12.    (princ (strcat "\n Previous text = " ns (itoa stt)))
  13. )
  14. (if ns
  15.    (setq
  16.      ans (getstring
  17.     "\n Keep previous text? [ENTER = yes]: "
  18.   )
  19.    )
  20. )
  21. (if (= ans "")
  22.    ()
  23.    (setq ns nil
  24.   st nil
  25.    )
  26. )
  27. (if ns
  28.    ()
  29.    (setq ns (getstring t "\n Type in new text: "))
  30. )
  31. (if stt
  32.    ()
  33.    (setq stt 1)
  34. )
  35. (princ "\n Start with number < ")
  36. (princ stt)
  37. (princ " >?: ")
  38. (setq st (getint))
  39. (if (= st nil)
  40.    (setq st stt)
  41.    (setq stt st)
  42. )
  43. (setq nw (strcat ns (itoa st)))
  44. (setq e1 (nentsel "\n Select attribute, do not miss: "))
  45. (while e1
  46.    (setq e2 (entget (setq natt (car e1))))
  47.    (entmod (subst (cons 1 nw) (assoc 1 e2) e2))
  48.    (entupd natt)
  49.    (if        (eq (cdr (assoc 0 e2)) "ATTRIB")
  50.      (setq st (+ 1 st))
  51.      (princ "\n You missed! ")
  52.    )
  53.    (if        st
  54.      (setq nw        (strcat ns (itoa st))
  55.     stt        st
  56.      )
  57.    )
  58.    (setq e1 (nentsel "\n Select next attribute or [ENTER] to exit: "))
  59. )
  60. (princ)
  61. )
  62. (prompt "\n Type > qs < to update attributes: ")

 
它不是为复制和粘贴而制作的,但其工作方式类似。试试看。
回复

使用道具 举报

5

主题

18

帖子

13

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 16:12:48 | 显示全部楼层
 
 
谢谢你,伙计。
 
顺便说一句,当它提示选择属性时,我应该选择(而不是错过)什么?
 
我以为它是文本字符串,所以它会保持所需的样式,但每当我选择字符串时,它都会提示“你错过了!”
回复

使用道具 举报

9

主题

167

帖子

163

银币

初来乍到

Rank: 1

铜币
43
发表于 2022-7-5 16:13:10 | 显示全部楼层
选择要更新或更改的属性值
回复

使用道具 举报

5

主题

18

帖子

13

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 16:16:49 | 显示全部楼层
 
嗯,但我做错了什么?
 
我选择了要更新的文本字符串,它表示您错过了!
 
在我的例子中,它确实更改了EW1的字符串,但我选择的下一个字符串再次变为EW1,所以它就这样了。
 
我希望它像,第一个EW1,下一个字符串,EW2。你知道,就像那样。
 
这就是它的工作原理,对吗?
回复

使用道具 举报

9

主题

167

帖子

163

银币

初来乍到

Rank: 1

铜币
43
发表于 2022-7-5 16:22:10 | 显示全部楼层
附图标题栏中的绿色文本均为属性。如果您启动例程并单击任何一个绿色文本,它应该会更新为下一个在末尾有递增数字的文本。试试看,让我知道它是否适用于所附的图纸。
10DX05,5HX2LXMELRWA32959。图纸
回复

使用道具 举报

5

主题

18

帖子

13

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 16:26:02 | 显示全部楼层
 
哦,这就是你所说的属性。
 
嗯,我真的不知道如何管理它们。我将查看有关使用属性创建块的Autocad帮助文件。
 
谢谢你的帮助。
回复

使用道具 举报

9

主题

167

帖子

163

银币

初来乍到

Rank: 1

铜币
43
发表于 2022-7-5 16:27:07 | 显示全部楼层
如果您只想插入注释增量文本,请尝试我的编号例程。阅读代码的前几行,看看它能做什么。
编号。lsp
回复

使用道具 举报

5

主题

18

帖子

13

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 16:32:17 | 显示全部楼层
 
这正是我想要的。惊人的Lisp程序。
 
谢谢你的帮助。
回复

使用道具 举报

9

主题

167

帖子

163

银币

初来乍到

Rank: 1

铜币
43
发表于 2022-7-5 16:36:29 | 显示全部楼层
不客气
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-3 17:46 , Processed in 2.521106 second(s), 72 queries .

© 2020-2025 乐筑天下

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