2013-07-31 27 views
6

Mam ogromny LISP projekt, zrobiłem plik prv który pozwala na VLIDE skompilować ten projekt w jeden vlx pliku (również kompiluje plik fas). Problem polega na tym, że nie można skompilować projektu spoza autokorektury lub wiersza poleceń, więc nie mogę zautomatyzować budynku vlx za pomocą skryptu.automatyzacja budowy dla AutoCAD Lisp plików

Pytanie brzmi: czy jest jakikolwiek sposób to zrobić? Czy mogę skompilować fas-vlx spoza autokonfiguracji? Czy mogę uruchomić autocad, podając skrypt, który kompiluje prv, a następnie zamyka autocad?

Odpowiedz

0

zrobiłem kilka kopanie, masz wyrejestrowany ten link

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

+0

Nie chcę ładować aplikacji, ale automatycznie budować plik vlx z pliku źródłowego LISP z zewnątrz autocad –

+0

Nie jestem pozytywny, ale nie sądzę, że możesz. Minęło trochę czasu, odkąd skończyłem z seplenią, ale uważam, że musisz skompilować się w VLIDE. –

+0

@trippino update –

1

Musisz uruchomić program AutoCAD, ale i tak robi się trudne, gdyż wymaga użycia undocumented functions.

+0

Widziałem już ten zestaw instrukcji, a nieudokumentowanie jest powodem mojego pytania :) –

+0

Ponadto: próbowałem tych funkcji, ale wydaje się, że są one ważne tylko do kompilacji pliku 'fas', a nie' vlx' –

0

Jeśli optymalizacja i ochrona źródłem jest ogólny cel, tutaj jest projektem open source, który dba o to:

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

+0

Używam już BricsCAD i kompilacja plików 'des' może być zautomatyzowana, ale ja ' m szuka rozwiązania dla AutoCAD. Dziękujemy –

1

Uważajcie to trochę Rube Goldberg. ale działa!

będę wykazując z AutoCAD 2014.

Najpierw trzeba zrobić plik Autocad skrypt zawierający kilka nielegalnych poleceń. Nazwałem mój build.scr

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

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

Następnie zrób plik wsadowy, który zawiera (Zauważ, że nie jest udokumentowana vlisp-compile-list nigdzie Jeśli znajdziesz jakiś dokumentacji proszę daj mi znać.!):

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

zaczyna AutoCAD i uruchamia określony skrypt

następny trzeba będzie pobrać i zainstalować AutoHotKey

i zbudować skrypt tak dla niego:

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] 

Po uaktywnieniu tego skryptu. Powinien otworzyć AutoCAD i skompilować wszystkie swoje pliki LSP w pojedynczy .FAS, a następnie zamknąć.

Somethings to Note. Edytor Visual LISP musi być otwarty do kompilacji, Kompilacja nastąpi tylko wtedy, gdy nastąpi aktywacja okna.

Jeśli ktoś znajdzie lepszy sposób. Proszę daj mi znać!

+1

czy to rozwiązanie nie produkuje tylko pliku .fas, a nie .vlx? –