|
Strona główna
Album rodzinny
Graciarnia
|
Linki AutoLISP-owe
Coś w AutoLISP'ie
Kilka napisanych przeze mnie programików w AutoLISP'ie. Może komuś się przydadzą.
Wszystko co tu umieściłem ma status freeware, ale jeśli podoba Ci się, byłbym wdzięczny za
email, a jeszcze lepiej pocztówkę ;-) .
- ToggleBlock
- TogBlk.lsp to programik, który pozwala ominąc idiotyczne ograniczenie nałożone w AutoCAD'zie 2000 na
bloki - otóż inserty bloków zostały rozdzielone na 2 odrębne entycje : "INSERT" i "MINSERT". Od tej pory
niemożliwe jest wstawienie pojedyńczego bloku, a następnie zwielokrotnienie go przez nadanie mu pewnej
ilości rzędów i kolumn - niemożliwe jest również rozbicie minsertu przez wyzerowanie ilości rzędów
i kolumn. A ponieważ czasami warto rozbic minsert by wygodnie przedefiniować blok - moim zdaniem
rozróżnienie to tylko przeszkadza. W dodatku jest ono całkowicie sztuczne, bo nastąpiło przez dodanie
do opisu entycji kodów DXF (100 . "AcDbBlockReference") i (100 . "AcDbMInsertBlock") - podczas gdy
pozostałe pola są niezmienione. Program TogBlk.lsp przekształca "INSERT" w "MINSERT" i na odwrót -
wystarczy tylko kliknac na bloku myszką. W wypadku minsertu tracona jest oczywiście informacja o
ilości rzędów i kolumn, ale łatwo to zmienić edytując właściwości.
TogBlk.zip - 2 kB.
- BRepl
- BRepl.lsp - pozwala hurtowo zastąpic wiele bloków na rysunku innym blokiem, zmieniając
przy okazji ich kąt obrotu. Zastąpić można również blokami odcinki linii - punkt początkowy
linii jest wtedy traktowany jak punkt wstawienia bloku, a punkt końcowy definiuje kierunek
obrotu. Mozna w ten sposób n.p. zwiększyć dokładność rysunku, zastępując kreski - symbole
śrub - blakami reprezentującymi śruby.
BRepl.zip - 4 kB.
- ChangeText
- ChgT.lsp - pozwala na jednoczesną zmianę niektórych parametrów entycji typu tekstowego:
"TEXT", "MTEXT", "DIMENSION" i "ATTDEF" - wartość tekstu (n.p. możesz we wszystkich wymiarach na rysuku
wpisać <> - co przywróci im domyślne wartości wymiarów, o ile zostały wymuszone inne),
proporcje liter , ich wysokość i pochylenie, oraz styl tekstu. W AutoCAD'zie 2000 w zasadzie
nie bardzo przydatne - ale w r.14 może się bardzo przydać.
ChgT.zip - 8 kB.
- Profile Shop, ver 0.75
- Profil75.lsp - zarzucony dawno temu, niemniej działający poprawnie program rysujący
profile kształtowników stalowych. Pozwala przeglądać bazę profili, wyświetlając przy tym ich
podstawowe charakterystyki. Tworzy blok (o ile dany profil nie jest już w rysunku zdefiniowany),
a następnie umożliwa wstawienie tego bloku do rysunku. W założeniu program miał zastąpić
dziesiątki bloków ze zdefiniowanymi profilami, zalegające na moim dysku i rolę tę spełnia
wystarczająco dobrze, choc wiele w nim moznaby jeszcze poprawić - n.p. mało eststyczny
układ okienka dialogowego...
Aktualna wersja pozwala narysować profile I, Ip, IPE, HEA i HEB.
Może być łatwo rozbudowywany o kolejne profile podobne do powyższych - definicje profili są
zapisane w pliku PROFILES.DEF, który jest samowyjaśniający się. Zaprzestałem rozwijania tego
projektu w momencie gdy spełniał wystarczająco dobrze moje potrzeby, niemniej gdyby komuś
chciało się nad nim trochę popracowac (n.p. wprowadzić definicje danych dla profili HEM, HEC,
IPE-A, IPE-R, HEA-A, albo dokończyć funkcję rysującą ceowniki - chętnie przyjąłbym pomoc lub
współautorstwo ;-)
Profil75.zip - 11 kB.
- ModeMacro
- ModMcr.lsp - zupełny drobiazg - ułatwia modyfikowanie standardowej zmiennej AutoCAD'a
MODEMACRO, która pozwala w linii statusu AutoCAD'a wyświetlać dodatkowe informacje -
n.p. nazwę aktywnego stylu wymiarowania czy stylu tekstu, albo wartość zmiennej SNAP. Napisany
w taki sposób, że łatwo możesz dołączac do tego takie informacje jakie chcesz.
Do definiowania zmiennej MODEMACRO używa sie języka DIESEL (stąd nieco "dziwna" składnia).
ModMcr.lsp - 1 kB.
- DXF Info
- DXFInfo.lsp - inny drobiazg - pozwala odczytać pełna listę kodów DXF (prawie - z
wyjątkiem kodów specjalnych, niemal zupełnie bezużytecznych) dowolnej entycji. Trzeba znać
znaczenie tych kodów by do czegoś się przydał - ale ponieważ sam często tego używam, może komuś
innemu jeszcze też się przyda.
DXFInfo.lsp - 3 kB.
- Timestamp
- Timestamp.DXF - wyjątkowo, nie jest to program lecz blok. Dość szczególny ;-)
Korzystając z nieudokumentowaanej w AutoCAD'zie komendy (czy może raczej entycji)
RTEXT, blok ten wstawiony do rysunku, umożliwia pokazanie na tym rysunku automatycznie
aktualizowanych informacji, podobnych do takich jak te, które umieściłem
w przykładowym pliku, n.p.:
data wydruku pliku (w istocie jest to data ostatniej regeneracji),
data utworzenia pliku, nazwa rysunku, login użytkownika i inne.
Lista informacji może być modyfikowana. Wystarczy otworzyć ten plik i go wyedytować.
Pola z informacjami są po prostu wyrażeniami języka DIESEL, które pobierają wartości
odpowiednich zmiennych AutoCAD'a. Oczywiście, można również w dowolny sposób przemieścić
elementy tego bloku, dopasowując jego kształt do własnego układu elementów w rysunku,
można również zmienić format zapisu daty n.p wpisując w wyrażeniu DIESEL
YYYY/MON/DD HH:MM zamiast YYYY-MO-DD HH:MM:SS. Składnia formatu daty jest opisana
w helpie (Diesel, edtime). Przy okazji pozwalam sobie na mały żart, który może
Ci powiedzieć, jaka data oznacza dla ACAD'a "dzień 0" ;-)
Uwaga! Aby skorzystać z tego bloku, musisz najpierw otworzyć plik timestamp.dxf i
zapisać go jako timestamp.dwg .
Timestamp.zip - 4 kB.
|