乐筑天下

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

[编程交流] 按修复更新属性编号

[复制链接]

7

主题

15

帖子

7

银币

初来乍到

Rank: 1

铜币
37
发表于 2022-7-5 15:51:51 | 显示全部楼层 |阅读模式
我一直在寻找,但我认为我想要的措辞可能会让这个很难找到。
 
我有一个块的多个副本,该块的属性为高程值。即:
 
524.05
517.03

 
我需要为所有属性值添加0.3。
所以新的高度应该是
524.35
517.33
 
有人能用Lisp程序做到这一点吗?
 
谢谢
 
法学博士
回复

使用道具 举报

7

主题

15

帖子

7

银币

初来乍到

Rank: 1

铜币
37
发表于 2022-7-5 16:23:16 | 显示全部楼层
好的,刚刚找到这个。。似乎很管用
 
https://www.theswamp.org/index.php?topic=35246.0
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 17:15:11 | 显示全部楼层
写起来很有趣:
 
  1. (defun C:test ( / enx tag n nm SS i o )
  2. (and
  3.    (setq enx (car (nentsel "\nPick Attribute from block: ")))
  4.    (member '(0 . "ATTRIB") (setq enx (entget enx)))
  5.    (setq tag (cdr (assoc 2 enx))) '(87 114 105 116 116 101 110 32 98 121 32 71 114 114 114)
  6.    (setq n (cond ( (getreal (strcat "\nValue to add <1>: ")) ) ( 1 ) ))
  7.    (princ (strcat "\nSelect "" (setq nm (vla-get-EffectiveName (vlax-ename->vla-object (cdr (assoc 330 enx))))) "" blocks: "))
  8.    (setq SS (ssget "_:L" (list '(0 . "INSERT")(cons 2 (strcat "`**," nm)) '(66 . 1))))
  9.    (repeat (setq i (sslength SS))
  10.      (and (= nm (vla-get-EffectiveName (setq o (vlax-ename->vla-object (ssname SS (setq i (1- i)))))))
  11.        (vl-some
  12.          (function
  13.            (lambda (x / v)
  14.              (cond
  15.                ( (not (vlax-read-enabled-p x)) nil)
  16.                ( (/= tag (vla-get-TagString x)) nil)
  17.                ( (vl-catch-all-error-p (setq v (vl-catch-all-apply 'read (list (vla-get-TextString x))))) )
  18.                ( (not (vlax-write-enabled-p x)) )
  19.                ( (progn (vla-put-TextString x (vl-string-right-trim "." (vl-string-right-trim "0" (vl-prin1-to-string (+ n v))))) T) )
  20.              )
  21.            )
  22.          )
  23.          (vlax-invoke o 'GetAttributes)
  24.        )
  25.      )
  26.    )
  27. )
  28. (princ)
  29. )
  30. (vl-load-com)(princ)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 21:31 , Processed in 0.551195 second(s), 69 queries .

© 2020-2025 乐筑天下

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