Chuyển đến nội dung
Diễn đàn CADViet
hung_xu20032000

Nối nhiều đường polyline vuông góc.

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

Mình có 1 đường polyline dài và nhiều đường polyline nhỏ. Đường polyline nhỏ vuông góc với đường polyline dài. Làm thế nào để tạo được 1 đường polyline để nối tất cả các đường thẳng đó với nhau không ạ. Ecảm ơn các bác. http://www.cadviet.com/upfiles/3/8800_ve_duong_noi_1.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

Mình thấy khi tạo được polyline mới thì nó sẽ cắt ziczac đường polyline dài của bạn. Qui tắc tạo polyline mới của bạn ntn? Cái này còn phụ thuộc vào chiều vẽ của các polyline ngắn. Thử up 1 bản vẽ hoàn chỉnh lên xem ntn

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ản vẽ của bạn là các line không phải polyline, các line được vẽ từ trái qua phải, từ trên xuống dưới. Bạn dùng lisp sau để tạo polyline, mình làm nhanh nên sẽ đúng về hình dạng, polyline ở layer hiện hành và có màu số 5 (xanh dương)

(defun c:test (/ ss lst)
  (defun dxf (code e) (cdr (assoc code (entget e))))
  (defun Make-LWPolyline
			 (listpoint closed Color / Lst)
    (setq Lst (list '(0 . "LWPOLYLINE")
		    '(100 . "AcDbEntity")

		    (cons 62
			  (if Color
			    Color
			    256
			  )
		    )
		    '(100 . "AcDbPolyline")
		    (cons 90
			  (if closed
			    (1+ (length listpoint))
			    (length listpoint)
			  )
		    )
		    (cons 70
			  (if closed
			    1
			    0
			  )
		    )
	      )
    )
    (foreach PP	listpoint
      (setq Lst (append Lst (list (cons 10 PP))))
    )
    (entmakex Lst)
  )
  (princ "\nChon cac line: ")
  (if (setq ss (ssget '((0 . "line"))))
    (progn
      (setq
	ss (vl-sort
	     (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))
	     (function
	       (lambda (a b) (< (car (dxf 10 a)) (car (dxf 10 b))))
	     )
	   )
      )
      (foreach n ss
	(setq lst (append lst (list (dxf 10 n) (dxf 11 n) (dxf 10 n))))
      )					;for
      (Make-LWPolyline lst nil 5)
    )					;progn
  )					;if
  (princ)
)

 

  • 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

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


×