[LISP程序]:我的LSP程式,很好用的。
; 创作说明 文字排版程式。对DTXT有用!;此程序由seaon编写!
;seaon@eyou.com
(defun c:Ts (/ pp2 startpts ss l ll fal th pt1 pty);start1
(if (not (setq SS (ssget "i")))
(progn
(prompt "选择文字实体。\n")
(setq SS (ssget))
)
)
(if (ssname ss 0)
(if (/= (cdr (assoc 0 (entget (ssname ss 0)))) "TEXT")
(progn
(alert " 所选实体中并非都是文字.ho-o! ")
(quit)
)))
(COMMAND "UNDO" "MARK")
(command "ucs" "w" )
(setvar "texteval" 1)(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setq startpts (getpoint "输入起点位置:"))
(print)
(if (= nil startpts);start2
(setq startpts (cdr (assoc 10 (entget (ssname ss 0)))))
);end2
(setq th (cdr (assoc 40 (entget (ssname ss 0)) )))
(setq startpts (list (car startpts) (- (car (cdr startpts)) (/ th 2))))
(if (= nil r )(setq r 0.67) (setq r (/ r (cdr (assoc 40 (entget (ssname ss 0)))) )))
(setq rr (getreal (strcat "输入行间距与字高的比例<" (rtos r 2 2) ">:")))
(if (/= nil rr)(setq r rr))
(if (or (= nil r) (= r 0.67))
(setq r (* 0.67 (cdr (assoc 40 (entget (ssname ss 0)))) ))
(setq r (* r (cdr (assoc 40 (entget (ssname ss 0))))))
)
(setq l (sslength ss))
(setq ii 0
ooo t
highy nil highent nil)
(setq endss (ssadd))
(repeat l
(repeat l
(if (ssname ss ii)
(setq en (ssname ss ii))(setq ooo Nil)
)
(if (ssname ss ii)
(if (/= (cdr (assoc 0 (entget (ssname ss ii)))) "TEXT")
(progn
(alert " 所选实体中并非都是文字.ho-o! ")
(quit)
)))
(if (and ooo (= (cdr (assoc 0 (entget (ssname ss ii)))) "TEXT"))
(progn
(setq pt1 (car (cdr(cdr (assoc 10 (entget en))))))
(if (> pt1 highy);start5
(progn;start6
(setq highy pt1)
(setq highent en)
));end65
))
(setq ii (1+ ii)
ooo t
)
);end repeat1
(setq ii 0 ooo t en nil)
(ssdel highent ss)
(ssadd highent endss)
(setq highy nil highent nil)
);end repeat2
(setq i 0)
(setq ll (sslength endss))
(repeat ll
(setq enn (ssname endss i))
(setq pp2 (cdr (assoc 10 (entget enn))))
(command "move" enn "" pp2 startpts)
(setq startpts (list (car startpts) (- (car (cdr startpts)) th r)))
(setq i (1+ i))
);end3 1
(command "ucs" "prev""")
(setvar "osmode" oldos)
) 請問這是什么功能? 我要好好参考一下 我也用用看 请问sz961此lisp程序的功能是什么,试用了一下只有第一步能用,以后cad就不认命令ts了,原因何在,请指教!谢谢! 文字排版程式。对DTXT有用!文字对齐及行间距设定.对作表格很有用(如图纸目录)
lucy 你要把它保存成LISP文件.以后每次就可以调用了. 试用一下,不知排版功能有多强? 大家用过了,觉得如何 该命令ssget '((0 . "text"))可以只选择单行文本,其他图元均不选,版主可以采用并改进程序. 我也要来呀 谢谢楼主,支持下 你好,能帮我这一个小程序吗 好东西{:1_9:}{:1_9:} 谢谢楼主,支持下{:1_1:}{:1_1:}
页:
[1]