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

Lisp Chuyển Đổi Mã Font Chữ Trong Autocad

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

Vào lúc 14/3/2019 tại 12:33, anhtam_084 đã nói:

Cái này có cách nào mình áp dụng luôn cho Block ATT luôn không bác. Mong Bác giúp đỡ. Mình cảm ơn.

Cập nhật bản mới cho bạn: Lisp sẽ chuyển chuẩn xác nhất khi bạn chủ động chọn đúng code Nguồn và chọn đúng textstyle sau khi chuyển

https://drive.google.com/file/d/1O-a3KMe2KJGWUgKGC2xLZixnLIZU1bTL/view

Untitled.jpg.68c5024c5152e1f76dbf5a7b8b6da2c0.jpg

Hướng dẫn cách chuyển trong block attribute : sau khi chọn code nguồn, code đích, textstyle

- Tích chọn Block, chọn Select, pick chọn thuộc tính cần chuyển, chọn các block cần chuyển, enter

- Nút all attribute là chuyển toàn bộ thuộc tính của block ( chỉ cần pick chọn 1 thuộc tính của block, sau đó chọn các block)

  • 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
Vào lúc 4/10/2015 tại 17:31, Nguyen Hoanh đã nói:

Dưới đây là lisp convert các mã font thông dụng (unicode, tcvn, vni, xược) trong AutoCAD. Chương trình tự nhận dạng mã font hiện hành của đối tượng text.

 

Sau khi Appload xong:

Dùng lệnh cfu để chuyển font sang unicode

Dùng lệnh cft để chuyển font sang tcvn

Dùng lệnh cfv để chuyển font sang vni

Dùng lệnh cfx để chuyển font sang xược (/)

Dùng lệnh cfk để chuyển font sang không dấu

Dùng lệnh cf+ để chuyển font sang chữ hoa

Dùng lệnh cf- để chuyển font sang chữ thường

 

File lisp: Download Lisp chuyển font (để tham khảo)

File vlx: convertfont.vlx (download và sử dụng file này)

Bác Hoành có thể check lại giúp e lips này đc không ạ. em hiện sửa dụng trên bản cad 2019 và 2020 thì dùng lisp vẫn load và gọi lệnh được nhưng sau khi dùng lệnh thì text không thay đổi. nhưng dùng cad 2018 lại được. mong bác fix giúp e ạ. 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
15 giờ trước, loststars đã nói:

Bác Hoành có thể check lại giúp e lips này đc không ạ. em hiện sửa dụng trên bản cad 2019 và 2020 thì dùng lisp vẫn load và gọi lệnh được nhưng sau khi dùng lệnh thì text không thay đổi. nhưng dùng cad 2018 lại được. mong bác fix giúp e ạ. em cám ơn.

em có check lại thì trên máy e không dùng được nhưng trên máy khac thì vẫn dùng được. e k rõ lỗi ở đâu mong bác trợ giúp ạ

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

Bạn chụp ảnh dòng báo lỗi rồi post lên đây được không?

image.png.aeb88ea4080392af0511616531fd0f0d.png

Nó không báo lỗi gì ạ. Nhưng sau khi sử dụng CFU thì text k thay đổi gì cả, vẫn như cũ. em dùng List để check lại thì cũng k phải trường hợp đặc biệt phải dùng CF% ạ.
à em thử chọn all sau khi CFU thì một số text chuyển đc, nhưng lại bị chuyển sót chữ. 
em dùng máy khác chuyển thì máy chuyển đc ngon lành, máy k chuyển được ạ.

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

Mình dùng AutoCAD 2019, convert bình thường.

 

Chưa rõ máy tính của bạn bị vướng gì không.

 

Bạn xem trong file này mình đã convert.

NO15.1-GENERAL NOTE_unicode.dwg

e dùng ở công ty thì máy convert đc máy k ạ. thế nên e mới nhờ bác check lỗi để sau còn dùng chứ lúc cần lại phải kiếm máy convert đc hơi thốn. yêu cầu chạy lisp này có gì đặc biệt k ạ?
có phải tránh sử dụng chung với lisp nào k ạ? còn vụ đời cad thì chắc k phải. e test trên máy e cả 18-19-20 đều k đc.

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

e thử lại thì dùng CFU xong chọn pick all thì nó sẽ convert được ntn. tức là một số chữ convert sai. còn nếu pick từng dòng text lẻ, hoặc pick nhiều dòng text lẻ thì không thấy thay đổi gì ạ. image.thumb.png.e68420d1085bd0c4957b8d215c06a24c.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

Lệnh CF nhận dạng phông chữ nguồn dựa vào ngữ cảnh ( Thế nên bạn mới không cần phải chỉ định bảng mã nguồn là tcvn, vni, vietware, xược, hoa... mà chỉ chỉ định bảng mã đích, là Unicode chẳng hạn). Vì vậy nếu bạn chọn chọn chữ quá ít phần mềm sẽ không nhận dạng được đúng bảng mã của chữ là bảng mã nào trước khi chuyển sang Unicode.

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 23/11/2015 tại 21:44, Nguyen Hoanh đã nói:

Mình vừa cập nhật mã code để tăng tốc độ xử lý.

Bạn thử download và dùng nhé.

 

Với file cad của bạn, có tất cả 22549 đối tượng text, chạy hết khoảng 1 phút.

 nhờ anh nguyenhoang xem giúp em file này sao em chuyển nhưng vẫn bị lỗi, cảm ơn anh....làm sao để trong ô content nó không bị lỗi như phía bên ngoài, nhìn thì đúng nhưng mở cái ruột bị sai.....

