找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3924|回复: 25

[每日一码] 发个小程序:框选图框内文字标注自动调整大小

[复制链接]

已领礼包: 620个

财富等级: 财运亨通

发表于 2013-12-6 00:58:40 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 1993063 于 2013-12-6 07:48 编辑
  1. (Defun c:tt ( / e i ii ptlist s1 sc ss sss x )
  2.   (setq i  -1 ss (ssget "_:L" '((0 . "INSERT") (66 . 1)))) ;属性块
  3.   (while (setq s1 (ssname ss (setq i (1+ i))))
  4.     (setq ptlist (getboundingbox s1))
  5.     (setq sss (ssget "W" (car ptlist)(cadr ptlist) '((0 . "DIMENSION,LEADER,*TEXT"))))
  6.     (repeat (setq ii (sslength sss))
  7.       (setq sc (GET-dxf 41 s1))
  8.       (setq e (ssname sss (setq ii (1- ii))) x (cdr (Assoc 0 (Entget e))))
  9.       (cond
  10.         ((= x "TEXT") (CH-DXF e 40 (* sc (Getvar "dimtxt"))))
  11.         ((= x "MTEXT") (CH-DXF e 40 (* sc (Getvar "dimtxt"))))
  12.         ((= x "DIMENSION")(vla-put-ScaleFactor (vlax-ename->vla-object e) sc))
  13.         ((= x "LEADER")(vla-put-ScaleFactor (vlax-ename->vla-object e) sc))
  14.       )
  15.     )
  16.   )
  17. )
  18. (Defun getboundingbox ( entName / entpl entpr )
  19.   (vla-getboundingbox (vlax-ename->vla-object entName) 'entpl 'entpr)
  20.   (Mapcar 'vlax-safearray->list (list entpl entpr))
  21. )
  22. (Defun GET-DXF ( i ent )(cdr (Assoc i (Entget ent))))

评分

参与人数 1D豆 +5 收起 理由
xshrimp + 5 很给力!经验;技术要点;资料分享奖!

查看全部评分

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

已领礼包: 620个

财富等级: 财运亨通

 楼主| 发表于 2013-12-6 01:00:24 | 显示全部楼层
上面代码示意图片
jdfw.gif

点评

两个问题 1 程序中 dxf 用法和后面的子函数不一致 2 cond 可以用 if 分成两类,一种改 dxf 40,其余的 put-scalefactor  详情 回复 发表于 2013-12-6 06:17

评分

参与人数 1D豆 +3 收起 理由
xshrimp + 3 帮忙贴图奖!

查看全部评分

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-12-6 06:17:36 来自手机 | 显示全部楼层
1993063 发表于 2013-12-6 01:00
上面代码示意图片


两个问题
1 程序中 dxf 用法和后面的子函数不一致
2 cond 可以用 if 分成两类,一类改 dxf 40,其余的 put-scalefactor

点评

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

使用道具 举报

已领礼包: 620个

财富等级: 财运亨通

 楼主| 发表于 2013-12-6 07:41:39 | 显示全部楼层
本帖最后由 1993063 于 2013-12-6 07:49 编辑
st788796 发表于 2013-12-6 06:17
两个问题
1 程序中 dxf 用法和后面的子函数不一致
2 cond 可以用 if 分成两类,一类改 dxf 40,其余 ...

多谢提醒{:soso_e100:}少个函数
(Defun CH-DXF ( ename code val / old_num new_num ent )
  (if (setq ent (entget ename)
        new_num (cons code val)
        old_num (assoc code ent)
      )
    (Entmod (subst new_num old_num ent))
    (Entmod (reverse (cons new_num (reverse ent))))
  )
)

点评

请问楼主:这个函数怎么加呀,您可以重新发一个可以用的程序吗?谢谢。  详情 回复 发表于 2013-12-6 11:59
一般 cond 不要省略 (t) 项,安全  详情 回复 发表于 2013-12-6 11:39
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5975个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-12-6 11:39:58 | 显示全部楼层
1993063 发表于 2013-12-6 07:41
多谢提醒少个函数
(Defun CH-DXF ( ename code val / old_num new_num ent )
  (if (setq ...

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

使用道具 举报

发表于 2013-12-6 11:59:18 | 显示全部楼层
1993063 发表于 2013-12-6 07:41
多谢提醒少个函数
(Defun CH-DXF ( ename code val / old_num new_num ent )
  (if (setq ...

请问楼主:这个函数怎么加呀,您可以重新发一个可以用的程序吗?谢谢。

点评

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

使用道具 举报

已领礼包: 620个

财富等级: 财运亨通

 楼主| 发表于 2013-12-6 12:40:36 | 显示全部楼层
金鹅起飞 发表于 2013-12-6 11:59
请问楼主:这个函数怎么加呀,您可以重新发一个可以用的程序吗?谢谢。

一起加载就可以了

点评

是复制在原先的程序最后吗?我不懂,不好意思。  详情 回复 发表于 2013-12-6 12:42
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-12-6 12:42:47 | 显示全部楼层
1993063 发表于 2013-12-6 12:40
一起加载就可以了

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

使用道具 举报

已领礼包: 41个

财富等级: 招财进宝

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

使用道具 举报

发表于 2013-12-7 19:35:13 | 显示全部楼层
请问楼主动画怎么做的?

点评

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

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 05:27 , Processed in 0.472467 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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