- Szczegóły
- Nadrzędna kategoria: Kurs LISP
- Kategoria: Przykłady LISP
Lispowa choinka przykładem użycia generatora liczb losowych w programie CAD.
Dziś w przypływie entuzjazmu przedświątecznej atmosfery chciałbym przedstawić funkcję rysującą choinkę. Sama choinka nie jest oczywiście celem, ale na jej przykładzie można pokazać np losowanie liczb, tworzenie bloków, tworzenie polilinii, kreskowania i innych obiektów, manipulację właściwościami obiektów, zbliżanie i oddalanie widoku.
- Szczegóły
- Nadrzędna kategoria: Kurs LISP
- Kategoria: Przykłady LISP
W ZWCAD w wersjach wcześniejszych niż ZWCAD+ 2014 funkcja pedit pozwalała na wskazanie okręgu i zamieniała go automatycznie na polilinię. W wersji 2014 programu CAD zaznaczenie okręgu nie jest możliwe, ograniczenie to zostało wprowadzone dla uzyskania zgodności z AutoCADem, gdzie w obecnej wersji działa to właśnie w ten sposób.
Jeśli potrzebowalibyśmy jednak fukcji działającej analogicznie, czyli zamieniającej okrąg na polilinię, można to zrobić przy użyciu następującej procedury:
- Szczegóły
- Nadrzędna kategoria: Kurs LISP
- Kategoria: Przykłady LISP
Użytkownik ZWCADa zasugerował nam, że przydatnym narzędziem w ZWCAD mogłaby być funkcja, która po zaznaczeniu elementów w rysunku, utworzy polilinię - prostokąt, obejmujący wszystkie te elementy.
ZWCAD posiada LISPową funkcję, która pozwala na odczytanie wierzchołków przekątnej takiego prostokąta dla każdego elementu.
Po użyciu tej funkcji na każdym zaznaczonym elemencie pozostaje nam je połączyć.
Cała procedura - skrypt LISP - jest następujący:
- Szczegóły
- Nadrzędna kategoria: Kurs LISP
- Kategoria: Przykłady LISP
Otrzymaliśmy zapytanie od klienta o możliwość wykonania skryptu, który rozbije projekt na wiele plików DXF, gdzie w każdym z nich będzie tylko jeden element z pliku źródłowego. Skrypt taki może być użyty np. do generowania ścieżek dla maszyn numerycznych. Skrypt może być interesującym przykładem wykorzystania funkcji WBlock. Ważne jest by po użyciu skrytptu wybrać plik, na podstawie którego zostaną stworzone nowe pliki.
- Szczegóły
- Nadrzędna kategoria: Kurs LISP
- Kategoria: Przykłady LISP
Na naszym forum CAD pojawiło się zapytanie o funkcję opisującą współrzędną wskazanego punktu.
Opracowałem taką funkcję i chciałbym się nią podzielić:
- Szczegóły
- Nadrzędna kategoria: Kurs LISP
- Kategoria: Przykłady LISP
Przykład ten będzie kontynuacją poprzedniego, w którym przedstawiłem zliczanie elementów zaznaczonych w rysunku. Teraz takie dane wyświetlimy w oknie.
- Szczegóły
- Nadrzędna kategoria: Kurs LISP
- Kategoria: Przykłady LISP
Zestawienie zaznaczonych elementów.
W poniższym przykładzie przedstawię jak można zliczyć elementy zaznaczone w rysunku. Wygenerowana lista będzie zawierała nazwę typu obiektu oraz ilość elementów tego typu. Dla bloków oddzielne wpisy powstawną dla każdego typu bloku.
- Szczegóły
- Nadrzędna kategoria: Kurs LISP
- Kategoria: Przykłady LISP
W tym przykładzie chciałbym pokazać jak można usprawnić ZWCADową funkcję przerwij w dwóch punktach. Domyślna funkcja ZWCADa prosi o wskazanie obiektu i punktu przerwania. Jako pierwszy punkt domyślnie jest przyjmowany punkt kliknięty przy wskazywaniu obiektu, jednak ten punkt nie uwzględnia punktów charakterystycznych, co może spowodować niedokładności w wynikowym obiekcie.
- Szczegóły
- Nadrzędna kategoria: Kurs LISP
- Kategoria: Przykłady LISP
Standardowe funkcje ZWCADA pozwalają na narysowanie okręgu stycznego do trzech obiektów. Wykorzystanie ich w LISP jest nieco skomplikowane, dodatkowo jeśli chcemy narysować okrąg styczny do linii 'wirtualnych' np zdefiniowanych w bloku konieczne jest opracowanie własnej funkcji definiującej okrąg wpisany w trójkąt.
- Szczegóły
- Nadrzędna kategoria: Kurs LISP
- Kategoria: Przykłady LISP
Poniższy przykład prezentuje jak podzielić listę na mniejsze listy o określonej długości.
- Szczegóły
- Nadrzędna kategoria: Kurs LISP
- Kategoria: Przykłady LISP
Tym skryptem mozna bardzo łatwo stworzyć kreskowanie dowolnego elementu.
- Szczegóły
- Nadrzędna kategoria: Kurs LISP
- Kategoria: Przykłady LISP
Celem tego przykładu jest stworzenie funkcji ułatwiającej wstawianie rymiaru liniowego z dodatkowym symbolem średnicy.
Strona 1 z 5