Đến nội dung


Hình ảnh
* * * * * 1 Bình chọn

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


  • Please log in to reply
61 replies to this topic

#21 congchivo

congchivo

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 23 November 2015 - 11:06 AM

Xinh chào các anh em trên diễn đàn, nhất là tác giả của lsp chuyển font chữ của anh nguyễn hoành.

em thật sự ko biết gì về lsp, nhưng em xin các anh chuyển giúp dùm em font chữ như bản vẽ em đã mail phía trên.

thật sự em ko biết lỗi gì cả, các anh có thể giúp em một lsp chuyển các font chữ trên bản vẽ có rất nhiều loại font, chuyển về cùng 1 loại.

khi thấy lsp của anh hoành em thấy mình đã gặp phải lsp đúng như ý, thật sự khi dowload về thì bản vẽ em không sử dụng được. không hiểu vì sao.

chắc cuối năm mấy anh bận công việc. vậy khi nào rãnh nhờ anh hoành cho em xin lại lsp mới như ý muốn.

Chân thành cảm ơn anh nguyễn hoành và các anh em trên diễn đàn.


  • 0

#22 txchuong

txchuong

    biết vẽ circle

  • Members
  • PipPip
  • 39 Bài viết
Điểm đánh giá: 3 (bình thường)

Đã gửi 23 November 2015 - 02:00 PM

Chuyển sang Unicode bị lỗi  kiểu chữ bác Hoành à: Ví Cộng hòa xã hội chủ nghĩa Việt Nam  --(cfu)-> CỘng hÒa xà hỘi chỦ nghĨa ViỆt Nam  --(cf-)--> cộng hÒa xà hội chủ nghĩa việt nam.

p/s. Em đang thử chuyển từ TCVN sang Uni


  • 0

#23 congchivo

congchivo

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 23 November 2015 - 02:23 PM

Theo mình biết là bạn dùng font tcvn3 là loại font chữ in hoa hoàn toàn,ko phải do lỗi lsp bác hoành đâu.

khi bạn dùng chữ in hoa chuyển qua loại chữ thường là do quá khứ bạn gõ thôi.

bạn thử gõ loại TCVN thường rồi chuyển lại thử xem chắc là ok


  • 0

#24 congchivo

congchivo

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 23 November 2015 - 02:33 PM

Bạn hiểu ý mình chứ. là khi bạn gõ font chữ loại chữ in, thì quá khứ bạn gõ có chữ thường trong đó, nhưng kết quả chữ gốc của bạn vẫn là chữ in đó.

Bạn sử dụng lsp cua bac hoành được ah, vậy là chắc chắn máy mình có vấn đề rồi.

 Thôi em xin lỗi bác hoành nhé, để em cài lại máy sử dụng lại rồi nhờ bác sau vậy


  • 0

#25 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 23 November 2015 - 09:44 PM

