Zobrazit plnou verzi příspěvku: Spuštění lispu

s-lopo
19.02.2009, 10:32
Potřebuji aby se mi Lisp spustil při otevření nebo uložení výkresu nevíte jak na to?

zdrk
19.02.2009, 11:02
Viz příbuzné tipy - Automatické načtení doplňkových aplikací

s-lopo
19.02.2009, 11:13
tam mě to bohužel nepustí :-) pouze pro zvané 

mnementh
19.02.2009, 11:15
Sak to neni VIP odpoved? Jakto ze se nezobrazuje?

Sedláček
19.02.2009, 11:21
Nemám plný autocad a tak lovím v paměti.
 
Nahrát lisp do ACADDOC.lsp (ten se načítá s každým výkresem)
 
do název funkce začí S:
 
např (defun S:pokus ...
 
 
Ale pouze lovím v paměti, chce to vyzkoušet
 

alfred
19.02.2009, 11:30
[QUOTE=s-lopo] Potřebuji aby se mi Lisp spustil při otevření nebo uložení výkresu nevíte jak na to?
[/QUOTE]

Jen si to ujasnim. Potrebujete aby po orevreni vykresu se lisp nacetl a nejaka konkretni funkce se spustila. Dale potrebujete aby pri pouziti prikazu pro ulozeni _QSAVE se spustila nejaka funkce LISPu.

1. automaticke nacteni lispu pri otevreni souboru.
prikaz _apploac a dejte si je do aktovky (nactou se pri spusteni)

2. automaticke spusteni po otevreni.
Vytvorte si LISP, kde bude pouze spusteni prislusnych prikazu, ne jen definice novych funkci)
Napriklad pokud dam do souboru.lsp , ktery nactu pri startu

(print "Ahoj, spustil se soubor.lsp")

tak se pri nacteni tento prikaz provede.

3. automaticke provedeni prikazu pri ulozeni.
Mate dve moznosti:
a) funkce s reaktorem na prikaz. Pak se skutecne pri pouziti prikazu (napr _QSAVE) spusti jeste neco dalsiho (napr. automaticke ulozeni v aktualni i ve starsi verzi DWG souboru, apod...). Je to slozitejsi.

b) vytvorte si vlastni funkci, kde jak ulozite, tak i udelate to co chcete. V podstate jen do te funkce na spravne misto pridate radek:
(command "_qsave")


Sedláček
19.02.2009, 11:47
[QUOTE=Sedláček]Nemám plný autocad a tak lovím v paměti.
 
Nahrát lisp do ACADDOC.lsp (ten se načítá s každým výkresem)
 
do název funkce začí S:
 
např (defun S:pokus ...
 
 
Ale pouze lovím v paměti, chce to vyzkoušet
 [/QUOTE]
 
 
Tak jsem si to moc dobře nepamatoval. Nestačí S:pokus.. ale
definovat funkci S::STARTUP
 
"Všechny startovací soubory LISPU (acad.lsp, acaddoc.lsp a .mnl) jsou načteny před úplným dokončením inicializace výkresy. Většinou to nezpůsobí žádný problém, ale správná fuknčnost funkce command není garantována před dokončením inicializace výkresu.Pokud je funkce S::STARTUP obsažena v souboru acad.lsp, acaddoc.lsp nebo .mnl, je volána v okamžiku, kdy vytváříte nový nebo otevíráte již existující výkres. Můžete tedy vložit definici S::STARTUP do startovacího souboru LISPu k provedení inicializačních kroků."
 
Jinak platí co napsal ALFRED

Ferdinand
19.02.2009, 12:43
Ano, řeším to také spouštěním pomocí skriptů.

zdrk
19.02.2009, 12:46
Další možností je při načítání Acad.cui mít vytvořen i Acad.mnl a zam zadaný lisp pro načtení (příklad -(LOAD "------.lsp"). Lisp musí být uložen v adresáři, ke kterému je odkaz v autocadu.zdrk2009-02-19 12:49:21