Za pośrednictwem LISP w ZWCAD możliwe jest manipulowanie zmiennymi systemowymi ZWCADa a nawet samego systemu operacyjnego. Większość ustawień rysunku i całego środowiska ZWCAD można zmienić własnie przez zmienne systemowe.
Np. jeśli chcemy poprosić użytkownika o wskazanie punktu, ale ograniczyć możliwość przyciąganie jedynie do końców linii, należy zmienną systemową OSMODE ustawić na 1. Ważne jest, żeby na koniec działania funkcji przywrócić poprzedni stan zmiennej. Oczywiście nie jest to konieczne, ale źle odbierane przez Użytkowników jest nadpisywanie ich ustawień bez ich woli. Pełną listę zmiennych systemowych ZWCADa mogą Państwo znaleźć w pomocy ZWCADa.
Polecenie do uruchomienia skryptu LISP: ZmienneSystemowe
Kod źródłowy z opisem
;;; Zmienne systemowe
;;; zwcad.pl
;;; Polecenie do uruchomienia skryptu LISP: ZmienneSystemowe
;;; Opis: https://www.zwcad.pl/materialy-edukacyjne/kurs-lisp/przyklady-lisp/196-zmienne-systemowe.html
(defun C:ZmienneSystemowe ( / lastOSMODE selP)
(setq lastOSMODE (getvar "OSMODE") )
(setvar "OSMODE" 1)
(setq selP (getpoint "Wskaż koniec"))
(setvar "OSMODE" lastOSMODE)
)
; Zmienne systemowe Systemu Operacyjnego możemy kontrolować używając funcji getvar i setenv
; getenv - zwraca wartość określonej zmiennej systemowej.
; setvar - ustawia wartość zmiennej, oczywiście jeśli to możliwe
; Np. katalog użytkownika można odczytać tak:
(strcat (getenv "HOMEDRIVE") (getenv "HOMEPATH"))
; Nazwę komputera i domenę:
(getenv "COMPUTERNAME") (getenv "USERDOMAIN")