Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Vutienyeuduyen

Lisp nhập đoạn thẳng và kiểm tra điều kiện nhập

Các bài được khuyến nghị

 

De bai:nhap vao chieu dai 1 doan thang neu du lieu dau vao >0,thi thuc hien lenh ve doan thang.Neu du lieu khong dung thi nhap lai va ve lai.

Hề hề hề,

Phải chăng bạn cần cái này:

(defun c:ln ()

(while (or (<= (setq len (getreal "\n Nhap gia tri do dai doan thang: ")) 0) (= len nil) )

 (alert "\n Do dai doan thang nhap khong dung, hay nhap lai") )

(if (> len 0)

   (command "line" (setq p1 (getpoint "\n Nhap diem bat dau ve")) (polar p1 (getreal "\n Nhap goc ve doan thang tinh theo radian: ") len) "")

)

)

Hề hề hề

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Có thể thay toàn bộ ba thứ lằng nhằng trong While bằng (initget 7) thì code sẽ gọn đi rất nhiều.


 

(defun C:LN1( / len pt ang)
 (initget 7) (setq len (getreal "\n Nhap gia tri do dai doan thang: "))
 (initget 1) (setq pt (getpoint "\n Nhap diem bat dau ve: "))
 (initget 1) (setq ang (getreal "\n Nhap goc ve doan thang tinh theo radian: "))
 (entmake (list (cons 0 "LINE") (cons 10 pt) (cons 11 (polar pt ang len))))
 (princ))
  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay


×