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

Nhờ viết lisp đổi tên 1 nhóm Block cùng tên được chọn

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

Xin chào các anh chị, các bạn trong diễn đàn. Tôi có 1 vấn đề nhờ mọi người trong diễn đàn giúp.

Đó là đổi tên 1 nhóm Block cùng tên được quét chọn mà vẫn giữ lại tên của Block của vùng không được chọn.

Bình thường tôi muốn đổi tên 1 Block như thế thì dùng lisp của lee-mac https://www.lee-mac.com/copyblock.html.

Nhưng Lisp này chỉ đổi được tên 1 Block thôi. Tại Block của nhóm sau có cách bố trí và hình dạng gần giống Block trước (tầng 1, tầng 2, hay phương án 1, phương án 2...).

Bình thường tôi sẽ copy nhóm Block muốn đồi tên sang file cad trống rồi đổi tên. Sau đó copy lại về sửa.

Cách này hơi bất tiện chút nên bạn nào có cách khác tốt hơn chỉ giúp tôi với.

Xin cám ơn!

image.png.5a1dbea54c290469119766ef17ffbf38.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

Bạn thử thêm vòng lặp foreach vào  lisp cụ LeeMac sau khi ssget quét chọn vùng  để coppy và đổi tên từng đối tượng si!

  • 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

Có một cách đơn giản hơn một chút mà ko cần copy qua lại. 

- Dùng lisp của Leemac để đổi tên 1 block trong nhóm Block2

- Dùng thêm 1 lisp Replace Blocks (thay để block đã đổi tên cho các block còn lại của nhóm Block2)

 

:D

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

Bạn thử thêm vòng lặp foreach vào  lisp cụ LeeMac sau khi ssget quét chọn vùng  để coppy và đổi tên từng đối tượng si!

Thank! Ước gì có thể hiểu được lisp của Lee mac. Để tìm hiểu thử foreach xem sao. Chưa học cái đó.

1 giờ trước, conghoa đã nói:

Có một cách đơn giản hơn một chút mà ko cần copy qua lại. 

- Dùng lisp của Leemac để đổi tên 1 block trong nhóm Block2

- Dùng thêm 1 lisp Replace Blocks (thay để block đã đổi tên cho các block còn lại của nhóm Block2)

 

:D

Thank! Chức năng Replace Block trong Express nó thay thế toàn bộ luôn, chứ không thay riêng 1 vùng được. Với lại không hỗ trợ pick chọn Block động nữa.

Nhờ gợi ý thì có kiếm được cái lisp này dùng đỡ.

https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/find-and-replace-group-of-blocks-that-are-selected/m-p/4333482#M313227

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

Bên trên mình có ghi rõ là dùng Lisp Replace Block chứ ko phải công cụ có sẵn.

Bạn đọc để tham khảo :)

 

Giai thich lisp Rename Block - Leemac.doc

Cám ơn bạn đã nhiệt tình giúp đỡ.

Giải thích lisp rất rõ ràng. Nhưng sửa được lisp thì phải học hỏi nhiều nữa.

Thay vì sửa chắc sẽ kết hợp 1 lisp chọn Block cùng tên - > Rename Block - Leemac -> Replace Block sẽ dễ hơn

  • 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

Sau một hồi loay hoay hỏi hỏi đáp đáp với cái trí tuệ nhân tạo thì ra được cái đoạn code này để kết hợp 2 lisp với nhau =))

 

Nội dung lisp1

Nội dung lisp2

Chèn thêm đoạn này xuống dưới.

 

(defun c:kethop ()
  (progn
    (c:rb)
    (c:BRE)
  )
)

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  

×