Come caricare un lisp

Professione: *
Software: AutoCAD
Regione: Lombardia
#1
i file .LSP si possono caricare in AutoCAD nei seguenti modi:

-trascinando il file direttamente all'interno di AutoCAD in esecuzione.
-con _APPLOAD selezionando il file e caricandolo
-digitando dalla linea di comando (load "Nomefile.lsp") tenendo presente che Nomefile.lsp deve trovarsi nel percorso di AutoCAD

Per caricare automaticamente il lisp a ogni apertura di dwg occorre:

-aggiungere con _APPLOAD il file nel gruppo di avvio.
-rinominare il file in ACAD.lsp e inserirlo nel percorso di ricerca dei file di supporto di AutoCAD
se il file ACAD.lsp esiste già, aggiungere il contenuto del nuovo lisp

Per conoscere il comando del Lisp caricato:

-di solito corrisponde al nome del file stesso
-quando si carica esce l'indicazione sulla riga di comando.
con un editor, ad esempio Notepad, si cerca la stringa defun C: , quello che segue C: è il comando. Supponiamo di trovare defun C:pROVA , il comando sarà PROVA.
 

GP.

Utente Senior
Professione: Nientologo
Software: uozapp
Regione: Vercelli
#2
Olte a tutte le cose giuste scritte da arri, aggiungo solo un esempio di sintassi nel caso di caricamento da linea di comando di un lisp non presente nelle cartelle del percorso di AutoCAD:

(load "D:\\cartella1\\NomeLisp")


Ciò può interessare anche chi vuole caricare un lisp dall'interno di un altro lisp.

nota: l'estensione del file (lsp) può essere omessa.
 

GP.

Utente Senior
Professione: Nientologo
Software: uozapp
Regione: Vercelli
#3
Non è necessario caricare in memoria tutte le applicazioni all'avvio di ogni sessione, l'operazione può essere svolta automaticamente al momento dell'utilizzo.

Un primo metodo è quello di assegnare l'istruzione ad un voce di menu o pulsante, ad esempio:
^C^C(if (not c:BB) (load "AAA")) BB
che carica il lisp AAA e lo lancia con BB nel caso questo non fosse caricato.

Per chi invece, come il sottoscritto, fa largo uso dei comandi da tastiera si può intervenire modificando il file acadXXXXdoc.lsp (in base alla versione utilizzata) che si trova nella cartella support e viene caricato all'apertura di ogni dwg, ovvero acad2007doc.lsp - acad2008doc.lsp - ecc.

L'istruzione da inserire, nel caso dell'esempio precedente, è questa:
(autoload "AAA" '("BB"))
che carica il lisp AAA al momento del primo utilizzo del comando BB.

Lo stesso AutoCAD è impostato in questa maniera, si può ad esempio osservare il messaggio di "Inizializzazione in corso..." al primo lancio del comando "3D"


nota: la sintassi utilizzata è riferita a lisp posti in una cartella del percorso di autoCAD (Opzioni\File).
 

reggio

Utente Senior
Professione: ...
Software: autocad11+swx16 sp4 w7 x64+Ready2W2016
Regione: Emilia - Modena
#4
Non è necessario caricare in memoria tutte le applicazioni all'avvio di ogni sessione, l'operazione può essere svolta automaticamente al momento dell'utilizzo.

Per chi fa largo uso dei comandi da tastiera si può intervenire modificando il file acadXXXXdoc.lsp (in base alla versione utilizzata) che si trova nella cartella support e viene caricato all'apertura di ogni dwg, ovvero acad2007doc.lsp - acad2008doc.lsp - ecc.

L'istruzione da inserire, nel caso dell'esempio precedente, è questa:
(autoload "AAA" '("BB"))
che carica il lisp AAA al momento del primo utilizzo del comando BB.

Lo stesso AutoCAD è impostato in questa maniera, si può ad esempio osservare il messaggio di "Inizializzazione in corso..." al primo lancio del comando "3D"

nota: la sintassi utilizzata è riferita a lisp posti in una cartella del percorso di autoCAD (Opzioni\File).
... io non ho mica capito .. :confused:

Ad esempio, io ho:
Z:\PI\Copie di Icone-Lisp-Menu\Simboli x TN e Bulloni\TN3.LSP
Z:\PI\Copie di Icone-Lisp-Menu\Simboli x TN e Bulloni\Assi.LSP
Z:\PI\Copie di Icone-Lisp-Menu\Lisp\asola.lsp
Z:\PI\Copie di Icone-Lisp-Menu\Lisp\r1.lsp
Z:\PI\Copie di Icone-Lisp-Menu\Lisp\r10.lsp
...
come dovrei fare per caricare e lanciare uno di quelli battendo solo il comando es. "TN3" senza "(load"tn3.lsp") dopo aver aperto un foglio nuovo?

Debbo aprire con notepad il file "C:\Program Files\Autodesk\AutoCAD 2011\Support\acad2011doc.lsp" e poi dove e cosa aggiungo?
 

GP.

Utente Senior
Professione: Nientologo
Software: uozapp
Regione: Vercelli
#5
...Debbo aprire con notepad il file "C:\Program Files\Autodesk\AutoCAD 2011\Support\acad2011doc.lsp" e poi dove e cosa aggiungo?
Il file è quello, ma meglio ancora sarebbe modificare il file ACADDOC.LSP, se non esiste lo puoi creare e posizionare in una qualunque cartella del percorso di AutoCAD (Opzioni\File).

La stringa da inserire è questa:
(autoload "Z:/PI/Copie di Icone-Lisp-Menu/Simboli x TN e Bulloni/TN3.LSP" '("TN3"))


Se la cartella è compresa in quelle del percorso di AutoCAD puoi scrivere anche così:
(autoload "TN3.LSP" '("TN3"))



n.b. volendo non è necessario inserire l'estensione (.LSP)
 

reggio

Utente Senior
Professione: ...
Software: autocad11+swx16 sp4 w7 x64+Ready2W2016
Regione: Emilia - Modena
#6
Grazie, ma ancora c'è qualcosa che non và, ti mostro la mia situazione:

1)

2)

3)

4)

