Đến nội dung


Hình ảnh
- - - - -

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


  • Please log in to reply
7 replies to this topic

#1 haimed

haimed

    biết vẽ circle

  • Members
  • PipPip
  • 39 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 27 March 2009 - 10:53 AM

Mình muốn tạo boundary cho một đa giác hở như bản vẽ đính kèm, bạn nào có thể giúp mình với. Thanks nhìu
http://www.cadviet.c...Drawing2_16.dwg
  • 0

#2 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 28 March 2009 - 04:01 PM

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?
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#3 haimed

haimed

    biết vẽ circle

  • Members
  • PipPip
  • 39 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 30 March 2009 - 04:01 PM

: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
  • 0

#4 haimed

haimed

    biết vẽ circle

  • Members
  • PipPip
  • 39 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 09 April 2009 - 11:27 AM

Ý 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
  • 0

#5 tdvn

tdvn

    biết lệnh rotate

  • Members
  • PipPipPip
  • 134 Bài viết
Điểm đánh giá: 53 (tàm tạm)

Đã gửi 09 April 2009 - 12:20 PM

Pro nao giúp mình với

Cái này thì khó đấy. nhưng bản vẽ của bạn không down đc
  • 0

#6 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4106 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 09 April 2009 - 01:16 PM

Bạn xem ở đây: Nối line arc không chạm nhau
và ở đây: Hatch vào miền hở
  • 1

#7 haimed

haimed

    biết vẽ circle

  • Members
  • PipPip
  • 39 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 09 April 2009 - 04:51 PM

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
  • 0

#8 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3805 (đỉnh cao)

Đã gửi 20 April 2009 - 05:52 AM

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 (< i n)
(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:
  • 5