找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 792|回复: 5

[编程申请]:怎么样用LSP炸开块,但在原位置写其属性?编个例子!万分感谢!

[复制链接]
发表于 2002-11-2 05:38:27 | 显示全部楼层 |阅读模式

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

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

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

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-11-2 14:58:38 | 显示全部楼层

Re: [编程申请]:怎么样用LSP炸开块,但在原位置写其属性?编个例子!万分感谢!

最初由 zhaosujun 发布
[B]谢谢!! [/B]


上个帖子已经回答了,告诉你的思路了,你自己写写试试,有问题再贴论坛。

前些天,给大家写了个把“属性定义”变换成文字的程序,你去看看。

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

使用道具 举报

发表于 2002-11-21 18:42:23 | 显示全部楼层

  1. (defun c:dx(/ cla ss n na e naa ee at1 la pt ang ath at7 at77 ee)
  2. (setq cla(getvar "clayer"))
  3. (setq ss(ssget  '((0 . "INSERT"))))
  4. (if ss
  5. (progn
  6.   (setq n 0)
  7.   (while(< n (sslength ss))
  8.     (setq na(ssname ss n)
  9.           e(cdr(assoc 8 e))
  10.           naa(entnext na)
  11.           ee(entget naa)
  12.     )
  13.     (if (= "ATTRIB" (cdr(assoc 0 ee)))
  14.         (progn
  15.              (setq   at1 (cdr(assoc 1 ee))
  16.                      la (cdr(assoc 8 ee))
  17.                      pt(cdr(assoc 10 ee))
  18.                      ang(cdr(assoc 50 ee))
  19.                      ath(cdr(assoc 40 ee))
  20.                      at7(cdr(assoc 7 ee))
  21.                      at77(cdr(assoc 3 (tblsearch "style" at7)))
  22.                      ee(subst(cons 2 "")(assoc 2 ee) ee)
  23.           )
  24.           (entmod ee)(entupd na)
  25.                 (command ".explode" na "")
  26.                 (command ".erase" (ssget "c" (mapcar '- (list ath ath 0.) pt)
  27.                                              (mapcar '+ (list ath ath 0.) pt)
  28.                                              (list(cons 8 la) '(0 . "ATTDEF"))
  29.                                   ) "")
  30.                  (command ".layer" "s" la "")
  31.                 (command "style" at7 at77  "" "" "" "" "" "")
  32.                 (command "text" pt ath ang at1)
  33.              )
  34.           )
  35.     (setq n (1+ n))
  36.   )
  37. ))
  38. (command "layer" "s" cla "")
  39. (princ)
  40. )


炸开后,属性字符的字型 高度 角度都跟原来保持原样。
缺点:只把属性字体改做了它原来所在的层,而图块炸开后没有恢复到它本来的图层。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-11-21 18:48:07 | 显示全部楼层
最初由 wwwchard 发布
[B][code]
(defun c:dx(/ cla ss n na e naa ee at1 la pt ang ath at7 at77 ee)
(setq cla(getvar "clayer"))
(setq ss(ssget  '((0 . "INSERT"))))
(if ss
(progn
  (setq n 0)
  (while(< n (sslength ss))
... [/B]


谢谢,你能给大家改下,炸开的实体也保持原来的层吗?

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

使用道具 举报

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

使用道具 举报

发表于 2002-11-21 20:03:27 | 显示全部楼层
我在笔记本上写好调试的,没想到粘贴过来就那样了,刚才回到这儿,看了已经缩进了,我还以为是网叶显示的缘故。谢谢XD了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 06:30 , Processed in 0.391408 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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