24 kwietnia 2024


Aby aplikacje napisane w AutoLISPie stały się w pełni profesjonalnymi trzeba umieć zarządzać w nich nie tylko elementami graficznymi AutoCADa ale ogólnie całą bazą rysunku. Pełny dostęp do niej gwarantują tzw. tablice symboli, o których napiszemy w niniejszym artykule.

Andrzej Gumuła

Jak pamiętamy każdy element graficzny ma zbiór właściwości (ang. propiertes), które poprzez ActiveX nie tylko opisują jego położenie w przestrzeni ale decydują o jego wyglądzie. Linię możemy jednoznacznie określić znając jej początek i koniec. Do opisania okręgu wystarczy znać jego środek oraz promień (zakładamy, że rysujemy w przestrzeni dwuwymiarowej). O wyglądzie samego obiektu mogą decydować takie jego cechy, jak warstwa, na której został narysowany, czy przypisany mu rodzaj linii. M. in. te cechy będziemy nazywać symbolami. Definicje symboli (nie należy mylić tego słowa z nazwą obiektu rysunkowego symbol, (ang. shape) używanym w samym AutoCADzie) zapisywane są w tablicach (definicja obiektu graficznego symbol zapisywana jest w pliku tekstowym shp, który następnie jest kompilowany). Każdy symbol coś reprezentuje, np. w tablicy rodzajów linii możemy określić sposób rysowania linii kreskowanej. Symbolami są nie tylko cechy bezpośrednio związane z obiektem (opisujące go), ale generalnie także niegraficzne obiekty AutoCADa, opisujące np. położenia – jak rzutnie, układy współrzędnych, widoki. AutoCAD dysponuje dziewięcioma podstawowymi tablicami symboli. Są to kolejno tablice: aplikacji APPID, bloków BLOCK, styli wymiarowych DIMSTYLE, warstw LAYER, rodzajów linii LTYPE, styli (tekstu) STYLE, układów współrzędnych UCS, widoków VIEW oraz rzutni VPORT. Warto zaznaczyć, że poza tablicami symboli niegraficzne obiekty mogą być (począwszy od wersji R14) zapisywane także w słownikach (ang. dictionaries). AutoLISP poprzez swoje funkcje umożliwia dostęp do wszystkich tablic symboli. Definicja symbolu podobnie jak obiektu graficznego AutoCADa składa się z listy kodów DXF. Generalnie kody DXF zapisane są w parze kropkowej. Pierwszy jej element określa identyfikator kodu, drugi jego wartość. Każda tablica zawiera kod 0, który określa rodzaj tablicy. Występujący po nim kod 2 określa nazwę symbolu zapisanego w tablicy (identyfikuje tablicę danych symbolu). W kodzie 5 zawarta jest informacja o uchwycie (ang. handle) symbolu. Jest to unikatowa liczba szesnastkowa przypisana na stałe do obiektu. Każdy obiekt w AutoCADzie posiada uchwyt, przez co można go w prosty sposób identyfikować. Wartość uchwytu jest niezmienna, także w kolejnych sesjach rysunkowych. Dla tablicy styli wymiarowych – co stanowi wyjątek – wartość uchwytu zapisywana jest w grupie kodów 105.

cały artykuł dostępny jest w wydaniu 9 (24) wrzesień 2009