Thứ Tư, 7 tháng 4, 2010

Hướng dẩn viết lisp bài 17:

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ự!

*Khi chọn đối tượng lại nảy sinh vấn đề nếu lisp hỏi chọn đối tượng mà không có đối tượng nào được chọn hết lúc này doituong có giá trị là nil mà lisp vẩn tiếp tục chạy thì sẽ phát sinh lổi. Nên cần có hàm điều kiện kiểm tra nếu doituong khác nil thì tiếp tục chạy nếu doituong là nil thì báo là không có đối tượng nào và kết thúc lệnh:
-Hàm If là hàm điều kiện nếu như mà là thì. Cú pháp như sau:

(if (điều kiện 1) (PROGN

thì làm công tác 1
)
)
(IF (điều kiện 2) (PROGN
Thì làm công tác 2
)
)

*Các hàm so sánh:
< nhỏ hơn.
> lớn hơn.
<= nhỏ hơn hoặc bằng.
>= lớn hơn hoặc bằng.
= bằng.
/= không bằng.

Bây giờ áp dụng vào lisp trên để kiểm tra đối tượng chọn có giá trị hay không để đưa ra quyết định kết thúc lệnh hay thực hiện lệnh.

(defun c:tlkt ()
(princ "\nChon doi tuong")
(Setq doituong (Ssget))
(if (= doituong nil) (PROGN
(princ "\nKhong tim thay doi tuong nao!")
)
)
(IF (/= doituong nil) (PROGN
(setq a (getpoint "\nChon diem goc: "))
(setq b (getpoint a"\nChon diem den: "))
(setq so (getreal "\nSo lan di chuyen: "))
(setq daiab (distance a b))
(setq dodai (/ daiab so))
(setq gocab (angle a b))
(setq c (polar a gocab dodai))
(setq sol (fix so))
(repeat sol
(command "DELAY" "5000" "")
(command ".MOVE" doituong "" a c)
)
)
)
(princ)
)

-Chạy lệnh:
+Chọn 1 vùng trống nào đó lisp sẽ kết thúc và báo: Khong tim thay doi tuong nao!.
+Chọn có đối tượng lisp sẽ thực hiện như lisp lúc nảy.

3 nhận xét:

  1. CÀNG ĐỌC CÀNG NHIỀU ĐIỀU THÚ VỊ. HICHHIC

    Trả lờiXóa
  2. Dòng thông báo "Khong tim thay doi tuong nao!" không thấy xuất hiện khi quét vùng trống anh ơi. Anh xem lại nhé. Nó bị sao ấy!!!!

    Trả lờiXóa
  3. Quét vùng trống xong enter nó sẽ báo dưới dòng command. Nếu ko thấy mà bạn nhấn f2 thấy có thì là do dòng lệnh bạn cho hiển thị ít thông báo nên nó nhảy lên trên bạn ko thấy.

    Trả lờiXóa

Khi viết nhận xét mong bạn không đứng vai trò nặc danh! Bạn có thể chọn Name/Url trong đó Url là http://duy782006.blogspot.com/ như vậy hay hơn nặc danh bạn nhé.