明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3346|回复: 7

[求助]大小写转换的LSP源码

[复制链接]
发表于 2009-12-1 13:29:00 | 显示全部楼层 |阅读模式

哪位能提供大小写英文字母转换的LSP源码供学习啊,不胜感谢

要求TEXT和MTEXT都能转换

发表于 2010-4-20 14:15:00 | 显示全部楼层

以前見過有 你在论談找一下

发表于 2011-1-28 19:39:03 | 显示全部楼层
(Defun c:dx ( / case)
(command "redraw")
(setq fil (ssget))
(setq case (getint "\n 改成(1)小写 / <直接回车为大写>:"))       

(setq len (sslength fil))
(setq n 0)

(while (<= n (- len 1))
  (progn
   (setq e (ssname fil n))
   (cond
        ((= "TEXT" (cdr (assoc 0 (setq ed (entget e)))))
          (progn
  
           (setq ostr (cdr (assoc 1 ed)))
           (setq nstr (strcase ostr case))
           (setq ed (subst (cons 1 nstr) (assoc 1 ed) ed))
           (setq n (+ 1 n))
           (entmod ed)
          ))
        ((= "MTEXT" (cdr (assoc 0 (setq ed (entget e)))))
          (progn
  
           (setq ostr (cdr (assoc 1 ed)))
           (setq nstr (strcase ostr case))
             (setq lenstr (strlen nstr))
              (setq m 1)
              (while (< m lenstr)
                (if (= "\\p" (substr nstr m 2))
                  
                     (setq nstr (strcat (substr nstr 1 m) "\P" (substr nstr (+ 2 m))))
                 ;(setq m (+ 1 m))   
                )
                 (setq m (+ 1 m))
              )

           (setq ed (subst (cons 1 nstr) (assoc 1 ed) ed))
           (setq n (+ 1 n))
           (entmod ed)
          ))
       (T (setq n (+ 1 n)))
    )
   )
  )
princ)
发表于 2011-2-4 16:49:53 | 显示全部楼层
太强了!
发表于 2019-8-29 14:55:23 | 显示全部楼层
非标好的资料,谢谢楼主分享的。
发表于 2019-8-30 07:56:08 | 显示全部楼层
感觉这个自己平时不是太用得到呢
发表于 2019-11-4 12:14:10 | 显示全部楼层
You might find tcase.lsp in express tool folder for learning purpose ^^
发表于 2019-11-14 11:28:39 | 显示全部楼层
下载过类似的,看看这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 09:39 , Processed in 0.186601 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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