找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1663|回复: 14

[LISP程序]:关于块内实体

[复制链接]
发表于 2006-7-4 10:08:04 | 显示全部楼层 |阅读模式

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

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

×
有一个块内由一个PLINE和一个TEXT组成,要在没有炸开块的情况下
能修改PLINE和修改TEXT,请高手指点一下
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-7-6 13:40:59 | 显示全部楼层
试试这个
命令: (block-get-allztylist (cdr (assoc 2 (entget (car (entsel))))))
选择对象: (<图元名: 7eddcf18> <图元名: 7eddcf10> <图元名: 7eddcf08> <图元名:
7eddcee0> <图元名: 7eddced8> <图元名: 7eddced0> <图元名: 7eddcec8> <图元名:
7eddcec0> <图元名: 7eddceb8> <图元名: 7eddceb0> <图元名: 7eddcea8> <图元名:
7eddcea0> <图元名: 7eddce98> <图元名: 7eddce90> <图元名: 7eddce88>)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2008-12-8 08:39:00 | 显示全部楼层
最初由 xjlong547 发布
[B]最近也正在想办法改块内的实体 [/B]

  1. ;;循环点选改块内实体示例 author: eachy , 2008.12.8
  2. (defun c:t1 (/ e ss ssl i )
  3.   (while (and (setq e (nentsel "\nPick Insert: "))
  4.               (= (length e) 4)
  5.          );_保证点选为块内实体
  6.     (vla-put-color (vlax-ename->vla-object (car e)) acred);_修改颜色
  7.     (if        (setq ss (ssget "x" (list (assoc 2 (entget (last (last e)))))))
  8.       (progn
  9.         (setq ssl (sslength ss)
  10.               i          -1
  11.         )
  12.         (repeat        ssl
  13.           (entupd (ssname ss (setq i (1+ i))))
  14.         );_更新图中所有Insert
  15.       )
  16.     )
  17.   )
  18.   (princ)
  19. )

  1. ;;最后的表内可能有重复实体
  2. (defun AllEntityInBlkdef (blk / bn blkdef e typ el )
  3.   (setq        bn     (cdr (assoc 2 (entget blk)))
  4.         blkdef (tblobjname "block" bn)
  5.   )
  6.   (while (setq e (entnext blkdef))
  7.     (setq typ (cdr (assoc 0 (entget e))))
  8.     (if        (= typ "INSERT")
  9.       (setq el (append (ybl-blk-listent e) el))
  10.       (setq el (cons e el))
  11.     )
  12.     (setq blkdef e)
  13.   )
  14.   el
  15. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2008-12-13 07:49:43 | 显示全部楼层

  1.   [FONT=courier new]
  2. (defun th-subelst-blk (blkname / blk lst)
  3.   (setq blk (vla-item (th-doccollection 'blocks) blkname))
  4.   (vlax-for each blk (if (/= (vla-get-objectname each) "AcDbBlockReference")
  5.                        (setq lst (cons each lst))
  6.                        (setq lst (append
  7.                                    (th-subelst-blk (vla-get-name each))
  8.                                    lst
  9.                                  )
  10.                        )
  11.                      )
  12.   )
  13.   lst
  14. )
  15. (defun hao-subelst-blk (ename / elst)
  16.   (if (and
  17.         ename
  18.         (setq elst (entget ename))
  19.       )
  20.     (if (= "BLOCK" (cdr (assoc 0 elst)))
  21.       (hao-subelst-blk (th-get-dxf -2 (tblsearch "BLOCK"
  22.                                                  (th-get-dxf 2 elst)
  23.                                       )
  24.                        )
  25.       )
  26.       (if (= "INSERT" (cdr (assoc 0 elst)))
  27.         (append
  28.           (hao-subelst-blk (th-get-dxf -2 (tblsearch "BLOCK"
  29.                                                      (th-get-dxf 2 elst)
  30.                                           )
  31.                            )
  32.           )
  33.           (hao-subelst-blk (entnext ename))
  34.         )
  35.         (cons ename (hao-subelst-blk (entnext ename)))
  36.       )
  37.     )
  38.   )
  39. )
  40. (defun t2-subelst-blk (blkname)
  41.   (hao-subelst-blk (tblobjname "BLOCK" blkname))
  42. )
  43. (defun th-get-dxf (g e)
  44.   (cond
  45.     ((= 'ename (type e))
  46.       (cdr (assoc g (entget e)))
  47.     )
  48.     ((= 'list (type e))
  49.       (cdr (assoc g e))
  50.     )
  51.   )
  52. )
  53.   [/FONT]

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

使用道具 举报

发表于 2009-1-8 23:33:42 | 显示全部楼层
6楼程序缺少(ybl-blk-listent)函数;9楼程序缺少函数 (th-doccollection)。希望能补全!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2009-1-9 08:04:32 | 显示全部楼层

  1.   [FONT=courier new]
  2. (defun th-doccollection (typename)
  3.   (vlax-get-property (thactdoc) typename)
  4. )
  5. (defun thactdoc ()
  6.   (cond
  7.     (%$*thactdoc*$%)
  8.     (setq %$*thactdoc*$% (vla-get-activedocument (thacadobj)))
  9.   )
  10. )
  11. (defun thacadobj ()
  12.   (cond
  13.     (%$*thacadobj*$%)
  14.     (setq %$*thacadobj*$% (vlax-get-acad-object))
  15.   )
  16. )

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

使用道具 举报

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2009-1-9 14:46:11 | 显示全部楼层
最初由 jx2008 发布
[B]6楼程序缺少(ybl-blk-listent)函数;9楼程序缺少函数 (th-doccollection)。希望能补全! [/B]

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-26 02:16 , Processed in 0.518671 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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