Somaper.lsp

;
; JA
; 2002-09-02
;
; SOMAPER.LSP


(defun C:SOMAPER (/ VADEC VALLPRC GLG SSLEN TPNAM LGNAM LGSTOTAL LGTOTAL
TERM TXSTOTAL TXTOTAL TESTE)

(command "undo" "begin")
(setq VADEC (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq VALLPRC (getvar "luprec"))
(setq LGSTOTAL 0.0)
(setq TERM 0)
(mlen)
(while (/= TERM nil)(progn
(mlen)
);progn
);while
(setq TXTOTAL (rtos LGSTOTAL 2 VALLPRC))
(terpri)
(princ " Total = ")(princ TXTOTAL)
(terpri)
(setvar "cmdecho" VADEC)
(command "undo" "end")
)

;
;

(defun MLEN ()

(princ " Seleccione entidades a somar")
(terpri)
(setq GLG (ssget))
(if GLG (progn
(setq SSLEN (sslength GLG))
(while (> SSLEN 0)
(setq TPNAM (ssname GLG (setq SSLEN (1- SSLEN))))
(setq ENTGT (entget TPNAM))
(setq ENTLAY (cdr (assoc 0 ENTGT)))
(if (equal ENTLAY "LINE")(setq TESTE 1))
(if (equal ENTLAY "POLYLINE")(setq TESTE 1))
(if (equal ENTLAY "LWPOLYLINE")(setq TESTE 1))
(if (equal ENTLAY "CIRCLE")(setq TESTE 1))
(if (equal ENTLAY "ARC")(setq TESTE 1))
(if (equal ENTLAY "SPLINE")(setq TESTE 1))
(if (equal ENTLAY "ELLIPSE")(setq TESTE 1))
(if (equal TESTE 1)(progn
(command "lengthen" TPNAM "")
(setq LGTPNAM (getvar "PERIMETER"))
(setq LGSTOTAL (+ LGTPNAM LGSTOTAL))
(setq TESTE 0)
);progn
);if
);while
);progn
(princ "Não foi seleccionada nehuma entidade")
);if
(setq TXSTOTAL (rtos LGSTOTAL 2 VALLPRC))
(initget "Adicionar")
(princ " Sub Total = ")(princ TXSTOTAL)
(terpri)
(setq TERM
(getkword " 'A' Adicionar entidades / 'Return' para terminar "))
)
(terpri)
(princ "Inicie aplicação com 'SOMAPER'")

; FIM SOMAPER.LSP
 

 

 


Top