Gracias por responder y por la intencion de ayudarme. Bueno lo del field no es muy necesario, siendo sincera la verdad era solo para hacer mas espectacular la rutina, aunque me agradaria y mucho aprender como colocar un field de alguna linea o polilinea que extraiga su longitud unicamente, agradeceria mucho su aporte
Bueno dandome a la tarea de estudiar y estudiar (bien duro), realice un codigo Lisp por mi misma.
Es mi primera rutina de la vida, asi que ahora la idea es que me enseñen a pescar, no es muy necesario que me den el pescado frito con arroz y limon (ojala se entienda la analogia), ruego que alguien pueda darse el tiempito de explicarme algunas cosillas. Primero indicare que rutina invente y luego le pedire si puede esplicarme como hacer algunas cosillas que ahora me parecen mas importantes
1.- la rutina la se llama PBCV lo que hace primero es pedirte dos puntos .
2.- Luego te pide el tipo de Muro (Cualquier entero del 1 al 1000000 millones)
3.- Punto 1 y 2 de insercion del texto ( es un Mtext )
4.- Dibuja una pline (polilinea para los exquisitos)
5.- Numera cada inserccion del Mtext coloca prefijo longitud de la linea y sufijo).
Ademas que coloca un cuadro de texto (alert) , crea un layer y un estilo de mtext. Pero quisiera pedir si alguien se compadece de mi y mis trasnoches lo siguiente :
1.- Como rayos hago para que el Metext se coloque automaticamente y no dandole dos puntos (pero, y si le quitas el getpiont? Claro, pero que puntos de inserrcion le indico, tengo como unas 20 opciones, pero como rayos hago que dos puntos X1 y y1 ejemplo, se trasfomen en un solo P1 como lo haria el Getpoint)
2.- De que numera numera, bueno pero cuando te sales del comando o acabas algo y reinicias despues Como hacer para que continue numerando¡? el comando While esta bien y todo pero ahora quisiera que continue numerando, aunque desactive el comando y lo haga mas tarde, o tal vez podia preguntar "/n de que numero empiezo?:" uno le indique y fin del problema, PERO, COMO?
3.- Pero no menos importante : la idea era exportar a excel los Mtext, de lo contrario la rutina solo es un estilo de acotacion (mejorado tal vez), esas para mi ya son palabras mayores, entonces buscando encontre una rutina que exporta los textos a un archivo cvs y aparece en excel los datos indicados de esta manera

No se quien hizo esta rutina, pero de todo corazon bendigo a ese buen hombre, y ahora dandome a la tarea de modificar un poco esto para mis necesidades quisiera consultar como puedo hacer para convertir eso en esto

Gracias a todos los interesados en responderme
ADJ lisp PBVC
(defun c:pbcv ()
(alert
" \Esta rutina obtiene la longitud entre dos puntos que ud. le indiquie \n Devuelve el valor medido y los prefijos y sufijos que he generado
\n Para utizarlo teclee PBCV
\n Ingeniado por Vnquivar");Cuadro de texto que protege al lisp de otraas aplicaciones y ayuda a ordenar un poco
;Primero crea un layer llamado inf Long Muos de color amarllo, luego la pone como actual
(command "_LAYER" "MAKE" "Inf Long Muros" "color" 2 "" "")
(command "_LAYER" "_Set" "Inf Long Muros" "")
; Aqui se coloca el estilo de texto a usar
(command "-style" "PLIM" "CENTURY GOTHIC" 0.1 1 0 "NO" "NO")
; primero solicita dos puntos luego el tipo de muro
(Setq N 1)
(while
(setq p1 (getpoint "\nIngrese un punto"))
(setq p2 (getpoint "\nIngrese siguiente punto" p1))
(setq tipo (getstring T "\nIngrese tipo de muro : "))
; iniciamos extrayendo las coordenas xy de los puntos mencionados
(setq xp1 (car p1))
(setq yp1 (cadr p1))
(setq xp2 (car p2))
(setq yp2 (cadr p2))
; Operaciones aritmeticas con los puntos mencionados
(setq rx1 (- xp2 xp1))
(setq ry1 (- yp2 yp1))
(setq cx (* rx1 rx1))
(setq cy (* ry1 ry1))
(setq sum (+ cx cy))
(setq RAT (sqrt sum))
; aqui se obtienen los puntos para la insercion del mtext
(setq tp1 (getpoint "\nPunto inicial Txt: "))
(setq tp2 (getpoint "\nDPunto Final Txt: "))
(setq cad1 "Lon. ")
(setq cad2 (rtos RAT 2 2))
(setq cad3 " m.")
(setq cad4 "Muro Tipo: ")
(setq cad5 tipo)
(Setq cad6 "M ")
(Setq cad7 (itoa N))
(setq tm (STRCAT cad4 cad5))
(setq nm (STRCAT cad6 cad7))
(setq Lm (STRCAT cad1 cad2 cad3))
(setq TPAN (STRCAT "\n" nm "\n" tm "\n" lm))
(command "_mtext" tp1 tp2 TPAN "")
(command "_pline" p1 p2 "")
(SETQ N (+ 1 N))
)
)
Luego la rutina de algun gran maestro que exporta Mtext a excel (alguna que otra linea le he modificado)
se llama ET
(defun LM:writecsv ( lst csv / des sep )
(if (setq des (open csv "w"))
(progn
(setq sep (cond ((vl-registry-read "HKEY_CURRENT_USER\\Control Panel\\International" "sList")) (",")))
(foreach column lst (write-line (LM:lst->csv column sep) des))
(close des)
t
)
)
)
(defun LM:lst->csv ( lst sep )
(if (cdr lst)
(strcat (LM:csv-addquotes (car lst) sep) sep (LM:lst->csv (cdr lst) sep))
(LM:csv-addquotes (car lst) sep)
)
)
(defun LM:csv-addquotes ( str sep / pos )
(cond
( (wcmatch str (strcat "*[`" sep "\"]*"))
(setq pos 0)
(while (setq pos (vl-string-position 34 str pos))
(setq str (vl-string-subst "\"\"" "\"" str pos)
pos (+ pos 2)
)
)
(strcat "\"" str "\"")
)
( str )
)
)
(defun C:ET(/ lst ss i el x fn)
(setq lst (list) ss (ssget (list (cons 0 "MTEXT"))) )
(repeat (setq i (sslength ss))
(setq x (ssname ss (setq i (1- i))))
(setq el (entget x))
(if (= (cdr (assoc 0 el)) "MTEXT")
(setq lst (append lst (list (list (cdr (assoc 1 el))))))
)
)
(setq fn (vl-filename-mktemp nil nil ".csv"))
(if (and lst (LM:WriteCSV (reverse lst) fn))
(startapp "explorer" fn)
)
)
GRACIAS