DU LIEU.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
2 giờ trước, Nguyen Hoanh đã nói:

Lệnh CF nhận dạng phông chữ nguồn dựa vào ngữ cảnh ( Thế nên bạn mới không cần phải chỉ định bảng mã nguồn là tcvn, vni, vietware, xược, hoa... mà chỉ chỉ định bảng mã đích, là Unicode chẳng hạn). Vì vậy nếu bạn chọn chọn chữ quá ít phần mềm sẽ không nhận dạng được đúng bảng mã của chữ là bảng mã nào trước khi chuyển sang Unicode.

nhưng tại sao e dùng máy khác cùng bản vẽ ấy nhưng lisp lại hoạt động trơn tru. chọn lẻ hay chọn ít thì vẫn đc. lúc bác chuyển giúp em thì hình như cũng thế. tất cả các chữ đều ok k có chữ nào sai. mà trên máy e thì lại chỉ dùng đc khi pick all mà vẫn k convert đc hết? em nghĩ không phải do nhận dạng sai mà có thể do xung đột cái gì đó ạ.

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

e copy code của bác vào vlisp rồi lưu lại thì vẫn có nhiều chữ bị sai. Có thể do bộ mã này tùy từng máy khác nhau nên nó nhận diện khác ạ?

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 phải dùng file vlx, đừng dùng file lisp.

 

Vì mỗi một máy khác nhau (trình duyệt, hệ điều hành,...), encode chữ trong file lisp sẽ khác nhau. Đó là lý do vì sao mình phải post cả file vlx lê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
1 giờ} trướ}c, Nguyen Hoanh đã nói:

Bạn phải dùng file vlx, đừng dùng file lisp.

 

Vì mỗi một máy khác nhau (trình duyệt, hệ điều hành,...), encode chữ trong file lisp sẽ khác nhau. Đó là lý do vì sao mình phải post cả file vlx lên.

e dùng file vlx mà bác. cái lsp của bác e chỉ check lại xem thôi. e nghĩ nó vẫn đang bị encode sai khi gọi lệnh vào cad. 

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

e dùng file vlx mà bác. cái lsp của bác e chỉ check lại xem thôi. e nghĩ nó vẫn đang bị encode sai khi gọi lệnh vào cad. 

Với file dwg của bạn, bạn thử cách này xem sao nhé!

- Load lisp ở trên.

- Copy đoạn này: (defun DetectFont (str) "tcvn") Paste vào command, rồi enter.

- Dùng các lệnh CF...

P/s: Ngoài ra còn cách khác (Auto hơn), nhưng bạn cứ thử cách đó xem sao đã (để xem encode... như bạn nói nó thế nào).

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

Với file dwg của bạn, bạn thử cách này xem sao nhé!

- Load lisp ở trên.

- Copy đoạn này: (defun DetectFont (str) "tcvn") Paste vào command, rồi enter.

- Dùng các lệnh CF...

P/s: Ngoài ra còn cách khác (Auto hơn), nhưng bạn cứ thử cách đó xem sao đã (để xem encode... như bạn nói nó thế nào).

sau khi e thêm dòng code của a vào thì lisp cho chọn lẻ từng dòng text luôn ạ (không phải pick all như trước) nhưng các chữ convert ra vẫn đang có 1 số chữ convert sai ạ ^^image.thumb.png.1699d180f4a7513f8dd7274be1c3fc55.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

liệu có phải do máy e có encode khác không ạ. e copy code của bác Hoành vào word xong sau đó copy từ word sang bên vlisp thì rất nheieuf ký tự bị "?"

image.png.b580c40e5d1164b41574e214a2e7aa76.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

1- Bạn đang dùng hệ điều hành gì? Nếu là win8, 10 thì thử xem có giống thế này không? (ảnh dưới).

2- Tại sao không copy thẳng từ trang này rồi cho vào vlide, mà phải qua nhiều bước vậy?

3- Ở bài trên, sau khi convert 1 số chữ vẫn bị lỗi, bạn gửi file dwg đã convert và chỉnh sửa cho mình xem nào!

P/s: Ở ý 1, nếu là hệ điều hành khác thì bạn thử tìm hiểu qua từ khóa "setting code page" xem sao.

 

Region.jpg

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

1- Bạn đang dùng hệ điều hành gì? Nếu là win8, 10 thì thử xem có giống thế này không? (ảnh dưới).

2- Tại sao không copy thẳng từ trang này rồi cho vào vlide, mà phải qua nhiều bước vậy?

3- Ở bài trên, sau khi convert 1 số chữ vẫn bị lỗi, bạn gửi file dwg đã convert và chỉnh sửa cho mình xem nào!

P/s: Ở ý 1, nếu là hệ điều hành khác thì bạn thử tìm hiểu qua từ khóa "setting code page" xem sao.

1- E win10 đã làm theo bác đổi region về English (United States) nhưng vẫn k đc ạ.
2- Do e copy trực tiếp thì một số chữ tự thay đổi thành chữ khác nên test thử copy qua word xem có gì thay đổi k
3- e gửi bác file sau khi convert và chuyển style về arial ạ.

 

CONVERT LOI.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

Bạn thử làm theo hướng dẫn này xem có thay đổi gì không nhé!

Tải lisp ở dưới.

1. Hoặc: load lisp convert trước, sau đó load lisp của mình, => rồi dùng lệnh.

2. Hoặc copy nội dung trong lisp của mình, paste vào lisp convert (vào vị trí cuối của lisp convert nhé!).

Sup_Conv.LSP

  • 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

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

×