|
AutoCAD... AutoLISP... VisualLISP... |
|
[9] Linia stanu |
|
Zanim zajmę się linią stanu zacznę "od góry" czyli od belki tytułowej samego AutoCAD-a. Poniżej przedstawione są fragmenty belki AutoCAD-a w wersji 2000. Posiadała ona dwie niezaprzeczalnie dobre cechy. Po ustawieniu wyświetlania pełnej nazwy pliku (teraz to również możliwe) tekst justowany był do lewej krawędzi, czyli do poczatku ekranu, a nie jak jest teraz centralnie. Niby nic, lecz wydaje się to wygodniejsze.
|
|
|
Druga rzecz, która naprawdę była wygodna - informacje o stanie pliku, czyli czy plik jest zapisany czy nie. Przyglądając się obu belkom, od razu widać czym się różnią. Belka powyżej pokazuje nazwę z gwiazdką informujacą o fakcie zmian w rysunku i niezapisania ich. Nazwa pliku bez gwiazdki (poniżej) informuje już o zapisaniu pliku:
|
|
|
Ponieważ chyba musi być regułą, że gdy jest już coś dobrego w programie, to w następnej wersji trzeba to usunąć, i tak niestety się dzieje. W obecnych wersjach gwiazdka w linii poleceń już się nie pojawia.
Na własny użytek, zmodyfikowałem linię stanu AutoCAD-a, w ten sposób że w ostrych nawiasach pojawia się pełna nazwa aktualnie otwartego rysunku. Gdy rysunek zostanie w dowolny sposób zmieniony, przed nazwą pojawi się sekewncja znaków "< + >". Widać to na ilustracjach poniżej. Dowolna zmiana statusu pliku jest automatycznie odzwierciedlana w linii stanu. Z pomocą przychdzą mi cztery zmienne systemowe AutoCAD-a: DWGNAME - nazwa aktualnie otwartego rysunku, DWGPREFIX - ścieżka dostępu do tego pliku, DBMOD - status jego modyfikacji, oraz MODEMACRO - wyświetlająca ciąg tekstowy w linii stanu. Wartość tekstu do MODEMACRO przekazywana jest jako wyrażenie języka DIESEL, a ustawienie samej zmiennej oczywiście w AutoLISP: |
(setvar "MODEMACRO"
(strcat
"$(if,$(=,$(getvar,dbmod),0),<,< + > <)"
"$(getvar,dwgprefix)"
"$(getvar,dwgname)"
"> "
)
)
|
Tak wygląda linia stanu AutoCAD-a: z nazwą pliku który jest zapisany, oraz poniżej - plik niezapisany:
|
|
Oczywiście powyższe wyrażenie lispowe, jest ładowane do każdego rysunku AutoCAD-a. Ja używam tutaj pliku typu *.mnl - czyli lispa ładowanego razem ze skojarzonym z nim, moim własnym plikiem menu.
![]()
O zmiennej MODEMACRO i wyrażeniach DIESEL jest jeszcze tutaj: [44] Diesel
aktualizacja: 15-09-2009 |
|
|