找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 610|回复: 3

[LISP程序]:文本字符串的"拉伸"

[复制链接]
发表于 2004-7-5 06:04:29 | 显示全部楼层 |阅读模式

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

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

×
文本字符串的"拉伸"
[php]
(defun lenstr (ss)
  (setq tst (textbox (list (cons 1 ss))))
  (setq l (car (cadr tst)))
)
;
(defun c:test (/ ll lst)
  (setq a (car (entsel)))
  (setq el (entget a))
  (setq p (cdr (assoc 10 el)))
  (setq p1 (getpoint p "\nSpecify End Point: "))
  (setq str (cdr (assoc 1 el)))
  (setq l0 (lenstr str))
  (setq lst (mapcar 'chr (vl-string->list str)))
  (setq clay (getvar "clayer"))
  (setq csty (getvar "textstyle"))
  (setvar "textstyle" (cdr (assoc 7 el)))
  (repeat (strlen str)
    (if (> (strlen str) 1)
      (setq g2 (lenstr (substr str 2 1))
            ll (cons (- (lenstr (substr str 1 2)) g2) ll))
    )
    (setq str (substr str 2))
  )
  (setq d (/ (- (distance p1 p) l0)(length ll)))
  (vl-cmdf "layer" "s" (cdr (assoc 8 (entget a))) "")
  (vl-cmdf "erase" a "")
  (setq n 0)
  (while (< n (length lst))
    (vl-cmdf "text" p (cdr (assoc 40 el)) (* (/ 180 pi)(cdr (assoc 50 el)))(nth n lst) "")
    (setq p (polar p (cdr (assoc 50 el)) (+ (nth n (reverse ll)) d)))
    (setq n (1+ n))
  )
  (setvar "textstyle" csty)
  (setvar "clayer" clay)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-7-6 13:34:32 | 显示全部楼层
提两条:
1。不支持汉字,测试中汉字全部丢失
2。undo不能一步复原
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2004-7-7 13:45:37 | 显示全部楼层
我的CAD系统是英文的. 平常也没有机会处理中文字符. 程序嘛就是个思路, 自己改改.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 06:54 , Processed in 0.299021 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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