Version 2.0 😀
– Hỗ trợ tự động Bật/Tắt chế độ gõ Tiếng Việt trong Cad: Khi nào bạn chỉnh sửa hoặc viết text thì Unikey tự động bật chế độ gõ Tiếng Việt. sau khi thực hiện xong lại tự động trả về chế độ gõ Tiếng Anh cho command.
– Tự động lựa chọn bảng mã thích hợp cho bộ gõ (đã có từ ver 1.0 nhưng thêm 1 vài chỉnh sửa nhỏ làm tăng tính chính xác của chương trình)
– Hỗ trợ thêm đối tượng Dimension
;===========================================================; ; A U T O U N I K E Y C O N T R O L R O U T I N E ; ;===========================================================; ; ; ; Version 1.0 – 14/12/2012 ; ; – Support Auto change table code (Unicode, TCVN, VNI) ; ; – Support for Text & Mtext objects ; ; ; ; Version 2.0 – 15/12/2012 ; ; – Added Auto toggle (On/Off) Vietnamese keys ; ; – Added support for Dimension objects ; ; – fixed Check-font-code function ; ; ; ;===========================================================; ; Cadviet.com – Le Thuy Linh 313 – Tri Tue Viet.jsc ; ;===========================================================; (vl-load-com) ;;; Go bo Reactor Auto-Unikey cu truoc khi load (foreach x (cdar (vlr-reactors :vlr-sysvar-reactor)) (if (= (vlr-data x) “Auto-Unikey”) (vlr-remove x))) ;;; Tao Reactor Auto-Unikey (vlr-sysvar-reactor “Auto-Unikey” ‘((:vlr-sysvarchanged . callback-Unikey))) ;;; Dinh nghia lai lenh ED de lay ename doi tuong (defun c:ed (/ textedit font ent) (and (or (and (setq textedit (ssget “I”)) (setq textedit (ssname textedit 0))) (setq textedit (car (entsel)))) (setq ent (cdr (assoc 0 (entget textedit)))) (cond ((wcmatch ent “*TEXT”) (setq font (vla-get-stylename (vlax-ename->vla-object textedit)))) ((= ent “DIMENSION”) (setq font (vla-get-textstyle (vlax-ename->vla-object textedit))))) (command “ddedit” textedit)) (princ)) ;;; Ham callback dieu khien bo go tieng viet (defun callback-Unikey (reactor sysvar / code Crfont) (if (= (car sysvar) “TEXTEDITOR”) (sendkeys “^+”)) (if (> (getvar “TEXTEDITOR”) 0) (progn (if font (setq Crfont font) (setq Crfont (getvar “textstyle”))) (setq code (check-font-code Crfont)) (cond ((= code “TCVN3”) (sendkeys “^+{F2}”)) ((= code “UNICODE”) (sendkeys “^+{F1}”)) ((= code “VNI”) (sendkeys “^+{F3}”)))))) ;;; Ham kiem tra bang ma cua textstyle (su dung true type font) ;;; style: String – ten cua textstlye kiem tra (defun Check-Font-Code (style / ts font Bold Italic charSet PitchandFamily) (setq ts (vlax-ename->vla-object (tblobjname “style” style))) (vla-GetFont ts ‘font ‘Bold ‘Italic ‘charSet ‘PitchandFamily) (if (= font “”) (setq font (vla-get-fontfile ts))) (cond ((wcmatch (setq font (strcase font)) “ARIAL*,TAHOMA*,TIMES*,COURIER NEW,CAMBRIA,CONSOLAS”) “UNICODE”) ((wcmatch font “.VN*”) “TCVN3”) ((wcmatch font “VNI*”) “VNI”))) ;;; Ham senkeys (defun SendKeys (keys / wscript) (vlax-invoke-method (setq wscript (vlax-create-object “WScript.Shell”)) ‘sendkeys keys) (vlax-release-object wscript))