Lisp »Tips 'n Tricks »Funzioni varie (1)
G2r() converte un angolo da gradi in radianti
(defun g2r (ang)
(* pi (/ ang 180.0))
)
Esempio:
Command: (* pi (/ 30 180.0))
0.523599
|
R2g() converte un angolo da radianti in gradi.
(defun r2g (ang)
(/ (* ang 180.0) pi)
)
Esempio:
Command: (/ (* 0.523599 180) pi)
30.0
|
Sel() mostra sulla linea di comando la lista dei valori di un'entità linea.
(defun c:sel ( / s1 cod ent)
(setq s1 (entsel "\n Seleziona una linea: "))
(setq cod (car s1))
(setq ent (entget cod))
(princ ent)
(princ)
)
|
InsTxt() inserisce nel disegno un testo generico, la funzione chiede punto di origine, altezza e angolo di inserimento.
(defun c:InsTxt ( / p1 alt ang txt)
(setq p1 (getpoint "\n Origine del testo:"))
(setq alt (getdist "\n Altezza carattere: " p1))
(setq ang (getorient "\n Angolo di rotazione: "))
(setq ang (r2g ang)) ;usa la funzione r2g()
(setq txt (getstring "\n Testo: "))
(command "_text" p1 alt ang txt)
(princ)
)
|
Llist() mostra gli elementi che compongono una lista.
(defun llist ( L1 / lung k e1)
(setq lung (length L1))
(setq k 0) ;contatore
(repeat lung ;cicla lungo la lista
(setq e1 (nth k L1)) ;|estrae l'elemento
e1(k) della lista L1|;
(princ e1)
(princ " ")
(setq k (+ k 1))
)
(princ)
)
Creo la lista L1:
Command: (setq L1 (list 1.2 "abc" 3))
Eseguo la funzione:
Command: (llist L1)
E questo è il risultato:
Command: (llist L1)
1.2 abc 3
|
Lisp »Tips 'n Tricks
|