Thứ Hai, 13 tháng 7, 2009

Hướng dẫn viết lisp bài 7

Bạn nên theo dỏi theo tên bài viết tăng từ nhỏ tới lớn thì mới đúng trình tự!
**Bây giờ thêm 1 dòng giúp bạn quyết định số lượng sẽ Array.
-Để nhập 1 chuổi vào lisp dùng dòng sau:
(setq sl (getstring 5"\nSo luong:"))
-Bạn lưu ý con số 5 này nhé, nếu không có nó thì khi nhập chuổi nút Space sẽ tương đương với enter nghĩa là kết thúc quá trình nhập chuổi, còn có nó thì Space là khoảng trắng.

Tùy theo nhu cầu chuổi cần nhập mà quyết định có số 5 này hay không.
-Để thấy lisp làm việc từng bước mình thêm dòng hỏi số lượng này vào sau dòng vẽ line và circle.
Sau khi bạn nhập số lượng vào thì thực hiện lệnh array như vậy thú vị hơn là chọn 2 điểm và hỏi số lượng hết rồi mới vẽ 1 lần xong lun.
(defun c:doanthang ()
(setq a (getpoint "\nChon diem: "))
(setq b (getpoint a"\nChon diem: "))
(command ".line" a b "")
(setq c (list (/ (+ (car a) (car b)) 2) (/ (+ (cadr a) (cadr b)) 2)))
(command ".circle" c a)
(command ".circle" a b)
(setq sl (getstring "\nSo luong:"))
(command ".array" "last" "" "p" c sl "" "")
(princ))

Chạy thử sẽ thấy sau khi chọn 2 điểm trên màn hình lisp sẽ vẻ ra:
-Đường thẳng từ a đến b.
-Đường tròn tâm c đường kính ab.
-Đường tròn tâm a bán kính ab. Lúc này lisp dừng lại và hỏi số lượng bạn nhập vào lisp tiếp tục array cái hình tròn này ra theo số mà bạn nhập vào và kết thúc lệnh.

Không có nhận xét nào:

Đăng nhận xét