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  
dinhthang8709

Viết Lisp Tạo Đường Bao

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

Nhờ các bác viết giúp em lisp tạo đường bao với ạ

Mô tả như sau: Tạo ra Hatch bằng cách pick điểm, tạo đường bao của Hatch rồi xóa Hatch đi ạ.

Thanks

  • Vote giảm 2

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
Bee    108

Nhờ các bác viết giúp em lisp tạo đường bao với ạ

Mô tả như sau: Tạo ra Hatch bằng cách pick điểm, tạo đường bao của Hatch rồi xóa Hatch đi ạ.

Thanks

dùng lệnh boundary hoặc -bo ^_^

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
Bee    108

boundary chỉ được 1 ô thôi ạ. Mình muốn pick nhiều ô thành 1 ô như lisp tính diện tích ấy./

pót ví dụ hình ảnh hoặc dwg xem nao !

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
dinhvantrang    64

sao không dùng lệnh Hatch đó bạn? Lệnh Hatch cũng tạo ra Hatch với đường bao mà đồng thời cũng cho pick nhiều vùng cùng một lầ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
Bee    108

Ý mình là như vậy này: pick vào các hình A, B, C rồi tạo đường bao cho cho cả 3 hình ấy.

http://www.cadviet.com/upfiles/7/159384_duong_bao.dwg

Cái này thì đơn giản. Nhưng đến cuối tuần mình mới rảnh được, bao nhiêu deadline đang giục, đến tầm đó chưa ai viết thì mình sẽ viết cho. 

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
haanh    1.587

sao không dùng lệnh Hatch đó bạn? Lệnh Hatch cũng tạo ra Hatch với đường bao mà đồng thời cũng cho pick nhiều vùng cùng một lần đó

 

Sao em dùng Hatch không được ??? ( Xóa hatch còn lại 3 miền kín  chứ không phải là 1 miền kín)

Dùng hatch chắc chắn không hay bằng dùng lệnh  bo tạo 3 miền kín rời rạc rồi lại union thành 1 miền kín.

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

Tiện đây nhờ các anh cho em hỏi xíu ?
Nếu miền cần tạo polyline không được khép kín mà bị hở ra ví dụ như phòng chức năng có ô cửa đi thì lisp có làm được không ạ.
Cái này lúc trước em có thấy trên diễn đàn có đề cập rồi nhưng em tìm không ra bài viết, mong các anh trợ giúp.

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

Ý mình là như vậy này: pick vào các hình A, B, C rồi tạo đường bao cho cho cả 3 hình ấy.

http://www.cadviet.com/upfiles/7/159384_duong_bao.dwg

Quick code

 

(defun c:bao()
  (setq p (getpoint "pick diem :"))
  (command "._boundary" "A" "O" "R" "" p "")
  (Command "._region" "L" "")
  (setq el (entlast)) (redraw el 3)
  (while (setq p (getpoint "pick diem :"))
      (command "._boundary" p "")
      (Command "._region" "L" "")
    (command "._union" el "L" "")
    (setq el (entlast))
    (redraw el 3)
  )
)
  • 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

 

Quick code

(defun c:bao()
  (setq p (getpoint "pick diem :"))
  (command "._boundary" "A" "O" "R" "" p "")
  (Command "._region" "L" "")
  (setq el (entlast)) (redraw el 3)
  (while (setq p (getpoint "pick diem :"))
      (command "._boundary" p "")
      (Command "._region" "L" "")
    (command "._union" el "L" "")
    (setq el (entlast))
    (redraw el 3)
  )
)

Anh có thể bỏ bắt điểm được không. Vì ở đây mình chỉ cần pick vào vùng kín.

Với lại sau khi xong region nó cứ như là được chọn vậy anh, mặc dù nó có được đâu ạ.

  • Vote giảm 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
Tue_NV    3.841

Anh có thể bỏ bắt điểm được không. Vì ở đây mình chỉ cần pick vào vùng kín.

Với lại sau khi xong region nó cứ như là được chọn vậy anh, mặc dù nó có được đâu ạ.

Mục đích mình hiện sáng đối tượng để dễ quan sát. Nếu bạn thích thì trong lisp bỏ dòng (redraw el 3)

Bổ sung thêm cái bỏ chế độ bắt điểm

Quick code

 

(defun c:bao(/ p os)
  (setq os (getvar "osmode"))
  (setvar "osmode" 0)
  (setq p (getpoint "pick diem :"))
   
  (command "._boundary" "A" "O" "R" "" p "")
  (Command "._region" "L" "")
  (setq el (entlast))
 (redraw el 3)
  (while (setq p (getpoint "pick diem :"))
      (command "._boundary" p "")
      (Command "._region" "L" "")
    (command "._union" el "L" "")
    (setq el (entlast))
    (redraw el 3)
  )
  (setvar "osmode" os)
)
  • 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

 

Mục đích mình hiện sáng đối tượng để dễ quan sát. Nếu bạn thích thì trong lisp bỏ dòng (redraw el 3)

Bổ sung thêm cái bỏ chế độ bắt điểm

Quick code

(defun c:bao(/ p os)
  (setq os (getvar "osmode"))
  (setvar "osmode" 0)
  (setq p (getpoint "pick diem :"))
   
  (command "._boundary" "A" "O" "R" "" p "")
  (Command "._region" "L" "")
  (setq el (entlast))
 (redraw el 3)
  (while (setq p (getpoint "pick diem :"))
      (command "._boundary" p "")
      (Command "._region" "L" "")
    (command "._union" el "L" "")
    (setq el (entlast))
    (redraw el 3)
  )
  (setvar "osmode" os)
)

Đúng ý mình rồi. Cảm ơn bạn nhiều nhé.!

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  

×