Em cảm ơn anh hoành nhiều. nhưng em chuyển font sao nố chạy hơi lâu anh ahf. em dùng cad 2007 và dùng win7 64bit.ko biết trong lisp của anh hoành có đề cập tới đường dẫn của cad ko anh.
chứ em chay thấy cad nhấp nháy và hiện lên hình màu đen và thêm di dòng chữ (not responding).
em chân thành nhờ anh giúp đỡ.
cảm ơn anh nhiều.
(File em gửi anh phía trên anh chạy có ra kết quả ko anh:    http://www.cadviet.c...22_ban_ve_a.dwg.)


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.
  • 0

#26 txchuong

txchuong

    biết vẽ circle

  • Members
  • PipPip
  • 39 Bài viết
Điểm đánh giá: 3 (bình thường)

Đã gửi 24 November 2015 - 08:22 AM

Theo mình biết là bạn dùng font tcvn3 là loại font chữ in hoa hoàn toàn,ko phải do lỗi lsp bác hoành đâu.

khi bạn dùng chữ in hoa chuyển qua loại chữ thường là do quá khứ bạn gõ thôi.

bạn thử gõ loại TCVN thường rồi chuyển lại thử xem chắc là ok

Tớ gõ đúng như ví dụ ở trên: Font chữ .vntime , nhưng khi chuyển thì những chữ việt có dấu và cả thanh (huyền, sắc, hỏi, ngã, nặng) thì có vấn đề. Nhờ bác Hoành kiểm tra giúp,


  • 0

#27 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 24 November 2015 - 08:28 AM

Không xử lý được khi chữ dùng font tcvn. Vì font tcvn hoa thường không phân biệt bằng mã chữ mà phân biệt bằng font. Vd: .vnTime và .vnTimeH.
  • 0

#28 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 24 November 2015 - 08:30 AM

Bạn thử code mới xem unicode có bị lỗi hoa thường khi cf- và cf+ không.
  • 0

#29 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 24 November 2015 - 02:39 PM

VẤN ĐỀ
Bác Vbao có nhờ mình xem cho một file xem vì sao file này là mã TCVN mà không convert được sang các mã khác.
Vì đây là vấn đề khá thú vị, một vài bạn cũng khó thể sẽ gặp điều tương tự, nên mình chia sẻ lên đây để mọi người cùng theo dõi.

File đó như sau (mình đã xoá các nội dung khác, chỉ để các nội dung text cần nói):
http://www.cadviet.c...tfontsample.dwg

NGUYÊN NHÂN
Text trong file này có mã là TCVN3, nhưng không viết theo kiểu thông thường bằng các phần mềm gõ tiếng Việt (Unikey, Vietkey,...) mà được tạo ra theo một cách nào đó.
Thay vì chữ có mã code theo bảng ASCII thì chữ lại được hiển thị theo kiểu %%XXX trong đó XXX là mã ASCII của chữ. Bằng cách này, chữ vẫn hiển thị lên đúng mã TCVN, tuy nhiên các phần mềm convert font sẽ không thể nhận dạng được.

GIẢI PHÁP
Mình đã viết một lệnh cf% dành cho trường hợp này. Các bạn chỉ cần appload file, gõ lệnh cf% là xong.
Sau khi chạy lệnh cf%, các text sẽ được convert về thành các text bình thường và có thể sử dụng các lệnh CFU, CFV,... một cách bình thường.

(defun c:cf% ()
(defun convertone (ent)
(setq tt (entget ent))
(if (and (wcmatch (cdr (assoc 0 tt)) "*TEXT,ATTRIBUTE")
(wcmatch (setq gt (cdr (assoc 1 tt))) "*%%###*")
)
(progn
(setq
i 1
len (strlen gt)
kq ""
)
(while (<= i len)
(if (wcmatch (substr gt i 5) "%%###")
(setq
curchar (chr (atoi (substr gt (+ i 2) 3)))
i (+ i 5)
)
(setq
curchar (substr gt i 1)
i (1+ i)
)
)
(setq kq (strcat kq curchar))
)
(entmod (subst (cons 1 kq) (assoc 1 tt) tt))
(entupd ent)
)
)
)
(setq ent (entnext))
(while (setq ent (entnext ent))
(convertone ent)
)
(princ)
)

  • 0

#30 tcong1191

tcong1191

    biết vẽ circle

  • Members
  • PipPip
  • 37 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 24 November 2015 - 08:41 PM

Anh Hoành ơi. Em làm vẫn chưa được. Gửi file anh xem giúp!

 

Thao tác:

- Để cho chắc e cho chạy luôn lisp "cf%". Sau đó em load lisp "chuyendoifont" vào và tiến hành convert font từ VNI sang Unicode bằng lệnh "cfu"

 

Gõ cfu/ Chọn text VNI/ Enter. Sau đó em đổi stye cho chữ từ "VNI-Helv..." sang style mới "Arial" nhưng vẫn bị lỗi font!

 

http://www.cadviet.c...i_anh_hoanh.dwg


  • 0

#31 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 24 November 2015 - 08:52 PM

Được mà bạn,
Bạn phải đổi font cho tất cả các style.
Vì style của bạn quá nhiều, mình sửa sang Arial không xuể để test, nhưng sửa cái nào là cái đấy có tiếng Việt.
Bạn xem file dở dang này:
http://www.cadviet.c...nh_sua_font.dwg
  • 1

#32 congchivo

congchivo

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 25 November 2015 - 02:39 PM

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.

Cảm ơn anh hoành rất nhiều, nhưng anh cập nhật mã code mới ở đâu em ko thấy , nhờ anh load lên lại dc ko anh.


  • 0

#33 congchivo

congchivo

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 25 November 2015 - 02:51 PM

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.

em load lại file lsp trang 1, về sử dụng cfu, các text vẫn đứng im ko có dấu hiệu gì cả anh hoành ơi..... anh giúp em với.

nó chỉ báo Thoi gian chuyen font: 15ms. còn các font vẫn như cũ . cũng là file hôm trước em gửi cho anh đó.


  • 0

#34 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 25 November 2015 - 04:41 PM

Lúc select, acad báo có mấy đối tượng được chọn bạn?
  • 0

#35 congchivo

congchivo

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 25 November 2015 - 06:21 PM

Lúc select, acad báo có mấy đối tượng được chọn bạn?

cfu em chọn tất cả cad báo
Hay cho cac text
Select objects: Specify opposite corner: 240 found
Select objects:
Thoi gian chuyen font: 78ms.
font cũng ko chuyển vê unicode. nhờ anh giúp đỡ

  • 0

#36 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 25 November 2015 - 06:35 PM

Có bạn nào khác có thể thử giúp mình file của bạn congchivo được không?

Để xem là do máy hay do lisp.
  • 0

#37 tien2005

tien2005

    biết lệnh properties

  • Members
  • PipPipPipPip
  • 257 Bài viết
Điểm đánh giá: 94 (tàm tạm)

Đã gửi 25 November 2015 - 08:00 PM

cái này không dễ rồi, chắc là do cài đặt của PC. Mình dùng W7-32 sử dụng acad 2007,2010 và thử nhiều bản vẽ khi dùng lệnh cft,cfv thì thấy có báo tgian thực thi là xx giây, dùng lệnh cfu thì bị not repon.. như có Bạn đã đề cập ở trên


  • 0

#38 congchivo

congchivo

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 26 November 2015 - 08:16 PM

Cảm ơn anh hoành và các anh em trên diễn đàn đã tận tình giải quyết vấn đề của em nhờ giúp, em dùng lsp chuyển font của anh nguyễn hoành, về lệnh cf+ & cf- thì rất ok. còn các loại lệnh chuyển font cft, cfv & cfu thì trong đó có một số text thay đổi nhưng sau khi điều chỉnh styre vẫn bị lỗi, còn có một số  text vẫn như cũ ko thay đổi gì cả. mong muốn anh hoành cố gắng tìm ra nguyên nhân giúp cho anh em trên diễn đàn với. Em thấy chuyển đổi font trong cad rất hữu ích .Một lần nữa chúc các anh em trong diễn đàn mạnh khỏe.


  • 0

#39 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 26 November 2015 - 10:13 PM

Thực sự mình cũng thấy khá khó hiểu, vì trên máy mình chạy ổn. Mình đang đoán rằng phần download của diễn đàn có vấn đề.

Nhờ các bạn test cho mình 2 file này,
3_convertfont_new6.lsp
3_convertfontphantram.lsp
  • 0

#40 congchivo

congchivo

    biết vẽ line

  • Members
  • PipPip
  • 24 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 27 November 2015 - 08:16 AM

Thực sự mình cũng thấy khá khó hiểu, vì trên máy mình chạy ổn. Mình đang đoán rằng phần download của diễn đàn có vấn đề.

Nhờ các bạn test cho mình 2 file này,
3_convertfont_new6.lsp
3_convertfontphantram.lsp

  Cảm ơn bác hoành nhiều, em đã test và dung được rồi. anh nói đúng phần download của diễn đàn chắc có trục trặc gì anh hoành ah. Khi em copy code trực tiếp của anh vào thì trong lsp có cấu trúc xắp xếp hơi khác. Bây giờ đã ok rồi anh hoành. Cảm ơn anh nhiều.

- Em dùng thử chạy về unicode ok.

- từ unicode - vni - tcvn3 vẫn báo lỗi.

- Anh lỡ giúp rồi anh cố gắng giúp em luôn nghen anh.

- cf- ( chuyển tất cả về chữ thường)   anh có thể chỉnh chữ cái đầu tiên trong chuỗi vẫn là chữ in được ko anh hoành.


  • 0