修改圆分类标注字母为多段线标注字母
本帖最后由 cj52000 于 2015-11-10 08:17 编辑在网上搜到了Z版的一个圆分类标注字母,很好用,动手改了一下使其标注多段线字母,但是字母始终在多段线的一角,现在想让字母能够在多段线中心或靠近中心,并且能指定字母,请大家帮帮忙,谢啦~~~
源码如下:
;圆分类标注 明经ZZXXQQ 2009.6
(defun c:tt ()
(setvar "CMDECHO" 0)
(setq oldos (getvar "OSMODE"))
(setvar "OSMODE" 0)
(if (and (princ "\n【提示】选择圆对象....") (setq ss1 (ssget '((0 . "LWPOLYLINE"))))) (progn
(setq i 0 j 65 cl (list))
(repeat (sslength SS1)
(setq ent (entget(ssname ss1 i)))
(setq pc (cdr(assoc 10 ent)))
(setq r (cdr(assoc 40 ent)))
(if (setq rl (assoc r cl))
(setq cl (subst (list r (cons (caadr rl) (1+ (cdadr rl)))) rl cl))
(setq cl (cons (list r (cons (chr j) 1)) cl) j (1+ j))
)
(setq i (1+ i))
)
(setq i 0 j 0 cl (reverse cl))
(repeat (sslength ss1)
(setq ent (entget(ssname ss1 i)))
(setq pc (cdr(assoc 10 ent)))
(setq r (cdr(assoc 40 ent)))
(if (setq rl (cadr(assoc r cl)))
(command "TEXT" "MC" pc "" 0.0 (car rl))
)
; (if (and (setq rl (assoc r cl)) (> (cdr r1) 1))
; (command "TEXT" "J" "MC" pc "" 0.0 (ascii (+ (cdr rl) 40)))
; )
(setq i (1+ i))
)
))
(setvar "OSMODE" oldos)
(setvar "CMDECHO" 1)
(princ)
)
各位来看一下啊 圆分类标注字母的有源代码怎么没有贴上来???
页:
[1]