2013-07-31 13 views
6

Ho un grande progetto LISP, ho fatto un file prv che permette al VLIDE per compilare questo progetto in un unico file vlx (compila anche il file fas). Il problema è che non è possibile compilare il progetto dall'esterno di autocad o dal prompt dei comandi, quindi non posso automatizzare l'edificio vlx utilizzando uno script.build automation per AutoCAD Lisp file

La domanda è: c'è un modo per farlo? Posso compilare fas-vlx dall'esterno dell'autocad? O posso lanciare autocad dando uno script che compila il prv e poi chiude il autocad?

risposta

0

ho fatto qualche ricerca, Avete verificato questo link

http://www.thefreecountry.com/compilers/commonlisp.shtml

+0

Non voglio caricare la mia applicazione ma per creare automaticamente il vlx dal file sorgente Lisp dall'esterno dell'autocad –

+0

Non sono positivo, ma non credo che sia possibile. E 'passato un po' di tempo da quando ho iniziato a parlare di chiarezza, ma credo che tu debba compilare all'interno del VLIDE. –

+0

@trippino update –

1

Bisogna lanciare AutoCAD, ma anche così diventa difficile in quanto richiede l'utilizzo di undocumented functions.

+0

ho già visto quella serie di istruzioni, e la documentazione non documentata è il motivo della mia domanda :) –

+0

Inoltre: ho provato quelle funzioni ma sembrano essere valide solo per compilare il file 'fas', non' vlx' –

0

Se l'ottimizzazione e la protezione delle fonti è l'obiettivo generale, qui è un progetto open source che si occupa di questo:

http://www.lt-extender.com/LT-Extender/englisch/default.htm

+0

Sto già usando BricsCAD e la compilazione di file 'des' può essere automatizzata, ma io ' Sto cercando una soluzione per AutoCAD. Grazie –

1

Essere avvertito che questo è un po 'una Rube Goldberg. ma funziona!

mi sarà dimostrare con Autocad 2014.

In primo luogo è necessario creare un file Autocad script che contiene alcuni comandi non documentati. Ho chiamato il mio build.scr

vlide 
(
    vlisp-compile-list 
    'st 
    (
     list 
     (strcat (getenv "UserProfile") "\\Documents\\AutocadFiles\\gui.lsp")) 
      ... 

    ) 
    (strcat (getenv "UserProfile") "\\Documents\\AutocadFiles\\CompiledLisp.fas") 
) 

poi fare un file batch che contiene questo (Si noti che vlisp-compile-list non è documentato da nessuna parte se si fa trovare un po 'di documentazione per favore fatemelo sapere.!):

@echo off 
cd c:\Program Files\Autodesk\AutoCAD 2014 
start acad.exe /b build.scr 

si inizia AutoCAD ed esegue lo script specificato

successiva dovrete scaricare e installare AutoHotKey

e costruire uno script come questo per esso:

Run, BuildLisp.bat 

sleep, 30000 

WinActivate, Autodesk AutoCAD 2014 - [Drawing1.dwg] 

WinActivate, Visual LISP for AutoCAD <Drawing1.dwg> 

WinActivate, Autodesk AutoCAD 2014 - [Drawing1.dwg] 

sleep, 10000 

WinClose, Autodesk AutoCAD 2014 - [Drawing1.dwg] 

Quando si attiva questo script. Dovrebbe aprire AutoCAD e creare tutti i file LSP in un unico file .FAS, quindi chiudere.

Qualche cosa da notare. L'editor di Visual LISP deve essere aperto per la compilazione, la compilazione avverrà solo quando si verifica l'attivazione della finestra.

Se qualcuno trova un modo migliore. Per favore mi faccia sapere!

+1

questa soluzione non produce solo il file .fas e non il .vlx? –