řadit podle: nejnovější | nejčtenější | nejkomentovanější
Spojení lsp funkce a odcl dialogu v jeden soubor
Kategorie » téma: LISP
20.09.2010 09.03 | | Komentáře: 0 komentářů | Přečteno: 12102x
V předchozím příspěvku věnovanému psaní obslužných kódů pro ovládací prcky OpenDCL dialogů jsme dohotovili dialogovou podobu funkce na zápis textu pod kótovací čáru či přepis textu kóty. Tím by mohla naše práce skončit. Můžeme se ovšem dostat do potíží ve chvíli, kdy budeme chtít tuto funkci poskytnout někomu dalšímu. Problém se skrývá na začátků funkce v řádce (dcl_project_load "D:/ODCL/textdim" T)
tedy v řádce, kde definujeme umístění odcl souboru s dialogovým oknem. V mém případě to bylo umístění D:\ODCL\textdim.odcl. Uživatele, kterému bychom chtěli funkci poskytnout, bychom museli navigovat, aby si založil na disku D příslušný adresář a do něj umístil odcl soubor. Jiná situace může nastat v případě, kdy je funkce distribuována pouze pro projektanty jedné kanceláře. Pak lze odcl soubor umísti na server a příslušnou adresu použít v syntaxi funkce dcl_project_load
Přesto nejjistějším řešením, je spojit lsp a odcl soubor v jeden soubor vlx. Postup je následující:
Obslužný kód pro ovládací prvky OpenDCL
Kategorie » téma: LISP
13.09.2010 09.07 | | Komentáře: 0 komentářů | Přečteno: 11793x
Potřebujeme-li k programům a funkcím napsaným ve VisualLISPu přidat pro jejich lepší ovládání dialogová okna, máme v AutoCADu možnost použít jazyk DCL – Dialog Control Language. Psaní dialogových oken v DCL je ovšem z dnešního pohledu tak katastrofální, že je snad lépe se o tomto jazyku vůbec nezmiňovat. DCL se již více jak deset let nevyvíjí a dialogová okna v něm napsaná mají velká omezení a to jak z hlediska své funkčnosti tak vzhledu. Odpovědí na nezájem Autodesku o další vývoj DCL je projekt Open DCL za kterým stojí dva vývojáři - Owen Wengerd a David Robison.Open DCL je open source aplikace určená právě pro vytváření uživatelského rozhraní pro funkce psané v AutoLISPu nebo VisualLispu. Zatímco DCL se již několik let nevyvíjí, u OpenDCL je tomu naopak. V úplně prvním příspěvku tohoto blogu jsme Vás informovali o tom, že vyšlo nové OpenDCL pro produkty Autodesku založené na AutoCADu 2010. Oproti standardnímu DCL nabízí OpenDCL široký výběr známých komponent pro vytváření uživatelského rozhraní. Uživatelské rozhraní se vytváří v samostatné aplikaci OpenDCL Studio. Práce s jednotlivými komponenty dialogových oken je podobná jako třeba při vytváření dialogů v prostředí Visual Basic. Obslužné kódy komponent se ovšem píší dál ve VisualLISPu. Pro zajištění běhu funkcí psaných v OpenDCL je nutná přítomnost komponenty OpenDCL Runtime. Komponenta je po instalaci přítomná v AutoCADu a runtime není potřeba zvlášť spouštět.Open DCL Studio i runtime jsou malé aplikace a lze je velmi snadno nainstalovat. Domovská stránka OpenDCL je na adrese http://opendcl.com Z adresy http://www.opendcl.com/download/ lze pak stáhnout aktuální Open DCL Studio a stažený msi soubor nainstalovat. Pokud nainstalujeme OpenDCL Studio, není již třeba zvlášť instalovat OpenDCL Runtime. Ten je totiž součástí studia. Naopak pokud budete chtít svoje funkce poskytnout i ostatním uživatelům je třeba je upozornit no to, aby si nainstalovali OpenDCL Runtime. Instalace OpenDCL Runtime je otázkou doslova pár vteřin. Instalace OpenDCL Runtime se viditelně nijak neprojeví. Do adresářů náležejících k AutoCADu přibude několik arx souborů, které se načítají při dalším spuštění AutoCADu. To, zda se instalace Runtime zdařila můžeme ověřit při dalším spuštění AutoCADu napsáním příkazu "opendcl" do příkazové řádky. Pokud Runtime běží, neobjeví se nic. V opačném případě AutoCAD odpoví "Unknown command". OpenDCL Studio je naproti tomu malá aplikace, jejíž ikonu najdeme po instalaci na ploše a v nabídce Start. Po instalaci Runtime i Studia je nutno restartovat AutoCAD.
Notepad++ plus/mínus rozezná syntaxi LISPu
Kategorie » téma: LISP
07.05.2009 22.04 | | Komentáře: 0 komentářů | Přečteno: 10766x
Nodepad++, který lze stáhnout například z české slunecnice.cz dovede částečně rozeznat příkazy AutoLISPu. Jak je vidět z následujících obrázků poradí si více méně s funkcemi AutoLISPu. Problémy má již ale s VisualLISPem a ani příkazy DCL mu nejsou známé. Přesto může být někdy výhoda psát kód v Notepadu++, když nechceme spouštět celý AutoCAD. Notepad++ umí totiž mimo jiné i to, co nezvládá vestavěný editor Lispu v AutoCADu a to sice sbalovat a rozbalovat jednotlivé větve programu.
Opakované zapsání textu pod kótovací čáru pomocí VisualLISPu
Kategorie » téma: LISP
23.08.2010 09.40 | | Komentáře: 0 komentářů | Přečteno: 10751x
Příklad z předchozího příspěvku je sice funkční, práce s ním je však poněkud těžkopádná, protože vyžaduje při každém zápisu textu pod kótovací čáru opakované zadání požadovaných hodnot. Přitom ale například při zápisu výšky okna a výšky parapetu má většinou více oken tyto hodnoty shodné. Potřebujeme tedy do funkce přidat cyklus, který dokud budeme vybírat kóty bude do jejich jmenovatele zapisovat zadaný text. Pro opakované zapsání textu pod kótovací čáru použijeme cyklus while. Syntaxe funkce while je následující:
(while (podmínka)
(výraz)
)