Chuyển đến nội dung
Diễn đàn CADViet
Duong Nhat Duy

Lisp Insert Block, đối tượng hàng loạt

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

Gửi đến các bạn 1 lisp chèn Block hàng loạt (hoặc nhiều đối tượng bất kỳ không phải Block), xử lý được rất nhiều các đề bài đặt ra.
Tên lệnh:
   TL - Thiết lập
   IPL - Chèn Block lên các đối tượng bất kỳ
   IDT - Chèn Block trên 1 đối tượng (Pline, Arc,...) theo pick điểm hoặc nhập khoảng cách

   IAX - Chèn Block từ các điểm ánh xạ từ 1 nhóm đối tượng lên đường dẫn
   ME1 - Rải Block lên nhiều đối tượng cùng lúc
   ME2 - Rải Block trên 1 đoạn bất kỳ của 1 đối tượng (Pline, Arc,...)
Cách dùng:
   - TL: Thiết lập các thông số: chèn block hay 1 nhóm đối tượng bất kỳ, khoảng cách, offset,...


   - IPL: Chèn Block lên điểm đặt của các đối tượng, ví dụ: đỉnh pline, giao cắt các pline, trọng tâm hình học,...

2068492830_InsertIPL.gif.d44f2dc75f0eeb90b20ead7b45ae100b.gif


   - IDT: Chèn Block trên 1 đối tượng theo pick điểm hoặc nhập khoảng cách

458991228_InsertIDT(1).gif.b4abf1890390db9d190d3d2fb036cf25.gif


(bonus: có thể chèn cả 2 bên pline, chèn text thể hiện khoảng cách, cài đặt trong lệnh TL)

1241855328_InsertIDT(2).gif.2a0026a7a3a5672c04a27ee051a90f75.gif


   - ME1: Rải Block lên nhiều đối tượng cùng lúc. Cách dùng tương tự lệnh ME của CAD nhưng khai báo linh hoạt hơn và có thể chọn nhiều pline cùng lúc

1467257233_InsertME1.gif.2c8e0e73b89d9fc49a5da5a185634566.gif


   - ME2: Rải Block trên 1 đoạn bất kỳ (chọn điểm đầu, cuối)

(bonus: ME1 và ME2 có thể rải Block theo cấp số cộng, cài đặt trong lệnh TL)

319664739_InsertME2.gif.8fe14dde9d3af238e6137bce4b463b82.gif
 

File lisp:

12/05/2023: Insert+.lsp

31/10/2023: Insert+ v1.01.lsp (Thêm lệnh IAX, sửa 1 số lỗi với text lý trình)

 

Chúc các bạn thành công :)))

  • Like 22
  • Vote tăng 6

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

Vote + cho bác Duy, lâu nay chỉ còn thấy bác chịu khó viết lisp free cho mọi người xài thoải mái, còn bảo hành nữa chứ! 

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

Kính Nhờ Các Bác chỉnh sửa giúp em lệnh IPL sao cho chèn Block song song với đường dẫn line , Polyline (trong khung nhìn 3D) sao điểm chèn đầu hoặc cuối  từ ngoài vào trong line hoặc Polyline Như VD sau:

Cám Ơn Các Bác

Chen Block song song.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
Vào lúc 1/4/2023 tại 09:47, pdhuyxn2 đã nói:

Kính Nhờ Các Bác chỉnh sửa giúp em lệnh IPL sao cho chèn Block song song với đường dẫn line , Polyline (trong khung nhìn 3D) sao điểm chèn đầu hoặc cuối  từ ngoài vào trong line hoặc Polyline Như VD sau:

Cám Ơn Các Bác

Chen Block song song.dwg

Bạn thông cảm, trình mình gà nên ko thể viết lisp dùng cho 3D đc :(

  • 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
Vào lúc 1/4/2023 tại 09:47, pdhuyxn2 đã nói:

Kính Nhờ Các Bác chỉnh sửa giúp em lệnh IPL sao cho chèn Block song song với đường dẫn line , Polyline (trong khung nhìn 3D) sao điểm chèn đầu hoặc cuối  từ ngoài vào trong line hoặc Polyline Như VD sau:

Cám Ơn Các Bác

Chen Block song song.dwg

Cái này thì tôi đã viết và đăng youtube, khá đồ sộ và là soft thương mại cho KS thiết kế đường dây điện
https://youtu.be/nK29WEKm4XQ

  • 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

Block xịn sò. Bác Duy có thể cải tiến lệnh IPL chèn Block có Atribute là số, và số thứ tự nó tăng dần từ đầu đến cuối Pline ko bác?

Ví dụ tăng dần từ 1A => 15A

Thanks bác nhiều nhiều !

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
6 giờ trước, coldboy_at49 đã nói:

Block xịn sò. Bác Duy có thể cải tiến lệnh IPL chèn Block có Atribute là số, và số thứ tự nó tăng dần từ đầu đến cuối Pline ko bác?

Ví dụ tăng dần từ 1A => 15A

Thanks bác nhiều nhiều !

Lisp về đánh STT mình để 1 lisp riêng, bạn tham khảo trong này, khi nào có time mình sẽ đăng 1 bài riêng sau.

 

  • 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
Vào lúc 30/10/2023 tại 08:48, Duong Nhat Duy đã nói:

Lisp về đánh STT mình để 1 lisp riêng, bạn tham khảo trong này, khi nào có time mình sẽ đăng 1 bài riêng sau.

 

Đa tạ bác nhiều nhé. E dùng thêm lisp đánh stt cũng dc. Nhưng kể ra bác tích hợp tự nhảy số thứ tự được luôn vào lệnh IPL của lisp insert này thì tuyệt vời ^^

 

 

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
1 giờ} trướ}c, coldboy_at49 đã nói:

