Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
quangnguyen013

Xin Lisp Về Vẽ Hình Chữ Nhật (Hoặc Hình Tròn, Vuông...) Có Hộp Thoại

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

Xin chào Ban Quản Trị và các bạn!

 

 

Mình đang cần 1 lisp cad vẽ hình chữ nhật (hoặc hình nào cũng được) có hộp thoại . Tuy mình đã đọc một số lisp nhưng không hiểu. Mong các bạn giúp đỡ.

 

Xin cám ơn Ban Quản Trị và các bạn.

 

 

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

Đây là ví dụ một lệnh vẽ hình chữ nhật với 2 ô nhập liệu L1, L2; 2 nút accept và cancel.
 

(defun c:hcn1 ( )
  (setq dcl_id (load_dialog "hcn.dcl"))
  
  (if (not (new_dialog "HCN" dcl_id))
    (exit))
  ;; cac hang tren de nap file dcl
   
  (set_tile "L1" "2000")
  (set_tile "L2" "1000")
  ;; dat gia tri mac dinh cho L1, L2 khi hop thoai xua hien
  
  (action_tile "L2" "(mode_tile \"accept\" 2)")
  ;; khi enter tai o nay, con tro se nhay ve nut "accept" va ban co the enter de ket thuc.
 
  (action_tile "cancel" "(done_dialog)")
  (action_tile "accept" "(progn (setq l1 (get_tile \"L1\") l2 (get_tile \"L2\"))(done_dialog))")
  ;;; action_tile di kem voi ham duoc dat trong dau nhay doi "(ham)"
  ;; done_dialog la ham dong hop thoai
  ;; khi ban nhan nut "cancel" hop thoai se dong
  ;; khi ban nhan nut "accept" se lay cac gia tri L1, L2 bang bien l1, l2 roi dong hop thoai
  ;; ban chi duoc lay cac gia tri cua cac tile ma khong the thuc hien cac lenh cad truoc khi dong hop thoai
   
   (start_dialog)
  (unload_dialog dcl_id)
;; thoat hop thoai ra khoi bo nho
   
  (setq p1 (getpoint "\nDiem dat:"))
  (setq l1 (atof l1)
l2 (atof l2)
p2 (polar p1 0 l1)
p2 (polar p2 (* pi 0.5) l2))
  (command "rectang" p1 p2)
 
  )

 

 

 

 

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

file hcn.dcl có nội dung như sau :

 

 

dcl_settings : default_dcl_settings { audit_level = 3; }
HCN : dialog {
        label = "Hinh chu nhat";
: column {
      : edit_box { label = "Chieu dai";  key = "L1";  width = 20;  }
     : edit_box { label = "Chieu cao";  key = "L2";  width = 20;  }
      : row {
      : button {
        label = "Pick";
        key = "accept";
        width = 8;
        fixed_width = true;
        }
       : button {
         label = "Cancel";
         is_cancel = true;
         key = "cancel";
         width = 8;
         fixed_width = true;
       }     
     }
    }
    }

Chỉnh sửa theo ketxu
K hiện DCL code

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

Bạn xem dcl trong tin nhắn nhé. Không upload được, dán vào thì như trên.

Ketxu đã sửa lại bên trên

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
Đăng nhập để thực hiện theo  

×