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

Lisp vễ hình chữ nhật theo phương bất kỳ

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

Vào lúc 20/12/2017 tại 09:15, kienxd04 đã nói:

Xin chào các bạn

Hiện tại công việc của mình là phải vẽ hình chữ nhật rồi phải xoay hình chữ nhật theo phương ý muốn (vì mặt bằng cần xoay nhiều hướng) nên mình cần sự giúp đỡ của các bạn viết lisp vẽ hình chữ nhật rồi nó tự xoay theo phương bất kỳ (giống như ve hình chữ nhật trong sketchup vậy)

Rất mong sự giúp đỡ của các bạn rành về lisp

Xin cảm ơn.

Thử cái này nhé. Suy nghĩ đơn giản thôi nên viết đơn giản vậy thôi. 

Nhược điểm là chiều dài, chiều rộng của HCN phụ thuộc vào điểm thứ 3 thôi. 

(defun c:cnn (/ pt1 pt2)
    (setq    pt1    (getpoint "\nChon diem dau:"))
    (setq    pt2    (getpoint pt1 "\nChon goc nghieng:"))
(command "_.rectang" pt1 "R" pt2 Pause)
(command "_.rectang" "0,0" "R" 0 \)
)

  • Like 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
19 giờ trước, vietduc147258 đã nói:

Thử cái này nhé. Suy nghĩ đơn giản thôi nên viết đơn giản vậy thôi. 

Nhược điểm là chiều dài, chiều rộng của HCN phụ thuộc vào điểm thứ 3 thôi. 

(defun c:cnn (/ pt1 pt2)
    (setq    pt1    (getpoint "\nChon diem dau:"))
    (setq    pt2    (getpoint pt1 "\nChon goc nghieng:"))
(command "_.rectang" pt1 "R" pt2 Pause)
(command "_.rectang" "0,0" "R" 0 \)
)

đã nói là giống sketchup rồi mà. dùng thử cái lisp lee mac mình đăng bên trên xem có dễ dùng hơn k.

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
1 giờ} trướ}c, tannguyen291 đã nói:

đã nói là giống sketchup rồi mà. dùng thử cái lisp lee mac mình đăng bên trên xem có dễ dùng hơn k.

Không có nhu cầu vẽ HCN giống tác giả nên chưa dùng thử lisp của lee mac. Do cũng đang tìm hiểu về lisp nên thử viết thực hành đó mà

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
Vào lúc 20/12/2017 tại 11:13, Danh Cong đã nói:

Kết hợp lisp  theo  cách đổi trục và vẽ hình chữ nhật:

 

(defun c:test2 ()
(command "cmdecho" 0)
    (defun *Error* (msg)
    (command "ucs" "p")
    (princ msg))
  (prompt "\nChon 2 diem theo huong ve HCN: ")
  (command "ucs" pause pause "")

  (prompt "\nVe HCN:")
  (command "rectang" pause pause)
  (command "ucs" "p")
  (princ))

ý tưởng đơn giản mà hay. Nhưng hơi cảm thấy hụt hẫng vì pick xong 2 điểm rồi mà chưa thấy hcn đâu cả.

Có sửa lại chút tận dụng điểm pick thứ nhất.

(defun c:test2 ()
(command "cmdecho" 0)
    (defun *Error* (msg)
    (command "ucs" "p")
    (princ msg))
  (prompt "\nChon 2 diem theo huong ve HCN: ")
  (command "ucs" pause pause "")

  (prompt "\nVe HCN:")
  (command "rectang" "0,0" pause)
  (command "ucs" "p")
  (princ))

 

Cái lisp này hình như có bẫy lỗi rồi nhưng khi thoát ra giữa chừng vẫn không về lại UCS cũ được. Do mới tìm hiểu về lisp nên không biết khắc phục lỗi này

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  

×