Tanja : [post n° 229347]

Trasformazione Conta.lsp in Script da usare in LT

Salve a tutti,

in passato ho con grande utilità utilizzato la routine Conta.lsp presente in questo sito su Autocad.
Ora ho cambiato azienda e qui utilizzano Autocad Lt 2010 che non supporta il Lisp.
Leggendo qua e là, qualcuno dice che è possibile trasformare alcuni Lisp in script o macro utilizzabili in Lt: è possibile farlo con Conta.lsp ?
Qualcuno ha già risolto il problema ?
Ci sono altre soluzioni oltre ad un add-in per far supportare il Lisp a LT ?

Grazie in anticipo,
Tanja

Ecco il testo del Conta.lsp

(defun c:CONTA (/ var distanza selez n ent1 n_ent lista x1 x2 z1 p1 x2 y2 z2 p2 lunghezza)
;*************************************
(setq var (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(setq old-error *error*)
(defun *error* (msg)
(alert msg)
(setq *error* old-error)
(command "_undo" "_end" "_u")
(exit)
)
(command "_undo" "_be")
;*************************************
;inizio procedura
(setq distanza 0)
(setq selez (ssget '((0 . "LINE"))))
(if (/= selez nil)
(progn
(setq n 0)
(setq ent1 (ssname selez n)) ;nome della prima entità della selezione
(while (/= ent1 nil)
(progn
(setq n_ent (sslength selez)) ;numeri di oggetti contenuti nel gruppo di selezione selez
(setq lista (entget ent1)) ;-------LISTA DELL'oggetto


(setq x1 (nth 1 (assoc 10 lista)))
(setq y1 (nth 2 (assoc 10 lista)))
(setq z1 (nth 3 (assoc 10 lista)))
(setq P1 (list x1 y1 z1))

(setq x2 (nth 1 (assoc 11 lista)))
(setq y2 (nth 2 (assoc 11 lista)))
(setq z2 (nth 3 (assoc 11 lista)))
(setq P2 (list x2 y2 z2))

(setq lunghezza (distance p1 p2))
(setq distanza (+ distanza lunghezza))

(setq n (+ n 1))
;(sequenza)
(setq ent1 (ssname selez n)) ;nome dell'oggetto successivo
)
)
)
(progn (princ "Non è stato selezionato nessuna linea") (princ))
)
(setq distanza (rtos distanza))
(princ (strcat "La lunghezza totale delle linee selezionate è: " distanza " unità")) (princ "")
;fine procedura
(setq *error* old-error)
(command "_undo" "_end")
(setvar "cmdecho" var)
)
Avvisami quando qualcuno risponde
Non mandarmi più avvisi

Se vuoi essere avvisato quando qualcuno interviene in questa discussione, indica un nome e il tuo indirizzo e-mail.