5) http://i62.tinypic.com/2iutiep.jpg (la quinta immagine non può essere caricata: max 4 immagini ...)

cosa mi è sfuggito? Perchè non funziona?
 

GP.

Utente Senior
Professione: Nientologo
Software: uozapp
Regione: Vercelli
#7
Metti la barra, non la barra inversa.
Incolla la mia prima stringa, vedrai che funziona.
 

reggio

Utente Senior
Professione: ...
Software: autocad11+swx16 sp4 w7 x64+Ready2W2016
Regione: Emilia - Modena
#8
Metti la barra, non la barra inversa.
Incolla la mia prima stringa, vedrai che funziona.
solitamente i percorsi di rete hanno la barra "\", in ogni caso ho corretto e poi ho anche usato il tuo codice, ma ho ancora problemi, in qlc modo vede che deve vcercare in quel percorso dove il file C'E' , ma Autocad dice che non lo trova .... :confused:

Guarda:


Forse il percorso lo debbo inserire in una altro posto di (Opzioni\File)?
 

confutatis

Guest
#9
Oserei pensare che tu abbia dato a quel poveraccio di AutoCAD il percorso sbagliato. Il buon GP (giustamente) ti ha anche indicato:

Se la cartella è compresa in quelle del percorso di AutoCAD puoi scrivere anche così:
(autoload "TN3.LSP" '("TN3"))

tn3.slp si trova in: Z:/PI/Copie di Icone-Lisp-Menu/Lisp/TN3.LSP ma se tu gli specifichi un percorso sbagliato, il file non lo troverà mai:

(autoload "Z:/PI/Copie di Icone-Lisp-Menu/Simboli x TN e Bulloni/TN3.LSP" '("TN3"))

Allora o scrivi:
(autoload "TN3.LSP" '("TN3"))

oppure:
(autoload "Z:/PI/Copie di Icone-Lisp-Menu/Lisp/TN3.LSP" '("TN3"))
 

GP.

Utente Senior
Professione: Nientologo
Software: uozapp
Regione: Vercelli
#10
oppure:
(autoload "Z:/PI/Copie di Icone-Lisp-Menu/Lisp/TN3.LSP" '("TN3"))
Quel file non è nella cartella \Lisp, ma proprio in \Simboli x TN e Bulloni.

reggio, cosa succede se fai una copia di quel file in una partizione "terra-terra" (tipo C o D) e modifichi l'autoload di conseguenza?
 

reggio

Utente Senior
Professione: ...
Software: autocad11+swx16 sp4 w7 x64+Ready2W2016
Regione: Emilia - Modena
#12
Ciao e grazie per la pazienza, allora, i percorsi erano corretti, e TN3.LSP era sia in

Z:\PI\Copie di Icone-Lisp-Menu\Simboli x TN e Bulloni\TN3.LSP
che in
Z:\PI\Copie di Icone-Lisp-Menu\Lisp\TN3.LSP

Ho un softwerino free che mi copia nel clipboard il percorso completo e corretto di un file e l'ho usato per copiare e incollare questi percorsi che sono quindi esenti da errori ... a volte però lo stesso file ha un percorso così

Z:/PI/Copie di Icone-Lisp-Menu/Lisp/TN3.LSP
e altre volte così
//SERVER2012/Comune/PI/Copie di Icone-Lisp-Menu/Lisp/TN3.LSP

(Z: è la cartella "Comune" sul disco del server) ....

insomma, immettendo questa stringa FUNZIONA! :D
(autoload "//SERVER2012/Comune/PI/Copie di Icone-Lisp-Menu/Lisp/TN3.LSP" '("TN3"))

ora provo ad aggiungere sotto tutte le altre stringhe per pre-caricare tutte le LISP :D

TNX
 

confutatis

Guest
#13
Magari lascia il file in un percorso unico, cancellando l'altro. Se devi effettuare modifiche almeno sono presenti in un file solo.
 

re0306

Utente poco attivo
Professione: Finanziatore dello stato italiano.
Software: Autocad 2015
Regione: Veneto
#14
Sto provando a caricare un lisp fornito da GP, in autocad 2015.
Sulla riga di comando scrivo load e poi pigio sullo spazio e mi si apre automaticamente la finestra dove mi dice che posso caricare solo Assembly.NET (*.dll).
Ho spostato il file *.lsp che mi serve dentro a Program files/Autodesk /Autocad2015 come indicato in questa discussione
ma non me lo accetta ne come comando ne cercando di caricarlo manualmente.
Dove sto sbagliando?
Grazie