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

Xin linetype hình chữ nhật tiếp giáp nhau

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

Mình muốn có linetype để thể hiện nét vẽ như hình đính kèm.

Các chuyên gia giúp mình được không?

Cảm ơn các bạn nhiều!http://www.cadviet.com/upfiles/3/64018_net_zigzag.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

Đây đâu phải linetype, đó là các block nằm so le với nhau thôi.

Có cách nào để làm linetype dạng này không anh? Bọn em có đường sơn trên sân bay, vị trí cắt qua đường lăn có dạng đường này. Sếp em yêu cầu trình bày đúng nét, ngồi vẽ thật mất cả nửa ngày :(

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ôi không biết cách nào tạo linetype như vậy, nhưng bạn có thể dùng lsp này để rải cái block đó.

Điều kiện là trong file phải có cái block tên "VH zig zag" và kích thước của nó theo chiều dài là 1.

Tôi không biết bạn vẽ theo tỉ lệ nào, cho nên cứ xài thử xem sao.

Có điều là nó rải theo khoảng cách chẵn, thí dụ nếu kc = 10.5 thì nó chỉ rải 10 thôi.

 

(defun c:lnt()
  (defun rtd(a) (* 180 (/ a pi)))
  
  (setvar 'insunits 0) 
  (setq a (getpoint))
  (while (setq b (getpoint a))
    (setq n -1)
    (repeat (fix (distance a b))
      (setq n (1+ n))
      (command "-insert" "VH zig zag"
(if (zerop (rem n 2))
 (polar (polar a (angle a b) n) (+ (angle a b) (* 0.5 pi)) 0.05)
 (polar (polar a (angle a b) n) (- (angle a b) (* 0.5 pi)) 0.05))
1 1 (rtd (- (angle a b) (* 0.5 pi)))))
    (setq a b)
  ) (princ)
)

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ôi không biết cách nào tạo linetype như vậy, nhưng bạn có thể dùng lsp này để rải cái block đó.

Điều kiện là trong file phải có cái block tên "VH zig zag" và kích thước của nó theo chiều dài là 1.

Tôi không biết bạn vẽ theo tỉ lệ nào, cho nên cứ xài thử xem sao.

Có điều là nó rải theo khoảng cách chẵn, thí dụ nếu kc = 10.5 thì nó chỉ rải 10 thôi.

 

(defun c:lnt()
  (defun rtd(a) (* 180 (/ a pi)))
  
  (setvar 'insunits 0) 
  (setq a (getpoint))
  (while (setq b (getpoint a))
    (setq n -1)
    (repeat (fix (distance a b))
      (setq n (1+ n))
      (command "-insert" "VH zig zag"
(if (zerop (rem n 2))
 (polar (polar a (angle a b) n) (+ (angle a b) (* 0.5 pi)) 0.05)
 (polar (polar a (angle a b) n) (- (angle a b) (* 0.5 pi)) 0.05))
1 1 (rtd (- (angle a b) (* 0.5 pi)))))
    (setq a b)
  ) (princ)
)

Không dùng được anh ạ. Em muốn rải các nét dọc theo đường polyline, lisp này rải vuông góc với 2 điểm được chọn. Mà gõ lệnh lnt xong cũng không thấy hỏi phải làm gì, hay tại CAD của em bị lỗi? Thôi để em post sang bên Lisp em hỏi cho đúng chuyên ngành.

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

Đâu có rải vuông góc!! Bạn gõ lnt xong thì chọn điểm giống như vẽ line vậy thôi, nó rải doc theo line.

Vì thấy vẽ line đơn giản nên tôi không thêm dòng nào ở command, còn nếu bạn muốn thêm thì down cái này.

 

(defun c:lnt()
  (defun rtd(a) (* 180 (/ a pi)))
  
  (setvar 'insunits 0) 
  (setq a (getpoint "\nChon diem bat dau:"))
  (while (setq b (getpoint a "\nChon diem tiep theo:"))
    (setq n -1)
    (repeat (fix (distance a b))
      (setq n (1+ n))
      (command "-insert" "VH zig zag"
(if (zerop (rem n 2))
 (polar (polar a (angle a b) n) (+ (angle a b) (* 0.5 pi)) 0.05)
 (polar (polar a (angle a b) n) (- (angle a b) (* 0.5 pi)) 0.05))
1 1 (rtd (- (angle a b) (* 0.5 pi)))))
    (setq a b)
  ) (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

×