明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2584|回复: 3

[推荐] 块属性编辑程序!

[复制链接]
发表于 2009-4-24 09:09:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2009-4-24 11:33:40 编辑

以解决一部分!但不知道如何取得属性块内的“某个特定属性标记定义”索引号(既位置号)!

(setq ent (nth n attlst))  红字部分!


(DEFUN DTR (DEG /) (* PI (/ DEG 180.0)));---------------------------------
(DEFUN RTD (RAD /) (/ (* 180.0 RAD) PI));-------------------------------
(defun c:chdef ()
  (vl-load-com)
  (setq    entbatt    (entsel "\n选取带属性图块: <退出>: ")
    a0    (car entbatt)
    a1e    (entget a0)
    a1n    (assoc 2 a1e)
    szj    (ssadd a0)
  )
  (setq    ssa1 (ssget "x" (list a1n))
    sn   (sslength ssa1)
  )
  (sssetfirst ssa1 szj)
  (princ (strcat "\n您选择的块名为:"
         (cdr a1n)
         "; 共有 "
         (itoa sn)
         "个。 "
     )
  )
  (princ "\n")
  (princ)
  (Setq str0 (getstring "\n请输入要修改的属性标记: "))
  (Setq str1 (getstring "\n请输入新的属性值: "))
  (setq n 0)
  (repeat sn
    (progn
      (setq a1on (ssname ssa1 n))
      (setq lst (entget a1on))
      (setq r (cdr (assoc 2 lst)))
      (if (= r str0)
    (alert r)
    (progn
      (setq wattvla (vlax-ename->vla-object a1on))
      (setq    attlst (vlax-safearray->list
             (vlax-variant-value
               (vla-getattributes wattvla)
             )
               )
      )
      (setq ent (nth 2 attlst))
      (vla-put-TextString ent str1)
    )
      )
    )
    (setq n (1+ n))
  )
  (sssetfirst nil nil)
  (alert (strcat "您选择的块名为:"
         (cdr a1n)
         "; \n共有 "
         (itoa n)
         " 个 \n被改变"
     )
  )
  (princ)
)
 楼主| 发表于 2009-4-24 13:38:00 | 显示全部楼层
<br/>就是要<br/><br/>如何获取属性块指定的属性标记、且修改它的值!
 楼主| 发表于 2009-4-27 14:26:00 | 显示全部楼层
别沉底了!自己顶一下!
发表于 2010-10-8 18:27:00 | 显示全部楼层

你插一个块进图了不就可以看到了吗?

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-10-2 12:27 , Processed in 0.172213 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表