找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3005|回复: 18

[LISP程序]:把text转为属性图块

[复制链接]
发表于 2002-12-13 16:11:25 | 显示全部楼层 |阅读模式

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

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

×

  1. ;;把text转为属性图块
  2. ;;By LUCAS
  3. (defun C:C_DEF (/ HOLDECHO HOLDBLIP HOLDREQ SS SSS N A AA A1 A73 HH
  4.                 LST_210        LST_10
  5.                )

  6.   (defun DXF (A1 A2 /)
  7.     (setq ENT (cdr (assoc A1 A2)))
  8.   )

  9.   (defun GETATT        (E ATTNAME / N ATT E1 EN EN1 RSLT)
  10.     (setq EN (entget E)
  11.           E1 E
  12.     )
  13.     (if        (and (= (DXF 0 EN) "INSERT")
  14.              (= (DXF 66 EN) 1)
  15.         )
  16.       (progn
  17.         (setq E1  (entnext E1)
  18.               ATT (strcase ATTNAME)
  19.         )
  20.         (while (and E1
  21.                     (setq EN1 (entget E1))
  22.                     (= (DXF 0 EN1) "ATTRIB")
  23.                )
  24.           (setq RSLT (append RSLT (list (DXF -1 EN1))))
  25.           (setq E1 (entnext E1))
  26.         )
  27.       )
  28.     )
  29.     (setq N 0)
  30.     (repeat (length RSLT)
  31.       (entmod (subst (nth N LST_210)
  32.                      (assoc 210 (entget (nth N RSLT)))
  33.                      (entget (nth N RSLT))
  34.               )
  35.       )
  36.       (entmod (subst (nth N LST_10)
  37.                      (assoc 10 (entget (nth N RSLT)))
  38.                      (entget (nth N RSLT))
  39.               )
  40.       )
  41.       (setq N (1+ N))
  42.     )
  43.     (entupd (entlast))
  44.   )

  45.   (command "_.undo" "_group")
  46.   (setq HOLDECHO (getvar "cmdecho"))
  47.   (setq HOLDBLIP (getvar "blipmode"))
  48.   (setq HOLDREQ (getvar "attreq"))
  49.   (setvar "cmdecho" 0)
  50.   (setvar "blipmode" 0)
  51.   (while (or (= SSS NIL) (= SS NIL))
  52.     (setq SSS (ssget))
  53.     (setq SS (ssget "P" '((0 . "TEXT"))))
  54.   )
  55.   (command "_.UCS" "")
  56.   (setq N 0)
  57.   (setq HH (ssadd))
  58.   (repeat (sslength SS)
  59.     (setq A (ssname SS N))
  60.     (setq LST_210 (append LST_210 (list (assoc 210 (entget A)))))
  61.     (setq LST_10 (append LST_10 (list (assoc 10 (entget A)))))
  62.     (setq AA (member '(100 . "AcDbEntity") (entget A)))
  63.     (setq A73 (cdr (assoc 73 AA)))
  64.     (setq A1 (cdr (assoc 1 AA)))
  65.     (entmake (append '((0 . "ATTDEF"))
  66.                      (reverse (cddr (reverse AA)))
  67.                      '((100 . "AcDbAttributeDefinition")
  68.                        (70 . 8)
  69.                        ;;(73 . 0)
  70.                       )
  71.                      (list (cons 74 A73)
  72.                            (cons 3 A1)
  73.                            (cons 2 A1)
  74.                      )
  75.              )
  76.     )
  77.     (ssadd (entlast) HH)
  78.     (setq N (1+ N))
  79.   )
  80.   (command "_.erase" SS "")
  81.   (setq A (rtos (* (getvar "CDATE") 1E8)))
  82.   (command "_.BLOCK" A "0,0" HH SSS "")
  83.   (setvar "attreq" 0)
  84.   (command "_.INSERT" A "0,0" "" "" "")
  85.   (setvar "attreq" HOLDREQ)
  86.   (GETATT (entlast) A)                        ;处理text对象不在X-Y平面
  87.   (command "_.UCS" "P")
  88.   (setvar "blipmode" HOLDBLIP)
  89.   (setvar "cmdecho" HOLDECHO)
  90.   (command "_.undo" "_end")
  91.   (princ)
  92. )
  93. (prompt "\nType C_DEF")
  94. (princ)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-2-9 17:22:47 | 显示全部楼层
把text转为属性图块有什么好处?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2006-6-1 18:23:52 | 显示全部楼层
什么叫文本中不能有空格。倒是在不同语言的操作系统中显示文字有帮助。下载来试一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2007-11-20 00:14:31 | 显示全部楼层
找了好久,平常做属性块相对比较繁琐,能否支持下多行文字,还有要是能完善下标记/提示/值这三个值中有个对话框dcl能进行详细的补充和能输入属性块的名称的选项那就完美了!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-18 20:46 , Processed in 0.503819 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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