Ta funkcja pozwala na łatwe przekształcenie prędkości obrotowej na prędkość liniową. Wystarczy uruchomić LISP a następnie podać wartości, dzięki czemu prędkość liniowa zostanie obliczona.

Przekształcanie prędkości obrotowej na liniową

 

Polecenie do uruchomienia skryptu LISP: Predkosc

 

Kod źródłowy z opisem

 

;;; Przeliczanie prędkości obrotowej na liniową
;;; zwcad.pl
;;; Polecenie do uruchomienia skryptu LISP: Predkosc
;;; Opis: https://www.zwcad.pl/materialy-edukacyjne/kurs-lisp/przyklady-lisp/189-przeliczanie-predkosci-obrotowej-na-liniowa.html
(vl-load-com)
(defun XGetReal (tresc domyslny / Wynik Liczba)
;----------------------------------------------------------
;funkcja prosi użytkownika o podanie liczby rzeczywistej
;Argumenty: komunikat, zachętę, który sie wyświetli w linii poleceń w chwili uruchomienia funkcji
;Wynik: wartość liczbowa wpisana przez Użytkownika
; wartość liczbowa domyślna jeśli Użytkownik na klawiaturze wciśnie [ENTER] [SPACJA]
; nil - jeśli Użytkownik na klawiaturze wciśnie [ESC]
;----------------------------------------------------------
(setq Liczba(vl-catch-all-apply 'getreal (list tresc )))
(if (vl-catch-all-error-p Liczba)
(progn
(prompt (vl-catch-all-error-message Liczba))
(setq Wynik nil )
)
(progn
(if (null Liczba)
(setq Wynik domyslny )
(setq Wynik Liczba)
)
)
)
Wynik
)
(defun XGetdist (tresc domyslny / Wynik Odl )
;----------------------------------------------------------
;funkcja prosi użytkownika o podanie odległości (może byc wpisanie wartości na
; klawiaturze lub wskazanie pary punktów
;Argumenty: komunikat, zachętę, który sie wyświetli w linii poleceń w chwili
; uruchomienia funkcji
;Wynik: wartość liczbowa jeśli Użytkownik wpisze wartość z klawiatury
; wartość liczbowa - odległość pomiędzy parą punktów jeśli użytkownik wskaże
; parę punktów
; wartość liczbowa domyślna jeśli Użytkownik na klawiaturze wciśnie [ENTER] [SPACJA]
; nil - jeśli Użytkownik na klawiaturze wciśnie [ESC]
;----------------------------------------------------------
(setq Odl(vl-catch-all-apply 'getdist (list tresc ))) ;wykonanie funkcji getdist
; proszącej o wskazanie odległości (z klawiatury lub przez podanie pary punktów) zwraca
; odległość lub obiekt błędu
(if (vl-catch-all-error-p Odl) ; sprawdzenie czy zwrócony został obiekt błędu
(progn ; wystąpił błąd
(prompt (vl-catch-all-error-message Odl)) ;wyświetla w pasku poleceń komumikat błędu
(setq Wynik nil )
)
(progn ; Użytkownik określił odległość poprawnie lub [ENTER]/[SPACE]
(if (null Odl)
(setq Wynik domyslny )
(setq Wynik Odl)
)
)
)
Wynik
)
(defun C:Predkosc ( / )
;----------------------------------------------------------
; funkcja przelicza prędkość obrotową po okręgu o zadanym promieniu na prędkość
; liniową po jego obwodzie
; Argumenty:
; Wynik:
;----------------------------------------------------------
(setq n (XGetReal "Podaj prędkość obrotową w [obr/min]" nil) )
(if n (progn
(setq Fi (XGetdist "Podaj średnicę koła w [m]" nil))
(if Fi (progn
(setq v (* 2 pi n (/ Fi 2.0)))
(print (strcat "Prędkość obrotowa {n} = " (rtos n 2 4) "[obr/min]"))
(print (strcat "średnica koła {Fi} = " (rtos Fi 2 4) "[m]"))
(print (strcat "Prędkość liniowa {v} = " (rtos v 2 4) "[m/min]" ))
)); endIf podano średnicę koła
)); endif podanie predkości
)

 

Wykonanie w ZWCAD 2023

przeliczanie predkosci liniowej

 

Wykonanie w ZWCAD 2015

 

LISP Predkosc 2015

 

Wykonanie w ZWCAD Classic

LISP Predkosc Classic