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

Xin lisp vẽ đường polyline đến các block

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

Nhờ các bác, e có bản vẽ như hình. Em muốn xin lisp như sau. chọn 1 polyline gốc màu trắng, sau đó chọn các block để nối. lisp vẽ đường polyline theo đường gốc đến từng block đã chọn theo hướng của đường mẫu e cảm ơn ạ

Drawing1.dwg

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
;; thay doi layer "newlay"
(defun c:giongline1 ( / PL POS PP SS )
  (setq pl (vlax-ename->vla-object (car (entsel "\nPick polyline"))))
  (setq ss (ACET-SS-TO-LIST (ssget '(( 0 . "INSERT"))))
        )
  (foreach ent ss
    (setq pos (acet-dxf 10 (entget ent))
          pp (vlax-curve-getClosestPointTo pl pos nil)
          )
    (entmake (list (cons 0 "LINE")
                   (cons 10 pos)
                   (cons 11 pp)
                   (cons 8  "newlay")
                   )
             )
    )
  )

 

  • 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
42 phút trước, cuongtk2 đã nói:

;; thay doi layer "newlay"
(defun c:giongline1 ( / PL POS PP SS )
  (setq pl (vlax-ename->vla-object (car (entsel "\nPick polyline"))))
  (setq ss (ACET-SS-TO-LIST (ssget '(( 0 . "INSERT"))))
        )
  (foreach ent ss
    (setq pos (acet-dxf 10 (entget ent))
          pp (vlax-curve-getClosestPointTo pl pos nil)
          )
    (entmake (list (cons 0 "LINE")
                   (cons 10 pos)
                   (cons 11 pp)
                   (cons 8  "newlay")
                   )
             )
    )
  )

 

Thank bác, cơ mà cái này chưa đúng ý em lắm, em muốn vẽ 1 polyline giống như polyline này. điểm bắt đầu chọn ở 1 điểm và vẽ polyline theo đường gốc, đến vị trí block thì nối tiếp vào ấy ạ.

image.png.384456478c23cacda3ad454112de23b4.png

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
24 phút trước, cuongtk2 đã nói:

Bạn vẽ để tính chiều dài đường ống phải không?

đúng r anh, e vẽ từng line từ 1 vị trí, đến block kia để tính chiều dài ống

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ài toán sẽ trở nên phức tạp hơn bạn nghĩ, vì nó sẽ đẻ ra nhiều tình huống mà mình có thể liệt kê:

1. Điểm xuất phát đường ống có thể không nằm tại đầu mút polyline mà nằm trên đường polyline.

2. Polyline là đường cong, gấp khúc.

3. Gióng block nằm ngoài cự ly polyline.

Mình có thể viết, nhưng tốn thời gian. 

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ài toán của e thì phương án ntn anh ạ.

1. Polyline gốc e sẽ vẽ sẵn, là đường thẳng hết, không có cong, chỉ có gấp khúc thôi.

2. Điểm xuất phát sẽ là 1 đầu của polyline, chọn 1 trong 2 đầu ạ.

Anh xem giúp e với ạ, em cảm ơ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
8 giờ trước, huyqhht đã nói:

Nhờ các bác, e có bản vẽ như hình. Em muốn xin lisp như sau. chọn 1 polyline gốc màu trắng, sau đó chọn các block để nối. lisp vẽ đường polyline theo đường gốc đến từng block đã chọn theo hướng của đường mẫu e cảm ơn ạ

Drawing1.dwg

Ch­ưa hiểu ý của bạn lắ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

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  

×