Đa tạ bác nhiều nhé. E dùng thêm lisp đánh stt cũng dc. Nhưng kể ra bác tích hợp tự nhảy số thứ tự được luôn vào lệnh IPL của lisp insert này thì tuyệt vời ^^

Không bạn nhé, nếu như bạn ngại dùng thêm 1 lệnh thì cũng có rất nhiều người khác dùng lisp này nhưng lại không có nhu cầu đánh số thứ tự, họ phải enter vài lần để bỏ qua các thao tác đánh số thứ tự, như vậy là làm lisp rối rắm hơn chứ không phải tuyệt vời đâu, cái gì tách được thì mình nên tách ra

  • 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
Vào lúc 24/2/2023 tại 15:10, Duong Nhat Duy đã nói:

Gửi đến các bạn 1 lisp chèn Block hàng loạt (hoặc nhiều đối tượng bất kỳ không phải Block), xử lý được rất nhiều các đề bài đặt ra.
Tên lệnh:
   TL - Thiết lập
   IPL - Chèn Block lên các đối tượng bất kỳ
   IDT - Chèn Block trên 1 đối tượng (Pline, Arc,...) theo pick điểm hoặc nhập khoảng cách

   IAX - Chèn Block từ các điểm ánh xạ từ 1 nhóm đối tượng lên đường dẫn
   ME1 - Rải Block lên nhiều đối tượng cùng lúc
   ME2 - Rải Block trên 1 đoạn bất kỳ của 1 đối tượng (Pline, Arc,...)
Cách dùng:
   - TL: Thiết lập các thông số: chèn block hay 1 nhóm đối tượng bất kỳ, khoảng cách, offset,...


   - IPL: Chèn Block lên điểm đặt của các đối tượng, ví dụ: đỉnh pline, giao cắt các pline, trọng tâm hình học,...

2068492830_InsertIPL.gif.d44f2dc75f0eeb90b20ead7b45ae100b.gif


   - IDT: Chèn Block trên 1 đối tượng theo pick điểm hoặc nhập khoảng cách

458991228_InsertIDT(1).gif.b4abf1890390db9d190d3d2fb036cf25.gif


(bonus: có thể chèn cả 2 bên pline, chèn text thể hiện khoảng cách, cài đặt trong lệnh TL)

1241855328_InsertIDT(2).gif.2a0026a7a3a5672c04a27ee051a90f75.gif


   - ME1: Rải Block lên nhiều đối tượng cùng lúc. Cách dùng tương tự lệnh ME của CAD nhưng khai báo linh hoạt hơn và có thể chọn nhiều pline cùng lúc

1467257233_InsertME1.gif.2c8e0e73b89d9fc49a5da5a185634566.gif


   - ME2: Rải Block trên 1 đoạn bất kỳ (chọn điểm đầu, cuối)

(bonus: ME1 và ME2 có thể rải Block theo cấp số cộng, cài đặt trong lệnh TL)

319664739_InsertME2.gif.8fe14dde9d3af238e6137bce4b463b82.gif
 

File lisp:

12/05/2023: Insert+.lsp

31/10/2023: Insert+ v1.01.lsp (Thêm lệnh IAX, sửa 1 số lỗi với text lý trình)

 

Chúc các bạn thành công :)))

TUYỆT QUÁ ANH ƠI !!! 1000 ĐIỂ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

anh ơi, thêm cho em 1 dòng trong thiết lập là cách điểm đầu 1 đoạn bao nhiêu được không anh. Bình thường em phải nhập lệnh tk để nhập khoảng cách hơi tốn cơ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
1 giờ trước, Xuân Lộc đã nói:

anh ơi, thêm cho em 1 dòng trong thiết lập là cách điểm đầu 1 đoạn bao nhiêu được không anh. Bình thường em phải nhập lệnh tk để nhập khoảng cách hơi tốn cơm

Lisp đã có option nhập Lý trình + thêm rồi bạn (chỉ cộng vào Text, lý trình thực tế không ảnh hưởng)

Hay ý bạn đang nói khi muốn insert text lý trình ví dụ Km20+150 nhưng lại lười nhập 20150 mà chỉ muốn nhập 150 ?

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
57 phút trước, Duong Nhat Duy đã nói:

