--

 

--

AutoCAD i AutoLISP

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.


Ostatnia aktualizacja: 30.V.2002


Kontakt
© 1999, 2002