řadit podle: nejnovější | nejčtenější | nejkomentovanější

Příklad vytvoření dialogu v OpenDCL Studiu

Kategorie » téma: LISP

06.09.2010 08.16 | Jan Panoch | Komentáře: 0 komentářů | Přečteno: 9537x

OpenDCL

Kategorie » téma: LISP

03.09.2010 08.59 | Jan Panoch | Komentáře: 0 komentářů | Přečteno: 11462x

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.

Opakované zapsání textu pod kótovací čáru pomocí VisualLISPu

Kategorie » téma: LISP

23.08.2010 09.40 | Jan Panoch | Komentáře: 0 komentářů | Přečteno: 10740x

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)

)

Zapsání textu pod kótovací čáru pomocí VisualLISPu

Kategorie » téma: LISP

23.08.2010 09.28 | Jan Panoch | Komentáře: 0 komentářů | Přečteno: 14848x

 
Z předchozích příspěvků věnovaných přístupu k objektům a jejich vlastnostem pomocí VisualLISPu máme již dostatek znalostí, abychom napsali první užitečnou funkci. Po spuštění funkce budeme dotázáni na text, který se má zapsat pod kótovací čáru a po následném výběru kóty se do ní zadaný text dopíše tak, že se stane její součástí. V tomto příkladu použijeme dvě funkce, o kterých jsme se zatím nezmínili.
 
getstring - tato funkce umožňuje získat textové řetězce zadané do příkazové řádky (i číslo takto získané je chápáno jako text). Syntaxe funkce je následující:
(getstring "výzva")
Do uvozovek namísto slova výzva dopíšeme text, jakým jsme k zadání řetězce vyzváni. Pokud budeme chtít zadat řetězec s mezerou, musíme doplnit argument  t, který zajistí, že klepnutí na mezerník bude chápáno jako mezera a ne jako Enter. Syntaxe pak bude následující:
(getstring t "výzva")
 
strcat – je funkce,která spojí více textových řetězců v jeden (STRing CATenation). Syntaxe funkce je jednoduchá:
(strcat prvnitext druhytext tretitext ...)

Přístup k vlastnostem objektů pomocí VisualLISPu

Kategorie » téma: LISP

23.08.2010 09.21 | Jan Panoch | Komentáře: 2 komentářů | Přečteno: 17404x

< 1 .. 10 11 12 13 14 Stránka 15 16 17 18 19 20 .. 33 >