LISP help

Opis wyrażeń i parametrów języka LISP

Term Definition
=

Porównuje liczby i teksty zwraca true jeśli są takie same, false jeśli różne.

abs

Zwraca wartość bezwzględną funkcji

alert

Wyświetla okno z komunikatem podanym jako parametr

angle

(angle p1 p2)

określa kąt nachylenia odcinka łączącego dwa punkty.

Kąt określa nachylenie punktów podanych w aktualnym układzie współrzędnych względem osi X aktualnego układu.
Wartość kąta zwracana jest w radianach i zawiera się w przedziale <0 , 2 * pi>

Punkty będące argumentami wywołania funkcji muszą być podane w formacie  listy dwu lub trój elementowej np (list 0 0 ) (list 10 20 30 ) ale nie może być w postaci punktów variantów:

(angle (list  10 20) (list 10 30))
zwraca pi/2 czyli 1.5708...

(angle (list  10 20) (list 10 -30))
zwraca 4.71239...

; (angle (vlax-3d-point (list  10 20 0) ) (vlax-3d-point (list 10 -30 0) )) ; to zwróci błąd

Warto zwrócić uwagę również na funkcję getangle, która prosi użytkownika o podanie kąta przez wskazanie pary punktów.

append

(append lista1 lista2 ....)
łączy listy

ascii

zamienia literę na jej kod ascii

assoc

Wyszukuje w liście asocjacyjnej pierwszy pasujący element

atof

Zamienia tekst na liczbę rzeczywistą 

atoi

Zamienia tekst reprezentujący liczbę na jej wartość liczbową

atoms-family

(atoms-family format lista_symboli)
Funkcja zwraca wszystkie symbole, jakie są zdefiniowane: zmienne , funkcje AutoLISP, funkcje zdefiniowane w nakładkach.

car

zwraca określony element listy 

chr

chr zamienia kod ascii na literę

close

Zamyka otwarty plik 

command

Pozwala uruchomić wbudowane funkcje ZWCADa w kodzie LISP

cons

cons
Funkcja łączy pojedyncze elementy w listę asocjacyjną.

cvunit

(cvunit wartosc jPoczatkowa jDocelowa)
Zamienia wartość liczbową pomiędzy różnymi jednostkami

defun

 Tworzy nową funkcję, którą można używać w innych operacjach.

distance

zwraca odległość pomiędzy dwoma punktami

 

entsel

(entsel "Wskaż obiekt")
Prosi użytkownika o wskazanie elementu.

eq

sprawdza czy zmienne reprezentują ten sam element.

 

equal

(equal a b [x] )

sprawdza czy zmienne wskazują porównywane elementy są takie same
opcjonalnie można w przypadku liczb podać dokładność porównania

eval

wykonuje wyrażenie

expt

Podnosi liczbę do potęgi

 
findfile

Sprawdza czy plik istnieje.

fix

(fix liczba)
Zamienia liczbę rzeczywistą na całkowitą

float

(float liczba)

Zamienia liczbę całkowitą na rzeczywistą

foreach

Wykonuje wyrażenia na każdym elemencie listy

getdist

Prosi o podanie odległości

getint

Prosi Użytkownika o podanie liczby całkowitej

getpoint

(getpoint pt komunikat)

Prosi użytkownika o wskazanie punktu w aktywnej przestrzeni i zwraca wskazane współrzędne

getreal

 

(getreal komunikat)
Prosi Użytkownika o podanie liczby rzeczywistej

 

 

handent

(handent uchwyt) zwraca definicję objektu "entity" na podstawie przekazanego do funkcji uchwytu.

if

Instrukcja warunkowa
(if test wyrazenie1 [wyrazenie2])
test - jeśli warunek zostanie spełniony, instrukcja zwraca wartość wyrazenie1, w przeciwyny, wypadku zwraca wartosc wyrazenie2.

inters

Znajduje punkt przecięcia linii lub odcinków.

(inters L1SP L1EP L2SP L2EP [przedłuż])

itoa

Zamienia liczbę całkowitą na tekst

last

Zwraca ostatni element listy

length

Zwraca ilość elementów w liście

list

Funkcja tworzy dowolną listę.

listp

Sprawdza czy parametr jest listą

mapcar

Wykonuje określoną funkcję na wszystkich elementach listy

max

(max liczba1 liczba2 ... ) zwraca liczbę która jest największa spośród parametrów jej wywołania

member

Wyszukuje wystąpienie elementu w liście

min

(min liczba1 liczba2 ... ) zwraca liczbę która jest najmniejsza spośród parametrów jej wywołania

minusp

Stwierdza czy liczba podana jako argument funkcji jest liczbą ujemną

Funkcja zwraca T jeśli liczba jest ujemna, lub nil jeśli liczba jest dodatnia.
Funkcja działa zarówno na liczbach całkowitych jak i rzeczywistych

