明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1307|回复: 6

[提问] 块内属性值如何提出

[复制链接]
发表于 2016-4-5 23:57:41 | 显示全部楼层 |阅读模式

如何编写才能提出里面的数值
能写个例子分享吗




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2016-4-6 09:24:20 | 显示全部楼层
论坛已经有很多,搜一下就是了。
发表于 2016-4-6 12:58:39 | 显示全部楼层
(defun c:att (/ ss cnt attrib firstent attss count flag enttype attent attlist)
  (setq        ss         (ssget '((0 . "INSERT")))
        cnt         0
        firstent (ssname ss cnt)
        attss         '()
        )
  (setq count (sslength ss))
  (repeat count
    (setq flag (cdr (assoc 66 (entget firstent)))
          )
    (if        flag
      (progn
        (while (/= (setq enttype (cdr (assoc 0 (entget firstent))))
                   "SEQEND"
                   )
          (setq attent (entnext firstent))
          (setq attrib (cdr (assoc 1 (entget attent))))
          (if (/= attrib nil)
            (setq attss (append attss (list attrib)))
            )
          (setq firstent attent)
          )
        )
      )
    (setq cnt           (+ 1 cnt)
          firstent (ssname ss cnt)
          )
    (if        (= cnt 1)
      (setq attlist (list attss)
            attss '()
            )
      (setq attlist (append attlist (list attss))
            attss '()
            )
      )
    )
  )
发表于 2016-5-7 19:45:16 | 显示全部楼层
出于明经,还与明经,
这是在明经以前一位前辈的程序,
(Defun c:tt(/ ename LOOP elist)
  (setq ename (entnext (car (entsel))))
  (setq LOOP T)
  (While (and ename LOOP)
    (setq elist (entget ename))
    (if (= (cdr (assoc 0 elist)) "ATTRIB")
        (progn
           (princ (cdr (assoc 2 elist)))
           (princ " ----> ")
           (princ (cdr (assoc 1 elist)))
           (princ "\n")
        )
        (setq LOOP nil)
    )
    (setq ename (EntNext ename))
  )
  (princ)
)
发表于 2019-6-8 13:09:09 | 显示全部楼层
先存着,以后备用
发表于 2022-9-25 00:25:53 | 显示全部楼层
feng83 发表于 2016-5-7 19:45
出于明经,还与明经,
这是在明经以前一位前辈的程序,
(Defun c:tt(/ ename LOOP elist)

感谢大佬分享
发表于 2022-9-25 14:46:21 | 显示全部楼层
本帖最后由 llsheng_73 于 2022-9-25 14:49 编辑

  1. (defun getatts(blk)
  2.   (if(equal(VL-CATCH-ALL-APPLY'vlax-get-property(list(setq blk(if(=(type blk)'ename)(vlax-ename->vla-object blk)blk))'HasAttributes)):vlax-true)
  3.     (mapcar(function(lambda(x)(list(vla-get-TagString x)(vla-get-TextString x)x)))(vlax-safearray->list(vlax-variant-value(vlax-invoke-method blk'GetAttributes))))))

如果给定块参照图元或对象有属性,返回属性表((TagString TextString 属性对象)),将属性对象一起返回便于后续对它进行修改
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 20:09 , Processed in 0.177972 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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