Vytisknout stránku | Zavřít okno

Spuštění lispu

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: AutoCAD
Popis fóra: Otázky kolem aplikací AutoCAD a AutoCAD LT, AutoCAD web, prohlížečů, DWG a DXF, Design Review, Navisworks, nadstavby, Drive a cloud Autodesk
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=8127
Datum vytištění: 12.čer.2026 v 13:16


Téma: Spuštění lispu
Odeslal: s-lopo
Předmět: Spuštění lispu
Datum odeslání: 19.úno.2009 v 10:32
Potřebuji aby se mi Lisp spustil při otevření nebo uložení výkresu nevíte jak na to?



Odpovědi:
Odeslal: zdrk
Datum odeslání: 19.úno.2009 v 11:02
Viz příbuzné tipy - http://www.cadforum.cz/cadforum/qaID.asp?tip=267 - Automatické načtení doplňkových aplikací


Odeslal: s-lopo
Datum odeslání: 19.úno.2009 v 11:13
tam mě to bohužel nepustí :-) pouze pro zvané 


Odeslal: mnementh
Datum odeslání: 19.úno.2009 v 11:15
Sak to neni VIP odpoved? Jakto ze se nezobrazuje?


Odeslal: Sedláček
Datum odeslání: 19.úno.2009 v 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
 


Odeslal: alfred
Datum odeslání: 19.úno.2009 v 11:30
Původně odeslal(a) s-lopo s-lopo napsal(a):

Potřebuji aby se mi Lisp spustil při otevření nebo uložení výkresu nevíte jak na to?


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")



Odeslal: Sedláček
Datum odeslání: 19.úno.2009 v 11:47
Původně odeslal(a) Sedláček Sedláček napsal(a):

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
 
 
 
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


Odeslal: Ferdinand
Datum odeslání: 19.úno.2009 v 12:43
Ano, řeším to také spouštěním pomocí skriptů.

-------------
-FerTh-


Odeslal: zdrk
Datum odeslání: 19.úno.2009 v 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.



Vytisknout stránku | Zavřít okno