找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3147|回复: 27

[每日一码] 给动态快增加属性定义并同时对引用的块增加属性实体

[复制链接]

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-9-8 13:15:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
;;给动态快增加属性定义
  1. (defun c:addattribs ( / blk def )
  2.     (while
  3.         (not
  4.             (or (= "" (setq blk (getstring t "\nName of block to update: ")))
  5.                 (tblsearch "BLOCK" blk)
  6.             )
  7.         )
  8.         (princ (strcat "\nBlock \"" blk "\" not found."))
  9.     )
  10.     (if (/= "" blk)
  11.         (progn
  12.             (setq def (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) blk))
  13.             (vla-addattribute def
  14.                 (getvar 'textsize)
  15.                 acattributemodelockposition
  16.                 "New Attribute 1"
  17.                 (vlax-3D-point 0 0)
  18.                 "NEW_TAG1"
  19.                 "New Value 1"
  20.             )
  21.             (vla-addattribute def
  22.                 (getvar 'textsize)
  23.                 acattributemodelockposition
  24.                 "New Attribute 2"
  25.                 (vlax-3D-point 0 (- (* 1.5 (getvar 'textsize))))
  26.                 "NEW_TAG2"
  27.                 "New Value 2"
  28.             )
  29.             (command "_.attsync" "_N" blk)
  30.         )
  31.     )
  32.     (princ)
  33. )
  34. (vl-load-com) (princ)


另一个方法:

[it618postdisplay>0]
  1. (defun c:adsk (/ ss pt i ent elist)
  2.   ; Get Entities
  3.     (while (not ss)
  4.     (princ "\nSelect Objects to Convert to Blocks:")
  5.     (setq ss (ssget '((-4 . "<NOT") (0 . "INSERT,POLYLINE,VIEWPORT") (-4 . "NOT>"))))
  6.     ) ;_  end while
  7.   ; Get Block Name and Base Point
  8.     (while (or (not bn)
  9.            (not (snvalid bn))
  10.        ) ;_  end or
  11.     (setq bn (getstring "Specify Block Name: "))
  12.     ) ;_  end while
  13.     (initget 1)
  14.     (setq pt (getpoint "Specify Base Point for Block: "))
  15. ;;; Create BLOCK Header
  16.     (entmake (list (cons 0 "BLOCK") (cons 10 pt) (cons 2 bn) (cons 70 0)))
  17. ;;;STEP THRU THE SET
  18.     (setq i (sslength ss))
  19.     (while (>= i (setq i (1- i)) 0)
  20.     (setq ent   (ssname ss i)
  21.           elist (entget ent)
  22.     ) ;_  end setq
  23.     (entmake elist)
  24.     ) ;_  end while
  25. ;;;FINISH THE BLOCK DEFINITION
  26.     (entmake (list (cons 0 "ENDBLK") (cons 8 "0")))
  27. ;;;Insert the Block & Delete Originals
  28.     (entmake (list (cons 0 "INSERT") (cons 2 bn) (cons 8 "0") (cons 10 pt)))
  29.     (command "_.ERASE" ss "")
  30.     (redraw)
  31.     (AddAttribs)   
  32.     (prin1)
  33. ) ;_  end defun
  34. ;;
  35. (defun addattribs ( / blk def)
  36.     (while
  37.         (not
  38.             (or (= "" (setq blk bn))
  39.                 (tblsearch "BLOCK" blk)
  40.             )
  41.         )
  42.         (princ (strcat "\nBlock \"" blk "\" not found."))
  43.     )
  44.     (if (/= "" blk)
  45.         (progn
  46.             (setq def (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) blk))
  47.             (vla-addattribute def
  48.                 (getvar 'textsize)
  49.                 acattributemodelockposition
  50.                 "New Attribute 1"
  51.                 (vlax-3D-point 0 0)
  52.                 "NEW_TAG1"
  53.                 "New Value 1"
  54.             )
  55.             (vla-addattribute def
  56.                 (getvar 'textsize)
  57.                 acattributemodelockposition
  58.                 "New Attribute 2"
  59.                 (vlax-3D-point 0 (- (* 1.5 (getvar 'textsize))))
  60.                 "NEW_TAG2"
  61.                 "New Value 2"
  62.             )
  63.             (command "_.attsync" "_N" blk)
  64.         )
  65.     )
  66.     (princ)
  67. )
  68. (vl-load-com) (princ)

[/it618postdisplay]

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 264个

财富等级: 日进斗金

发表于 2016-9-8 13:24:32 来自手机 | 显示全部楼层
看标题迷惑了,动态给块添加属性非给“动态块”添加属性

点评

应该跟动态块无关。  发表于 2017-6-30 10:42
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3199个

财富等级: 富可敌国

发表于 2016-9-8 14:04:00 | 显示全部楼层
看标题迷惑了,动态给块添加属性非给“动态块”添加属性


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2963个

财富等级: 家财万贯

发表于 2016-9-8 14:34:02 | 显示全部楼层
谢谢分享,回复学习
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5601个

财富等级: 富甲天下

发表于 2016-9-8 14:59:48 | 显示全部楼层
动态块,还没有接触过,谢谢版主
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5个

财富等级: 恭喜发财

发表于 2016-9-8 17:27:57 | 显示全部楼层
看标题迷惑了,动态给块添加属性非给“动态块”添加属性
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

发表于 2016-9-9 07:59:17 | 显示全部楼层
没太整明白啥意思啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 557个

财富等级: 财运亨通

发表于 2017-5-4 11:53:10 | 显示全部楼层
看看是不是可以给单独块对象添加属性
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6202个

财富等级: 富甲天下

发表于 2017-5-12 18:41:36 | 显示全部楼层
想学习学习动态块技术,感觉很难的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 39个

财富等级: 招财进宝

发表于 2017-5-14 09:42:56 | 显示全部楼层
想学习学习动态块技术,感觉很难的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 15个

财富等级: 恭喜发财

发表于 2017-5-17 15:46:00 | 显示全部楼层
需要学习 很富哦
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 15个

财富等级: 恭喜发财

发表于 2017-5-17 15:57:19 | 显示全部楼层
怎么调出 插件命令是多少?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2017-6-28 16:45:21 | 显示全部楼层
认真学习,增长知识
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5060个

财富等级: 富甲天下

发表于 2017-6-30 10:43:19 | 显示全部楼层
hhhhhhhhhhhhhhhhhhhhhhhhhhhh
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 41个

财富等级: 招财进宝

发表于 2017-11-9 10:31:28 | 显示全部楼层
               同时对块及其引用修改?那就是批量处理了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-14 19:40 , Processed in 0.266030 second(s), 56 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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