明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3242|回复: 6

修改單行文本的每行間隔小程序

[复制链接]
发表于 2003-11-17 17:27:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2003-11-18 11:06:26 编辑

這個小程序是用來修改dt打出文字的間隔. 要程序主要是運用move循環方式來做的. 有些地方不夠完善. 望有空的大俠指點指點.

今天修改了點小小的錯誤. 歡迎大家使用. 呵呵:D

;; The program make by BDYCAD
;;DATA: 2003-11-18
;;
(DEFUN C:ted(/ ss id ssl tep n os tow top newp )
  (PRINC "\n請選擇單行文本進行間隔修改:")
  (SETQ ss (SSGET '((0 . "TEXT"))))
  (setq id (getdist "\n輸入每行的距離:"))
  (SETQ SSL (sslength ss))(setq n 1)
  (setq tep (cdr (assoc 10 (entget (ssname ss 0)))))
  (SETQ OS (GETVAR "osmode"))
  (SETVAR "osmode" 0)(SETVAR "cmdecho"0)
  (SETVAR "ICKSTYLE" 0) (setvar "pickauto" 0)
  (command "_.undo" "_group")
  (setq top (cdr (assoc 10 (entget (ssname ss n)))))
  (command "line" tep top "")
  (command "LENGTHEN" "t" id TOP "" )
  (repeat (- SSL 1)
    (setq tow (ssname ss n))
    (setq top (cdr (assoc 10 (entget (ssname ss n)))))
    (setq newp (cdr (assoc 11 (entget (entlast)))))
    (command "move" (entlast) "" tep newp)
    (command "move" tow "" top newp)
    (setq tep newp )
    (setq n (+ n 1)))
  (command "erase" (entlast) "")
  (command "_.undo" "_end")(setvar "pickauto" 1)
  (SETVAR "OSMODE" OS) (SETVAR "cmdecho" 1)(SETVAR "ICKSTYLE" 1)
  (princ))
(princ "程序加載完成. 在命令行輸入 ted 執行.....")
发表于 2003-11-19 14:40:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2003-11-19 22:21:00 | 显示全部楼层
提个建议:
1.最好能分水平和竖直方向,
2.选择文字的先后顺序很重要,不然会出现2楼说的那种情况,应给予提示
另外运行时有时是框选模式,有时是点选模式
没有出错处理代码
 楼主| 发表于 2003-11-21 16:22:00 | 显示全部楼层
三樓提的好.
 楼主| 发表于 2003-11-23 08:41:00 | 显示全部楼层
"有时选中的单行文字的顺序会颠倒"
這個原因是因為文字每行的生成順序以颠倒了. 所以程序發生上面所說的情況.
发表于 2003-12-3 18:16:00 | 显示全部楼层
不错不错,鼓励一下楼主:)
发表于 2009-11-1 11:29:00 | 显示全部楼层
现在看以前的回复咋都成QQ图标了哦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 04:31 , Processed in 0.176912 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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