np.:
(minusp -6.2)   zwraca  T
(minusp 4 )   zwraca  nil

namedobjdict

Zwraca obiekt (w postaci entity name) nadrzędny względem obiektów niegraficzych w rysunku.

nth

 

Pobiera z listy element o określej pozycji

 

numberp

 

sprawdza czy parametr przekazany do funkcji jest liczbą

 

open

(open ścieżka tryb)

Otwiera plik 

Parametry:

  • ścieżka - pełna ścieżka dostępu do pliku
  • tryb: jedna z opcji
    • "r" - otwiera plik do odczytu
    • "w" - otwiera plik do zapisu
    • "a" - otwiera plik do dopisywania

Funkcja zwraca uchwyt do pliku.

polar

Funkcja oblicza współrzędne punktu na podstawie odległości i kąta względem punktu bazowego
(polar punkt kąt odległość)

punkt bazowy to lista współrzędnych
kąt wyrażony w radianach
kąt odmierzany jest wzdlędem osi X globalnego układu współrzędnych

print

Wyświetla treść komunikatu w pasku poleceń lub zapisuje do pliku

(print "test")

progn

Jeśli więcej niż jedno wyrażenie ma być wykonane w instrukcji warunkowej, można je zgrupować właśnie przy pomocy progn. ZWCAD wówczas imterpretuje wiele poleceń jak jedno i zwraca wartość ostatniego

read

zamienia tekst na symbol lub wydziela pierwszy element z tekstu rozdzielanego spacjami

read-line

Odczytuje linię wiersz z pliku tekstowego.

repeat

(repeat liczba wyrażenie1 [wyrażenie2 ...])
wykonuje określone operacje określoną ilość razy czyli stanowi klasyczną pętlę

reverse

odwraca kolejność elementów w liście

rtos

(rtos liczba [tryb [dokładność]])
zamienia liczbę rzeczywistą na tekst

setq

Funkcja przypisuje wartość do symbolu.

(setq zmienna wartość [zmienna2 wartość2])

ssget

Funkcja służy do wyboru obiektów

strcase

(strcase tekst [flaga])
zmienia wielkość liter w tekście.
Jeśli flaga ustawiona jest na wartość inną niż nil (np T) , wielkość liter zmieniana jest na małą.

strcat

łączy wiele tekstów w jeden

strlen

(strlen [tekst] [tekst] ... )
Zwraca ilość liter w tekście.
Jako parametry uruchomienia funkcji można zastowować wiele tekstów.

subst

Funkcja zamienia wszystkie wystąpnia elementu a inne

substr

 

(substr napis początek długość)

Pobiera część z tekstu.

 

tblsearch

Przeszukuje tablice w celu znalezienia określonego elementu. 

(tblsearch "block" "M8")

trans

(trans punkt ulkorginalny ukldocelowy flaga)

Funkcja przelicza współrzędne punktów pomiędzy różnymi układami współrzędnych

type

Funckja zwraca typ argumentu.

vl-catch-all-apply

Przechwytuje możliwość wystąpienia błędu
np:
(setq ret(vl-catch-all-apply 'entsel (list "Wybierz obiekt")))

vl-catch-all-error-message

Funkcja zwraca komunikat błędu przechwiconego przez funkcję : vl-catch-all-apply

vl-catch-all-error-p

 

(vl-catch-all-error-p arg)
Określa czy argument przekazany do funkcji jest obiektem błędu przechwyconego przez vl-catch-all-apply.

 

vl-cmdf

Uruchamia funkcję ZWCADa. Uprzednio sprawdzając poprawność parametrów jej wywołania

vl-load-com

Ładuje funckje VisualLisp

(vl-load-com)

vl-registry-descendents

Odczytuje listę kluczy i wartości rejestru

vl-registry-read

Odczytuje wartość wskazanego rejestru systemu.

vl-registry-write

Zapisuje wartość do wskazanego rejestru

vl-remove

Usuwa określony element z listy

vl-sort

(vl-sort lista funkcja-porównująca )

Funkcja sortuje elementy listy względem podanego kryterium.

vlax-3D-point

Tworzy punkt który jest wymagany przy większości operacji na obiektach
Wynikiem operacji jest wariant dwu lub trzy elementowy liczb typu double

vlax-ename->vla-object

Zamienia definicję elementu np (<Nazwa elementu: 7ed604b8>) czyli zmienną typu ENAME na obiekt typu VLA-OBJECT np #<VLA-OBJECT IZcadLine 095a32b4>

vlax-for

 

Iterator wykonujący określone operacje na każdym elemencie kolekcji przez wszystkie elementy kolekcji

(vlax-for element kolekcja [operacja1 [operacja2]] )

 

wcmatch

Wyszukuje dopasowania  wyrażeń regularnych.

(wcmatch "tekst" "wzór")

while

(while warunek wyrażenia ... )
funkcja wykonuje wyrażenie tak długo jak warunek jest spełniony