乐筑天下

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

[编程交流] 属性更改wro

[复制链接]

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-5 20:43:34 | 显示全部楼层
奶酪,
 
请阅读代码发布指南并编辑您的帖子,将代码包含在代码标签中。
回复

使用道具 举报

5

主题

34

帖子

29

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 20:47:03 | 显示全部楼层
对不起,先生SLW210,我将编辑我的帖子
谢谢你,先生,
回复

使用道具 举报

5

主题

34

帖子

29

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 20:50:32 | 显示全部楼层
 
 
Tharwat爵士,已确认动态闭塞
 
 
先生,我怎样才能更改这个块,以便使用您的代码?
回复

使用道具 举报

5

主题

34

帖子

29

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 20:53:49 | 显示全部楼层
我设法找到了如何将动态块更改为静态块,
但是我仍然不能使用chageattribute代码。
 
 
这是否意味着我们不能在AutoCAD 2012中使用lsp?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 20:56:58 | 显示全部楼层
 
我已经修改了你的代码并添加了一些函数,你没有试过吗?
回复

使用道具 举报

5

主题

34

帖子

29

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 21:00:36 | 显示全部楼层
 
 
Tharwat爵士有个错误
快照请参见附件
211139gs9va5ra8s4zsarz.jpg
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 21:04:54 | 显示全部楼层
 
 
我也已经给了你一个注释,你需要将函数changeAttribValue添加到我修改过的程序中,明白吗?
回复

使用道具 举报

5

主题

34

帖子

29

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 21:05:31 | 显示全部楼层
 
 
 
我不知道把加法函数放在哪里,
这通常是步骤
一旦我加载lsp
然后输入命令
_查特里布
块名:__uuu(它要求块名)
旧值:__;(输入块名后,它会立即请求旧值)
新值:__uu(与前一个相同,它立即请求新值)
然后在我输入我想要的新值后出错
我可以在这个命令的哪里添加changeattribvalue?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 21:09:52 | 显示全部楼层
  1. (defun c:CHATTRIB (/ ss sn a attag bname oldval newval)
  2. (defun changeAttribValue (ent atttag oldval newval / entl)
  3.    (while (and ent
  4.                (/= "SEQEND" (cdr (assoc 0 (setq entl (entget ent)))))
  5.           )
  6.      (and (= atttag (cdr (assoc 2 entl)))
  7.           (= oldval (cdr (assoc 1 entl)))
  8.           (entmod (subst (cons 1 newval) (assoc 1 entl) entl))
  9.           (entupd ent)
  10.           (mapcar 'princ (list "\n" oldval " -> " newval))
  11.      )
  12.      (setq ent (entnext ent))
  13.    )
  14. )
  15. (and (/= "" (setq bname (getstring "\nBlock name: ")))
  16.       (/= "" (setq attag (getstring T "\nTag: ")))
  17.       (/= "" (setq oldval (getstring T "\nOld value: ")))
  18.       (/= "" (setq newval (getstring T "\nNew value: ")))
  19.       (setq ss (ssget "_X"
  20.                       (list '(0 . "INSERT")
  21.                             '(66 . 1)
  22.                             (cons 2 (strcat "`*U*," bname))
  23.                       )
  24.                )
  25.       )
  26.       (repeat (setq a (sslength ss))
  27.         (if (eq (vla-get-effectivename
  28.                   (vlax-ename->vla-object
  29.                     (setq sn (ssname ss (setq a (1- a))))
  30.                   )
  31.                 )
  32.                 bname
  33.             )
  34.           (changeAttribValue
  35.             sn
  36.             attag
  37.             oldval
  38.             newval
  39.           )
  40.         )
  41.       )
  42. )
  43. (princ)
  44. )(vl-load-com)
回复

使用道具 举报

5

主题

34

帖子

29

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 21:11:51 | 显示全部楼层
Tharwat先生,非常感谢您所做的工作,我终于可以用您的代码更改属性值了
非常感谢你。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 09:01 , Processed in 0.761987 second(s), 72 queries .

© 2020-2025 乐筑天下

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