明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: lengliqun

[求助](已完成)求lsp程序,选择含分号的字符串,将分号“;”前的字符改成用户输入的

  [复制链接]
 楼主| 发表于 2008-4-21 21:41:00 | 显示全部楼层
cad2004测试,8楼程序可将点号“.”变成“]”输出,但“]”后面的字符不见了,为何?
发表于 2008-4-23 15:19:00 | 显示全部楼层
子程序有误。
游客,本帖隐藏的内容需要发帖数高于 5 才可浏览,你当前发帖数只有 0

 楼主| 发表于 2008-4-23 18:53:00 | 显示全部楼层
本帖最后由 作者 于 2008-4-23 19:07:20 编辑

;综合明经 ZZXXQQ与晓东 zxq0220的程序如下:

;替换分号后字符 明经 ZZXXQQ 2008.4.21
(defun c:tt2 ()
  (if (setq news (getstring "\nEnter New string 输入新字串 <2]25> :")) (progn
   (setq news (if (= (strlen news) 0) "2]25" news))
   (while (wcmatch news "*`.*") (setq news (chchar news "." "]")))
   (if (setq ss (ssget '((0 . "TEXT") (1 . "*;*")))) (progn
    (setq i -1)
    (repeat (sslength ss)
     (setq i (1+ i)
           ent (entget(ssname ss i))
           txt (cdr(assoc 1 ent))
           j (strlen txt)
           sl j)
     (while (and (> j 1) (/= (setq s1 (substr txt j 1)) ";")) (setq j (1- j)))
     (setq ent (subst (cons 1 (strcat (substr txt 1 j) news)) (assoc 1 ent) ent))
  (entmod ent)
    )
   ))
  ))
  (princ)
)

;替换分号前字符 明经 ZZXXQQ 2008.4.16
(defun c:tt1 ()
  (if (setq news (getstring "\nEnter New string 输入新字串 <2]25> :")) (progn
   (setq news (if (= (strlen news) 0) "2]25" news))
   (while (wcmatch news "*`.*") (setq news (chchar news "." "]")))
   (if (setq ss (ssget '((0 . "TEXT") (1 . "*;*")))) (progn
    (setq i -1)
    (repeat (sslength ss)
     (setq i (1+ i)
           ent (entget(ssname ss i))
           txt (cdr(assoc 1 ent))
           j 1
           sl (strlen txt))
     (while (and (< j sl) (/= (setq s1 (substr txt j 1)) ";")) (setq j (1+ j)))
     (setq ent (subst (cons 1 (strcat news (substr txt j))) (assoc 1 ent) ent))
  (entmod ent)
    )
   ))
  ))
  (princ)
)

;子程序

;晓东 zxq0220 2008.4.18
;明经 ZZXXQQ 2008.4.22修改
(defun chchar (ss eqq wt / s2 tmp i)
  (setq i 1 tmp "")
  (while (/= (setq s2 (substr ss i 1)) eqq) (setq tmp (strcat tmp s2) i (1+ i)))
  (strcat tmp wt (substr ss (1+ i)))
)

;谢谢ZZXXQQ、zxq0220
发表于 2008-5-18 11:15:00 | 显示全部楼层
很好用的程序。请教ZZXXQQ,如何把文字从空格处断开自动变2行,如"KL2-22(11) 200X700",括号后为空格,从空格处把这行文字断开成2行,行距由用户输入。
发表于 2008-6-29 18:23:00 | 显示全部楼层

对自己没太太的用处,但是还是收藏了

发表于 2008-7-22 12:04:00 | 显示全部楼层

要回复5次,学习一下

发表于 2008-9-8 22:25:00 | 显示全部楼层
谢谢,蛮用用
发表于 2008-10-10 15:08:00 | 显示全部楼层
哈哈,这个程序有意思。不错
发表于 2008-10-26 13:27:00 | 显示全部楼层
呵呵,版主真是高手啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-27 20:42 , Processed in 0.209758 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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