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

Tạo boundary cho đa giác hở

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

Thaistreetz    515
Mình muốn tạo boundary cho một đa giác hở

:cry: không thể. anh em cadviet bó tay. hở thì làm sao có ranh giới hả 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
haimed    2
:cry: không thể. anh em cadviet bó tay. hở thì làm sao có ranh giới hả bạn?

Ý mình là lisp sẽ tự động nối phần hở bằng cách extend các đoạn thẳng chưa cắt nhau để tạo thành 1 vùng kín sau đó mới tạo boundary

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
haimed    2
Ý mình là lisp sẽ tự động nối phần hở bằng cách extend các đoạn thẳng chưa cắt nhau để tạo thành 1 vùng kín sau đó mới tạo boundary

Pro nao giúp mình với

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
haimed    2
Bạn xem ở đây: Nối line arc không chạm nhau

và ở đây: Hatch vào miền hở

Thanks bac Hoanh, tôi đã làm đc trên cad 2007, nhưng với cad 2004, 2005 thì bó tay vì cái lệnh "-h" của cad này ko ra những lựa chọn như lệnh "-hatch" của 2007

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
Tue_NV    3.841
Thanks bac Hoanh, tôi đã làm đc trên cad 2007, nhưng với cad 2004, 2005 thì bó tay vì cái lệnh "-h" của cad này ko ra những lựa chọn như lệnh "-hatch" của 2007

nhưng với cad 2004, 2005 thì bó tay vì cái lệnh "-h" của cad này ko ra những lựa chọn như lệnh "-hatch" của 2007. Bạn có thể nói rõ cái ý này được không? . Tue_NV đang sử dụng CAD2004

Đoạn Code sau tạo boundary cho đa giác "hở". Hy vọng chạy đúng ý bạn:

(defun c:boh()
(vl-load-com)
(prompt "\n Chon doi tuong tao thanh Boundary : ")
(setq ssg (ssget))
(setq po (getpoint "\n Pick 1 diem trong da tuyen :"))
(setq frome (entlast))
(Command "copy" ssg "" po "@")
(setq toe (entlast))
(setq cur frome ; khoi tao
ssgg (ssadd)
)
(while (not (eq cur toe)) ;; 
(setq
cur (entnext cur)
ssgg (ssadd cur ssgg)
)
)

(setq n (sslength ssg)
i 0)
(while ((setq curve (ssname ssg i))
(setq dd (vlax-curve-getStartPoint curve))
(setq dc (vlax-curve-getEndPoint curve))
(command "extend" ssg "" "e" "e" dd dc "")
(setq i (1+ i))
)

(setq frome (entlast))
(Command "boundary" po "")
(setq toe (entlast))
(setq cur frome ; khoi tao
ss (ssadd)
)
(while (not (eq cur toe)) ;; 
(setq
cur (entnext cur)
ss (ssadd cur ss)
)
)
(Command "erase" ssgg "")
(sssetfirst ss ss) 

(princ)
)

PS : Nói tạo tạo boundary cho đa giác "hở" thì không đúng. Vì tạo boundary trên một đa giác kín trên cơ sở extend các đường hở để tạo thành các đường kín.

Hy vọng code chạy đúng ý bạn.

Chúc thành công nhé :cheers:

  • Vote tăng 5

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  

×