Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
nguyenthaodang

làm thế nào để insert text tiếng việt

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

e sử dụng VBA để insert text lên màn hình làm việc của autocad.

 

Vấn đề là làm thế nào để insert tiếng việt.

 

mong mọi người giúp đỡ

 

em thử gán cái biến text đó theo kiểu gõ vni or unicode mà hiện thị bị lỗi

 

cảm ơn mọi người quan tâ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
anhcos    177
e sử dụng VBA để insert text lên màn hình làm việc của autocad.

 

Vấn đề là làm thế nào để insert tiếng việt.

 

mong mọi người giúp đỡ

 

em thử gán cái biến text đó theo kiểu gõ vni or unicode mà hiện thị bị lỗi

 

cảm ơn mọi người quan tâm

 

ACAD VBA hỗ trợ Unicode rất kém, sử dụng mã VNI-WIN or TCVN3 (ABC) thì được. Bảng mã phải phù hợp với font chữ trong tẽt style thô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
hoa35ktxd    38

Theo mình thì tiếng Việt trong các ứng dụng nên dùng Unicode. Vấn đề là có biết cách sử dụng hay không thôi.

Tôi dùng thấy rất Good kể cả Command line.

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
phantuhuong    204

Tôi đã kiểm tra lại, dùng InputBox để nhập. Nếu kiểu gõ Unicode thì chữ hiện ra trong InputBox rõ ràng là tiếng Việt, nhưng vào bản vẽ một số ký tự thành ? (như ệ, ế,...). Còn TCVN thì chữ nhập trong InputBox loằng ngoằng nhưng Text lại ngon lành. Mời mọi người kiểm tra nhé (trước khi chạy nhớ chỉnh Style cho phù hợp với kiểu gõ):

 

Sub Example_AddMtext()
' This example creates an MText object in model space.

Dim MTextObj As AcadMText
Dim corner(0 To 2) As Double
Dim width As Double
Dim text As String
corner(0) = 0#: corner(1) = 10#: corner(2) = 0#
width = 10
text = InputBox("Hay nhap noi dung vao:", "www.cadviet.com")

' Creates the mtext Object
Set MTextObj = ThisDrawing.ModelSpace.AddMText(corner, width, text)
ZoomAll

End Sub

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
anhcos    177
Tôi đã kiểm tra lại, dùng InputBox để nhập. Nếu kiểu gõ Unicode thì chữ hiện ra trong InputBox rõ ràng là tiếng Việt, nhưng vào bản vẽ một số ký tự thành ? (như ệ, ế,...). Còn TCVN thì chữ nhập trong InputBox loằng ngoằng nhưng Text lại ngon lành. Mời mọi người kiểm tra nhé (trước khi chạy nhớ chỉnh Style cho phù hợp với kiểu gõ):

 

Sub Example_AddMtext()
' This example creates an MText object in model space.

Dim MTextObj As AcadMText
Dim corner(0 To 2) As Double
Dim width As Double
Dim text As String
corner(0) = 0#: corner(1) = 10#: corner(2) = 0#
width = 10
text = InputBox("Hay nhap noi dung vao:", "www.cadviet.com")

' Creates the mtext Object
Set MTextObj = ThisDrawing.ModelSpace.AddMText(corner, width, text)
ZoomAll

End Sub

 

 

VBA hỗ trợ Unicod rất kém. Trước khi tạo đối tượng tẽt cần phải chuyển về định dạng text riêng của CAD thì mới hiển thị đúng tiếng Việt unicode.

 

VD: nguyên âm

à sẽ phải chuyển thành \U+00E0

ú sẽ phải chuyển thành \U+00FA ...

 

Như vậy câu chữ: "Cành trúc" --> "C\U+00E0nh tr\U+00FAc"

 

Lập trình từ visual studio sẽ không cần thao tác này, vì nó hỗ trợ unicode rất tốt.

 

VD về một vài dạng hexa của nguyên âm trong AutoCAD

acadunicode.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

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  

×