Newsgroup: it.comp.software.cad
Titolo: Cosa è una LISP ?

Uso autocad da 3 anni, LT97, LT2000 e adesso finalmente ADT 3.3 (tra
l'atro finalmente oggi pomeriggio faccio il corso per imparare a
usarlo).
Mi manca xò tutta la parte di personalizzazione del programma in
generale, qc sarebbe così gentile da spiegarmi due nozioni di base su
questi famosi Lisp, o su altri modi per sviscerare bene le
potenzialità di autocad (anche ADT si basa su A2002)? Con quello che
costano !!!
Grazie

non sono un espertone x cui spero di farmi capire e di non dire cavolate
i lisp sono semplicemente degli applicativi, dei "programmi" scritti
espressamente x autocad, ai quali puoi far fare quello che vuoi;
inventare un comando, eseguire 1 serie di comandi, puoi fare calcoli....
x quanto riguarda la personalizzazione prova a vedere la guida
ciao
--
umberto
Per risposte in privato leva 1@

Cri Cri ha scritto:

Ciao.
Prova ad andare su :
http://utenti.lycos.it/rsoftware
Nella sezione CAD\Libri trovi un testo (scaricabile e gratuito) che 
insegna le basi del Lisp su AutoCAD fornendo anche alcuni piccoli esempi.
Ciao
Roberto

 piccoli esempi. 
Grazie lo usero' anche io ;)
-- 
<Kannabis> ieri un mio amico dopo aver visto linux mi ha chiesto: 
"Bello,che Windows è ?"

 ha scritto nel messaggio
news:anedr5$68f$1...@lacerta.tiscalinet.it...

Sinceramente ti consiglierei vivamente di imparare il VBA, molto più
semplice nella sintassi, oltre ad avere un'editor che si possa definire tale
(il programma dal quale scrivi il codice e ti assicuro non è cosa da poco)
ha un'interfaccia grafica con l'utente (finestre e via dicendo) di gran
lunga migliore e meglio gestibile, quando in LISP bisogna digitare righe e
righe di codice per inserire una semplice casella di testo, in VBA sono
sufficienti un paio di click del mouse. Entrambi sono linguaggi ad oggetti.
La pecca è che VBA offre prestazioni minori in termini di tempi di
esecuzione, fattore però trascurabile quando si pensa di integrare la propia
applicazione con altre, per esempio database di access oppure file di excel
o di word o qualsiasi altra applicazione che supporta il linguaggio VB.
Tetto ciò vedi che linguaggio ti convenga imparare.
Ciao omnitow


PS non è propio possibile spiegarti così su due piedi le basi di VB,
    ti conviene acquistari un manuale in libreria su AutoCAD VBA,
omnitow

usarlo).
AutoCAD, e quindi anche ADT, si basa su diversi metodi di
personalizzazione e programmazione, a livelli via via più complicati.
Il livllo più basso è quello degli script, ne esistono due tipi, gli
script su file, una sequenza di istruzioni "a catena" senza intervento
dell'utente. I file di questo tipo sono i file SCR ed una volta
caricati fatto tutto da solo e sempre la stessa cosa, in alternativa
ci sono le macro di menu, ossia dei comandi da menu che associano più
comandi e comportamenti, lasciando alcuni margini di interazione con
la macro creata.
A livello più profondo, e quindi con capacità maggiori, ci sono i due
linguaggi interpretati usati da AutoCAD, il VisualLisp ed il VBA.
I linguaggi interpretati non sono compilati, quindi hanno bisogno di
un interprete sulla macchina per funzionare, chiaramente anche
l'interprete è fornito con AutoCAD, ma questo comporta che con
versioni differenti di AutoCAD il programma non potrebbe funzionare.
Il Lisp, prima AutoLisp, poi chiamato VisualLisp quando si è
accreditato di un ambiente grafico di sviluppo (RAD) e del lavoro ad
oggetti, e quindi l'interfacciamento con funzioni più a basso livello
di AutoCAD, è il linguaggio di programmazione storico di AutoCAD, è
quello che masticano la maggior parte degli sviluppatori, è quello con
il quale si riesce a trovare maggior materiale già disponibile, ed è
comunque un lingauggio scelto perchè si integra perfettamente con al
filosofia di immagazzinamento dei Dati di AutoCAD. Lisp, infatti. è un
acronimo per List Programming, ossia linguaggio di programmazione a
liste, e permette di gestire in modo semplice e nativo tutte le entità
immagazzinate come liste, quali possono essere, per esempio i
database, formato di memorizzazione dei dati di AutoCAD.
Secondo me è il linguaggio da imparare, per la semplicità con cui si
opera, si modifica e si crea oggetti di AutoCAD, anche se
l'integrazione ad oggetti, seppur potentissima, rimane un concetto
alquanto astruso per programmatori fai-da-te. Uno degli aspetti più
complicati è la creazione di interfacce garfiche, per il quale si deve
operare mediante il DCL, linguaggio per la creazione di maschere,
puramente testuale e sufficientemente complicato per spaventare le
persone alle prime armi.
Il VBA, invece, si basa sul Visual Basic, anch'esso è compilato, ed è
un linguaggio ad oggetti. Ha una sua interfaccia per lo sviluppo, e
permette di creare graficamente maschere ed interfacce, anche di alta
qualità garfica. Il VBA ha il vantaggio di interfacciarsi meglio con
gli oggetti, essendo un linguaggio nativamente ad oggetti, per cui di
semplice apprendimento qualora si voglia operare a basso livello.
Tra l'altro si vanta di una sintassi abbastanza semplici, della
possibilità di sfruttare gli eventi degli oggetti per associargli
alcuni comportamenti (per la verità ciò è possibile anche con il Lisp,
grazie ai Reactor, ma sicuramente con un carico di programmazione
maggiore.
Ma il vantaggio è la faciltà con cui si può fare debugging, mentre il
Lisp, essendo un linguaggio a liste, finisce per rendere tutto più
complicato, per via della sintassi (basato sulla logica polacca
inversa) basata su un innestamento di parentesi (da cui è nato il
denigratorio per gli sviluppatori Lisp: Lost In Stupid Parenthesis).
A livello più basso, invece, c'è l'ARX, che è un linguaggio compilato,
e si interfaccia direttamente con parti degli eseguibili di AutoCAD.
L'ARX è dedicato agli sviluppatori professionisti, non è un linguaggio
a se stante, ma una "Modalità di lavoro", infatti il linguaggio è il
C, ed Autodesk fornisce un toolkit, ossia una serie di utilità per
l'interfacciamento con le funzioni interne di AutoCAD, il file viene
compilato in una DLL con estensione ARX e con alcune peculiarità,
basta poi diffondere solo questo file.
Spero di essere stato abbastanza semplice nella spiegazione, anche se
ho cercato di essere quanto più completo possibile.
Personalmente ritengo che sia necessario conoscere tutti i linguaggi
di programmazione (parlo di Macro di menu, script, Lisp e VBA) per
poter scegliere quello che riesce a fornire i risultai conminori oneri
di programmazione. L'Arx, invece, è dedicato agli sviluppatori
professionisti, o almeno a persone che hanno solide basi di
programmazione C, quindi non ritengo sia un linguaggio per chi si
vuole avvuicinare alla programmazione.
Saluti, Aniello
-- 
Aniello Annunziata
Content Director Manager
www.cadlandia.com
aniello.a...@cadlandia.com
Per rispondermi in privato, togli NOGARBAGE dall'indirizzo