找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1505|回复: 4

将框选所有图元中的文字小写改为大写

[复制链接]
发表于 2013-11-25 20:17:24 | 显示全部楼层 |阅读模式

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

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

×
;命令将框选所有图元中的文字小写改为大写.lsp
(defun c:TT( / n textn textnlst textss)
  ; (command "-style" "方正细等线体" "FZXDXJW.TTF" "1.0" "1.0" "0" "N" "N")
  (setq textss (ssget '((0 . "*text"))))
  (setq n 0)
  (repeat (sslength textss)
    (setq textn (ssname textss n))
    (setq textnlst (entget textn))
    (setq textnlst (subst (cons  1  (strcase (CDR(assoc 1 textnlst)) ))(assoc 1 textnlst) textnlst))
    (entmod textnlst)                                                        `
    (setq n (1+ n))
  )
(princ)
)

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

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-25 20:55:40 | 显示全部楼层
对照着普及下API
  1. (defun c:tt (/ ss)
  2.   (if (setq ss (ssget '((0 . "*text"))))
  3.     (mapcar '(lambda (x)
  4.                (xdrx_setpropertyvalue
  5.                  x
  6.                  "Textstring"
  7.                  (strcase (xdrx_getpropertyvalue x "Textstring"))
  8.                )
  9.              )
  10.             (xdrx_pickset->ents ss)
  11.     )
  12.   )
  13.   (princ)
  14. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-25 20:58:42 | 显示全部楼层
再借用一个

  1. (defun c:tt ()
  2.   (fy:clearcset)
  3.   (if (ssget '((0 . "*text")))
  4.     (mapcar '(lambda (x)
  5.                (vla-put-textstring x (strcase (vla-get-textstring x)))
  6.              )
  7.             (fy:cset->objs)
  8.     )
  9.   )
  10.   (princ)
  11. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

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

使用道具 举报

已领礼包: 48个

财富等级: 招财进宝

发表于 2020-8-30 20:16:36 | 显示全部楼层
本帖最后由 pxt2015 于 2020-8-30 20:37 编辑

多年前的老帖子,被强大的搜索功能找出来;非常欣慰的是老程序还能使用。
光大写没意思,借花献佛,增加一个开关,可自由设置大、小写。


(defun c:tt1 (/ is is_dx_tt1 note ss)                       
  (xdrx_begin)
  (setq is t)
  (while is
    (setq note (strcat "\n大写or小写:"
                       (if is_dx_tt1         "小写"         "大写"  )
                       "\n选择文字改大小写[切换(D)] <退出>:"
               )
    )
    ;;==============================
    ;;不能使用的关键字 A C F G L M P R U W
    (Xdrx_initget "D")
    (Xdrx_initssget Note "D" "" "" "")
    (Setq Ss (Xdrx_ssget ":s" '((0 . "*text"))))
    ;;==============================
    (cond
      ((null ss) (SETQ is NIL))
      ((= "D" SS) (setq is_dx_tt1 (not is_dx_tt1)))
      (ss
       (mapcar '(lambda        (x)
                  (Xdrx_SetpropertyValue
                    x    "TextString"
                    (if is_dx_tt1
                      (strcase (Xdrx_GetpropertyValue x "TextString") t)
                      (strcase (Xdrx_GetpropertyValue x "TextString"))
                      )
                  )
                )
               (xdrx_pickset->ents ss)
       )
      )
    )
  )
  (xdrx_end)
  (princ)
)











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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 21:35 , Processed in 0.256434 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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