Hola amigos Latinos.
Miren esta imagen

Aqui yo intento q la rutina me haga circulos en cada vertice y tambien los numere.
La unica idea q tuve para centrar cada texto con respecto a los vertices anterior y posterior fue por medio de ANGLE y dividirlo en 2, el problema surge porque yo requiero q cada texto quede DENTRO de la Polilinea y si se fijan bien hay textos q quedan fuera.
Les adjunto la rutina q es bien corta para q me aconsejen q debo añadir para tener lodos los textos dentro de la Polilinea y siempre centrados.
Muchas gracias !!
Código:
(defun c:a ()
(setq lwpol (entsel "\nSeleccione polilínea:"))
(setq lst-vert-der '()) (num-vert)
(setq z num-lst-vert-der) (setq n 0 n-resp 0) (setq punt 1)
(repeat num-lst-vert-der
(setq pa (nth n lst-vert-der))
(command "circle" pa "1")
(command "text" "j" "mc" (polar pa (/(+(angle pa (nth (+ n 1) lst-vert-der))
(angle pa (nth (- z 1) lst-vert-der))) 2) 3.5) "2" "90" (itoa punt))
(setq punt (+ punt 1)) (setq n (1+ n))
(if (= n (- num-lst-vert-der 1)) (final)) (if (= z num-lst-vert-der) (setq z 0))
(setq z (1+ z))
);fin repeat
);fin defun
(defun final ()
(setq pa (nth n lst-vert-der))
(command "circle" pa "1")
(command "text" "j" "mc" (polar pa (/(+(angle pa (nth (- n 1) lst-vert-der))
(angle pa (nth 0 lst-vert-der))) 2) 3.5) "2" "90" (itoa punt))
);fin defun
(defun num-vert ()
(setq nom-lwpol-der (car lwpol)) ;_nombre de la entidad
(setq pnt-lwpol-der (car (cdr lwpol))) ;_punto de seleccion
(setq lst-lwpol-der (entget nom-lwpol-der)) ;_lista de la entidad
(setq dato-lwpol-der (entget nom-lwpol-der)) ;_lista de la entidad
(setq num-vert-der (cdr (assoc 90 dato-lwpol-der))) ; número de vertices
(setq dato-lwpol-der (member (assoc 10 dato-lwpol-der) dato-lwpol-der))
(setq nom-lwpol (car lwpol)) (setq lst-lwpol (entget nom-lwpol)) (setq tipo (cdr (assoc 0 lst-lwpol)))
(if (= tipo "POLYLINE")(command "convert" "p" "s" lwpol ""))
(repeat num-vert-der
(setq lst-vert-der (append lst-vert-der (list (cdr (assoc 10 dato-lwpol-der)))))
(setq dato-lwpol-der (cdr dato-lwpol-der))
(setq dato-lwpol-der (member (assoc 10 dato-lwpol-der) dato-lwpol-der))
(setq num-lst-vert-der (length lst-vert-der))
);fin repeat
);fin defun