乐筑天下

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

[编程交流] 分解为Tex的属性标记

[复制链接]

170

主题

347

帖子

174

银币

中流砥柱

Rank: 25

铜币
870
发表于 2022-7-6 12:31:15 | 显示全部楼层 |阅读模式
是否有程序将分解的属性标记更改为
整个图形是否显示在屏幕上?该程序可能在
lisp或VBA。希望这将是一个能够改变
一次绘制整个图形,但其他选择方法将很有用。
有人试过为分解的标签制作程序吗?。
 
非常感谢。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:45:31 | 显示全部楼层
为什么不使用BURST-in Express工具来分解标签
回复

使用道具 举报

5

主题

26

帖子

21

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 12:54:17 | 显示全部楼层
是的,我也经常使用突发命令。
 
试试这个
 
  1. (defun C:BURST_TO_GROUPS
  2.    (/   sset   loop   ENAME   count
  3.     space   tlmde   dynmde  len   num
  4.     OBJ   NAME   VLA-OBJ NEWNAME TMP
  5.     lst
  6.    )
  7. (setq tlmde  (getvar "TILEMODE")
  8. dynmde (getvar "DYNMODE")
  9. ) ;_ end of setq
  10. (setvar "CMDECHO" 0)
  11. (setvar "DYNMODE" 0)
  12. (setq loop 1
  13. count 0
  14. ) ;_ end of setq
  15. (command "_AUDIT" "_Yes")
  16. (if (null border_tmp)
  17.    (SEARCH_BORDER)
  18. ) ;_ end of if
  19. (while (and (< loop 4)
  20.       (setq lst (acet-table-name-list (list "BLOCK" 1 4 16)))
  21. ) ;_ end of and
  22.    (if border_tmp
  23.      (setq lst (vl-remove border_name lst))
  24.    ) ;_ end of if
  25.    (if title_tmp
  26.      (setq lst (vl-remove title_name lst))
  27.    ) ;_ end of if
  28.    (setq len (length lst))
  29.    (while (> len 0)
  30.      (setq sset (ssget "_X"
  31.   (list (cons 0 "INSERT")
  32.         (cons 2 (nth (setq len (1- len)) lst))
  33.   ) ;_ end of list
  34.   ) ;_ end of ssget
  35.      ) ;_ end of setq
  36.      (if (and sset
  37.        (setq obj (ssname sset 0))
  38.        (= (cdr (assoc 0 (entget obj))) "INSERT")
  39.        (setq name (cdr (assoc 2 (entget obj))))
  40.        (setq VLA-OBJ (vlax-ename->vla-object obj))
  41.   ) ;_ end of and
  42. (progn
  43.   (setq nbr 0)
  44.   (while (tblobjname
  45.     "BLOCK"
  46.     (setq newname (strcat name "_" (itoa nbr)))
  47.   ) ;_ end of tblobjname
  48.     (setq nbr (1+ nbr))
  49.   ) ;_ end of while
  50.   (and
  51.     (vlax-method-applicable-p VLA-OBJ 'ConvertToStaticBlock)
  52.     (not (vl-catch-all-error-p
  53.     (vl-catch-all-apply
  54.       'vla-ConvertToStaticBlock
  55.       (list VLA-OBJ newname)
  56.     ) ;_ end of vl-catch-all-apply
  57.   ) ;_ end of vl-catch-all-error-p
  58.     ) ;_ end of not
  59.     (not
  60.       (vl-catch-all-error-p
  61. (vl-catch-all-apply
  62.    'vlax-put-property
  63.    (list
  64.      (vla-item
  65.        (vla-get-blocks
  66.   (vla-get-activedocument (vlax-get-acad-object))
  67.        ) ;_ end of vla-get-blocks
  68.        newname
  69.      ) ;_ end of vla-item
  70.      'Explodable
  71.      :vlax-true
  72.    ) ;_ end of list
  73. ) ;_ end of vl-catch-all-apply
  74.       ) ;_ end of vl-catch-all-error-p
  75.     ) ;_ end of not
  76.   ) ;_ end of and
  77.   (command "._PURGE" "_Block" name "_No")
  78.   (if newname
  79.     (setq sset
  80.     (ssget "_X" (list (cons 0 "INSERT") (cons 2 newname)))
  81.     ) ;_ end of setq
  82.   ) ;_ end of if
  83.   (if sset
  84.     (progn
  85.       (setq ENAME (ssname sset 0)
  86.      space (cdr (assoc 410 (entget ENAME)))
  87.       ) ;_ end of setq
  88.       (if (= space "Model")
  89. (command "_TILEMODE" "1")
  90. (command "_TILEMODE" "0")
  91.       ) ;_ end of if
  92.       (BURST-ONE ENAME)
  93.       (command "._PURGE" "_Block" NEWNAME "_No")
  94.       (setq count (1+ count))
  95.       (command
  96. "_-GROUP"
  97. "_Create"
  98. (strcat (substr (rtos (getvar "CDATE") 2 6) 3 6)
  99.   (substr (rtos (getvar "CDATE") 2 6) 11 6)
  100.   "_"
  101.   (itoa count)
  102. ) ;_ end of strcat
  103. "_Block"
  104. "_P"
  105. ""
  106.       ) ;_ end of command
  107.     ) ;_ end of progn
  108.   ) ;_ end of if
  109. ) ;_ end of progn
  110.      ) ;_ end of if
  111.    ) ;_ end of while
  112.    (setq loop (1+ loop))
  113. ) ;_ end of while
  114. (command "_AUDIT" "_Yes")
  115. (command "_TILEMODE" tlmde)
  116. (setvar "DYNMODE" dynmde)
  117. (princ)
  118. ) ;_ end of defun
回复

使用道具 举报

170

主题

347

帖子

174

银币

中流砥柱

Rank: 25

铜币
870
发表于 2022-7-6 13:03:26 | 显示全部楼层
因此,burst将保留标记中的原始文本。
非常感谢。
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

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

铜币
238
发表于 2022-7-6 13:12:56 | 显示全部楼层
如果希望属性值成为文本,则“突发”将起作用。如果希望将属性提示视为文本,则需要其他内容。
 
几个月前,当我需要它的时候,有人给了我一个Lisp程序的口吻,但我不是一杯好威士忌的另一半去寻找它。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:21:42 | 显示全部楼层
 
我认为这有点相关(由David Bethel修改的代码):
 
  1. (defun c:txt2atta (/ ss i en ed)
  2. (vl-load-com)
  3. (while (not ss)
  4.         (princ "\nSelect TEXT to Convert to ATTDEF:   ")
  5.         (setq ss (ssget (list (cons 0 "TEXT")
  6.                               (cons 410 (getvar "CTAB"))))))
  7. (setq i (sslength ss))
  8. (while (not (minusp (setq i (1- i))))
  9.         (setq en (ssname ss i)
  10.               ed (entget en)
  11.               ed (subst (cons 1
  12.                           (vl-string-subst "_" " "
  13.                             (cdr (assoc 1 ed))))
  14.                         (assoc 1 ed) ed))
  15.    (entmake (list (cons 0 "ATTDEF")
  16.                   (assoc 8 ed)
  17.                   (assoc 10 ed)
  18.                   (assoc 11 ed)
  19.                   (assoc 7 ed)
  20.                   (assoc 40 ed)
  21.                   (assoc 41 ed)
  22.                   (assoc 50 ed)
  23.                   (assoc 51 ed)
  24.                   (cons 70 0)
  25.                   (assoc 71 ed)
  26.                   (assoc 72 ed)
  27.                   (cons 74 (cdr (assoc 73 ed)))
  28.                   (assoc 210 ed)
  29.                   (assoc 1 ed)
  30.                   (cons 2 (cdr (assoc 1 ed)))
  31.                   (cons 3 (cdr (assoc 1 ed)))
  32.                   (if (assoc 6 ed) (assoc 6 ed)'(6 . "BYLAYER"))
  33.                   (if (assoc 39 ed) (assoc 39 ed)'(39 . 0))
  34.                   (if (assoc 62 ed) (assoc 62 ed)'(62 . 256))))
  35.    (entdel en))
  36. (redraw)
  37. (prin1))
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

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

铜币
238
发表于 2022-7-6 13:28:14 | 显示全部楼层
李,这不是从文本中生成属性吗?我只是从标题上猜测,没有时间好好阅读。
 
无论如何,为了完整起见,这是我的帖子。。。
http://www.cadtutor.net/forum/showthread.php?t=36513&highlight=attribute+文本
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:31:49 | 显示全部楼层
啊,当然了-搞错了
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-6-7 17:46 , Processed in 0.557470 second(s), 69 queries .

© 2020-2025 乐筑天下

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