Lisp đã có option nhập Lý trình + thêm rồi bạn (chỉ cộng vào Text, lý trình thực tế không ảnh hưởng)

Hay ý bạn đang nói khi muốn insert text lý trình ví dụ Km20+150 nhưng lại lười nhập 20150 mà chỉ muốn nhập 150 ?

Không ạ, anh hiểu nhầm ý em rồi.Vd: khi em dùng lệnh ME2, khi thực hiện lệnh nó hỏi chọn điểm đầu tiên để inset block tại vị trí điểm đầu tiên đó, em muốn nó cách điểm đầu tiên ấy 1 khoản cho trước. vì em áp vào đề bài vẽ tường rào, chèn cột tường rào thì cách 20m có 1 khe lún rộng 50mm

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
1 giờ trước, Xuân Lộc đã nói:

Không ạ, anh hiểu nhầm ý em rồi.Vd: khi em dùng lệnh ME2, khi thực hiện lệnh nó hỏi chọn điểm đầu tiên để inset block tại vị trí điểm đầu tiên đó, em muốn nó cách điểm đầu tiên ấy 1 khoản cho trước. vì em áp vào đề bài vẽ tường rào, chèn cột tường rào thì cách 20m có 1 khe lún rộng 50mm

Để biết điểm có lý trình 20 25m ... ở đâu trên pline bạn dùng lệnh IDT nhé, thêm có 1 lệnh chứ mấ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

Bạn có thể thử cái này với hình 3D

 

(defun c:test (/ ent p1 p2 p3 p4 a1)
  (setq 
    ent (entget (car (entsel)))
    p1 (cdr (assoc 10 ent))
    p2 (cdr (assoc 11 ent))
    p3 (list (- (cadr p1) (cadr p2)) (- (car p2) (car p1)) 0)
    a1 (atan 
         (- (last p1) (last p2)) 
         (sqrt 
           (+ 
             (expt (- (car p1) (car p2)) 2) 
             (expt (- (cadr p1) (cadr p2)) 2)
           )
         )
       )
    ent (vlax-ename->vla-object (car (entsel)))
    p4 (vlax-get ent 'insertionpoint)
    p3 (mapcar '+ p3 p4)
  )
  (vla-rotate3d ent (vlax-3d-point p4) (vlax-3d-point p3) a1)
  (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
Vào lúc 24/2/2023 tại 15:10, Duong Nhat Duy đã nói:

Gửi đến các bạn 1 lisp chèn Block hàng loạt (hoặc nhiều đối tượng bất kỳ không phải Block), xử lý được rất nhiều các đề bài đặt ra.
Tên lệnh:
   TL - Thiết lập
   IPL - Chèn Block lên các đối tượng bất kỳ
   IDT - Chèn Block trên 1 đối tượng (Pline, Arc,...) theo pick điểm hoặc nhập khoảng cách

   IAX - Chèn Block từ các điểm ánh xạ từ 1 nhóm đối tượng lên đường dẫn
   ME1 - Rải Block lên nhiều đối tượng cùng lúc
   ME2 - Rải Block trên 1 đoạn bất kỳ của 1 đối tượng (Pline, Arc,...)
Cách dùng:
   - TL: Thiết lập các thông số: chèn block hay 1 nhóm đối tượng bất kỳ, khoảng cách, offset,...


   - IPL: Chèn Block lên điểm đặt của các đối tượng, ví dụ: đỉnh pline, giao cắt các pline, trọng tâm hình học,...

2068492830_InsertIPL.gif.d44f2dc75f0eeb90b20ead7b45ae100b.gif


   - IDT: Chèn Block trên 1 đối tượng theo pick điểm hoặc nhập khoảng cách

458991228_InsertIDT(1).gif.b4abf1890390db9d190d3d2fb036cf25.gif


(bonus: có thể chèn cả 2 bên pline, chèn text thể hiện khoảng cách, cài đặt trong lệnh TL)

1241855328_InsertIDT(2).gif.2a0026a7a3a5672c04a27ee051a90f75.gif


   - ME1: Rải Block lên nhiều đối tượng cùng lúc. Cách dùng tương tự lệnh ME của CAD nhưng khai báo linh hoạt hơn và có thể chọn nhiều pline cùng lúc

1467257233_InsertME1.gif.2c8e0e73b89d9fc49a5da5a185634566.gif


   - ME2: Rải Block trên 1 đoạn bất kỳ (chọn điểm đầu, cuối)

(bonus: ME1 và ME2 có thể rải Block theo cấp số cộng, cài đặt trong lệnh TL)

319664739_InsertME2.gif.8fe14dde9d3af238e6137bce4b463b82.gif
 

File lisp:

12/05/2023: Insert+.lsp

31/10/2023: Insert+ v1.01.lsp (Thêm lệnh IAX, sửa 1 số lỗi với text lý trình)

 

Chúc các bạn thành công :)))

Bác cho e xin lisp với B, Link không còn, cảm ơn B

 

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

×