AutoCad - Superficiar lisp

 
Vista:

Superficiar lisp

Publicado por Juanra (23 intervenciones) el 17/11/2005 11:21:57
Hola amigos, tengo un problema con esta aplicacion lisp que no consigo que me funciones como yo quiero.
La orden es que me haga una polilinea o designar la polilinea y que me ponga la superficie designadola y con el prefijo m². Os pongo lo que tengo , y gracias por todo

;Rotula en el dibujo el valor de la superficie
;de una polilinea.

(defun myerror (s) ; Si ocurre un error (como CTRL-C)
; Mientras esta orden esta activa...
(if (/= s "Funci¢n cancelada")
(princ (strcat "\nError: " s))
)
(setq *error* olderr) ; Recuperar antiguo handler de *error*
(princ)
)
(defun pol ( / ()) ; Selecci¢n de la plilinea:
(while (not (setq obj
(entsel "\nSelecciona la POLILINEA")))
) ; Si no se ha seleccionado el objeto informar al usuario
(if
(= obj nil)
(prompt "\nNo se ha seleccionado objeto.")
)
(setq oca (getvar "clayer"))
(command "CAPA" "c" "superficie" "o" "214" "superficie" "")
)
(defun super ( / pto tex)
(command "area" "o" obj)
(setq pto (getpoint "Texto centrado en... "))
(setq tex (strcat (rtos (getvar "area") 2 2) " m2"))
(command "texto" "aj" "c" pto "" tex)
(command "cambprop" "u" "" "ca" "superficie" "")
(command "capa" "def" oca "")
(setvar "cmdecho" cmd)
(princ)
)
(DEFUN c:supl ()
(pol)
(super)
)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder