马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×

- [FONT=courier new]
- ;|
- 命令:txt_addno
-
- 功能:自动对选取的大段水平文字,递增加序号,方便大家写图纸说明
-
- 说明:1、原有大段文字位置相对不变,前面加序号,小数点对齐。
- 2、程序记住写过的序号值,下次运行程序自动用递增的序号值作为默认输入
- |;
- (defun c:txt_addno (/ $txt_prefix_pro ss val)
- (defun $txt_prefix_pro (el / el1 n pj txt ed oldtxt oldpj ang cha ed1 ed2
- box box1 box2 dis2 dis
- )
- (setq el1 (mapcar
- 'car
- el
- )
- )
- (foreach n el1
- (xdrx_setenttodb n)
- (setq pj (xdrx_getentdxf 10)
- txt (xdrx_getentdxf 1)
- ed (entget n)
- oldtxt (cons 1 txt)
- oldpj (cons 10 pj)
- ang (xdrx_getentdxf 50)
- )
- ($xdlsp_text_todb txt)
- (setq cha ($xdlsp_text_getstr))
- (setq ed1 (subst
- (cons 1 (strcat (itoa $txt_prefix_val) "." cha))
- oldtxt
- ed
- )
- ed2 (subst
- (cons 1 cha)
- oldtxt
- ed
- )
- box ($xdlsp_textbox ed)
- box2 ($xdlsp_textbox ed2)
- dis2 (- (caadr box2) (caar box2))
- box1 ($xdlsp_textbox ed1)
- dis (- (caadr box1) dis2 (caar box))
- pj (polar pj ang (- dis))
- )
- (xdrx_modent 1 (strcat (itoa $txt_prefix_val) "." txt) 10 pj)
- (setq $txt_prefix_val (1+ $txt_prefix_val))
- )
- (setq $txt_prefix_val (1- $txt_prefix_val))
- )
- (prompt "\n请选择要加序号的文字<退出>:")
- (if (setq ss (ssget '((0 . "text"))))
- (progn
- (if (not $txt_prefix_val)
- (setq $txt_prefix_val 1)
- )
- (if (setq val (getint (strcat "\n请输入起始序号值<" (itoa $txt_prefix_val)
- ">:"
- )
- )
- )
- (setq $txt_prefix_val val)
- )
- (xdrx_begin)
- ($txt_prefix_pro ($xdlsp_text_sort ss nil))
- (xdrx_end)
- )
- )
- (princ)
- )
- [/FONT]
下面附件是这个工具发布时候,所有的“文字工具”最新的完整文件。 |