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

[XIN LISP] Find and Replace cho Text, MText, ATT Block, Dimension.

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

Chào AE Cadviet,

Tình hình là mình có tìm hiểu và Search kĩ trên các Topic của forum mình rùi, và cũng có tìm code nước ngoài rùi, nhưng họ viết khá phức tạp và dài. Nhưng không thấy Lisp phù hợp với nhu cầu của mình nên mạo muội xin các pro code dùm 1 lisp với nhu cầu sau:

 

- Quét chọn vùng cần Find & Replace

-Tự động Replace với các String đã được gán thành 1 Association List trước trong Code - vD: setq 1stSource '(("A"."AA")("B"."BB")...) hoặc <sau này mở rộng thêm> bằng cách lấy nguồn từ 1 file ".txt" viết bằng 2 cột tương ứng Find và cột Replace (phân cách bằng 1 ký tự TAB), có thể áp dụng cho Text, Mtext, ATT của Block, Dimension trong vùng quét. (Giống hệt thao tác mình Find & Replace nhưng Lisp có thể áp dụng cho nhiều file, và không phải thao tác điền từng cặp A-AA, B-BB).

- Thoát lệnh, Purge All và Zoom All.

 

Cảm ơn AE Cadviet rất nhiều.

 

P/s: Mình xin lisp này vì thấy nó cũng hữu ích để mọi người Format chuẩn lại bản vẽ, và mình cũng dùng nó để học thêm (mình đang học Lisp, lần trước có xin được Lisp của a @Ketxu lisp tìm và đổi Layer (khá hay), hiện đang ngâm cứu nhưng vẫn chưa hiểu rõ)  :)

 

- Sẵn các pro cho mình hỏi có tài liệu nào nói về cách dùng DXF Group Code trong các lệnh nào cụ thể chút thì share cho mình với nha. Vì có đọc các tài liệu và ví dụ LISP rùi, có thấy dùng 8 cho Layer Name, .... mà mình không tìm ra được nguyên lý của lệnh nên cứ mơ hồ về phương pháp DXF Group Code. Cảm ơn AE trước nhiều. ^^ (có đọc trong Help của CAD rùi, mà không tìm thấy cách áp dụng cho các lệnh - có gì mong đc chỉ bảo thê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

Nếu thêm các đối tượng trong Block thì lâu và dài là đúng rồi

Kết hợp thao tác tìm và thay thế ở nhiều file thì bạn thử tìm lisp Bfind của LeeMac nhé

 

- Câu cuối, nó nằm trong help của CAD, bạn vào vlide rồi bật Help, vừa code vừa học luôn :)

  • 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

Nếu thêm các đối tượng trong Block thì lâu và dài là đúng rồi

Kết hợp thao tác tìm và thay thế ở nhiều file thì bạn thử tìm lisp Bfind của LeeMac nhé

 

- Câu cuối, nó nằm trong help của CAD, bạn vào vlide rồi bật Help, vừa code vừa học luôn :)

E test bản Bfind của LeeMac rùi, nhưng có 1 vài thiếu sót và 1 vẫn chưa áp dụng được.

- Chỉ chọn file hoặc toàn bộ Drawing Entities để Replace (E cần tìm theo những đối tượng được chọn nữa)

- Kết quả không chính xác theo từng ký tự mình tìm (nếu dùng ngôn ngữ khác - Japanese vì e vẽ bản vẽ Nhật)

     VD: Mình tìm ( hay bằng < và ) thay bằng > thì kết quả sẽ sai hoặc không Replace. (Theo e nghĩ có lẽ Lisp không hiểu được trọn vẹn các ký tự như lệnh find trong CAD nên lúc thì tìm ko đc lúc thì sai kết quả)

 

Thân. Mong được hướng dẫn thê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  

×