Đến nội dung


Hình ảnh
- - - - -

Ai giúp em sửa Lisp chuyển font này về VNI_Helve Condense với.


  • Please log in to reply
1 reply to this topic

#1 phamthanhhungks

phamthanhhungks

    biết vẽ polygon

  • Members
  • PipPip
  • 74 Bài viết
Điểm đánh giá: 19 (tàm tạm)

Đã gửi 26 November 2009 - 10:33 AM

Em tìm trên diễn đàn thấy có rất nhiều bài viết mà các anh chị đã từng thảo luận về chuyển đổi font chữ trong bản vẽ kỹ thuật. Nhưng lại không thấy có 1 bài nào về chuyển font chữ về bảng mã Vni_Helve Condese, mà toàn là font chữ Aria và TCVN mà thôi.
vậy có anh chị nào có thể giúp em sửa lại cái lisp mà em tìm thấy trên diễn đàn, để em có thể đổi tất cả các font chữ trong bản vẽ kỹ thuật của em về font chữ Vni_helve Condese được ko? Hiện tại bên cty em dùng font chữ chuẩn là VNI_Helve Condese. Mỗi lần nhận bản vẽ từ nơi khác về, em phải sửa lại font chữ rất là khổ cực.
Cảm ơn các anh chị nhiều.
Duới đây là 1 Lisp mà em tìm thấy trên diễn đàn, và em nghĩ khá tương đồng với Lisp em cần sử dụng (Nhưng em không biết sửa sao cho đúng nhu cầu của mình cần nữa)
Lisp V2T này là em chép trong bài viết của anh Nguyễn Hoành trên diễn đàn nha.

(defun c:V2T (/ sst)
(setq tapsua (list
(cons "®" "ñ")
(cons "§" "Ñ")
(cons "µ" "aø")
(cons "¸" "aù")
(cons "¶" "aû")
(cons "·" "aõ")
(cons "¹" "aï")
(cons "©" "aâ")
(cons "¢" "AÂ")
(cons "Ç" "aà")
(cons "Ê" "aá")
(cons "È" "aå")
(cons "É" "aã")
(cons "Ë" "aä")
(cons "¨" "aê")
(cons "¡" "AÊ")
(cons "»" "aè")
(cons "¾" "aé")
(cons "¼" "aú")
(cons "½" "aü")
(cons "Æ" "aë")
(cons "Ì" "eø")
(cons "Ð" "eù")
(cons "Î" "eû")
(cons "Ï" "eõ")
(cons "Ñ" "eï")
(cons "ª" "eâ")
(cons "£" "EÂ")
(cons "Ò" "eà")
(cons "Õ" "eá")
(cons "Ó" "eå")
(cons "Ô" "eã")
(cons "Ö" "eä")
(cons "×" "ì")
(cons "Ý" "í")
(cons "Ø" "æ")
(cons "Ü" "ó")
(cons "Þ" "ò")
(cons "ß" "oø")
(cons "ã" "où")
(cons "á" "oû")
(cons "â" "oõ")
(cons "ä" "oï")
(cons "«" "oâ")
(cons "¤" "OÂ")
(cons "å" "oà")
(cons "è" "oá")
(cons "æ" "oå")
(cons "ç" "oã")
(cons "é" "oä")
(cons "¬" "ô")
(cons "¥" "Ô")
(cons "ê" "ôø")
(cons "í" "ôù")
(cons "ë" "ôû")
(cons "ì" "ôõ")
(cons "î" "ôï")
(cons "ï" "uø")
(cons "ó" "uù")
(cons "ñ" "uû")
(cons "ò" "uõ")
(cons "ô" "uï")
(cons "­" "ö")
(cons "¦" "Ö")
(cons "õ" "öø")
(cons "ø" "öù")
(cons "ö" "öû")
(cons "÷" "öõ")
(cons "ù" "öï")
(cons "ú" "yø")
(cons "ý" "yù")
(cons "û" "yû")
(cons "ü" "yõ")
(cons "þ" "î")
)
tapsua (mapcar '(lambda (x)
(cons (cdr x) (car x))
)
tapsua
)

)
(defun cf (stsua)
(defun pos (sub st / l1 l2 index)
(setq index 1
l1 (strlen sub)
l2 (strlen st)
)
(while
(and (<= (+ index l1 -1) l2) (/= sub (substr st index l1)))
(setq index (1+ index))
)
(if (= sub (substr st index l1))
index
nil
)
)

(setq stdich stsua
stht stdich)
(foreach pt tapsua
(setq
cansua (car pt)
suabang (cdr pt)
)
(while (wcmatch stht (strcat "*" cansua "*"))
(setq
vitri (pos cansua stdich)
stdich (strcat (substr stdich 1 (1- vitri))
suabang
(substr stdich (+ vitri (strlen cansua)))
)
vitri (pos cansua stht)
stht (strcat (substr stht 1 (1- vitri))
(substr stht (+ vitri (strlen cansua)))
)
)
)
)
stdich
)
(defun VNI2TCVNone
(ent / daichuoi index stdich chuht CHUSUA)
(setq
tt (entget ent)
old (assoc 1 tt)
stsua (cdr old)
stdich (cf stsua)
tt (subst (cons 1 stdich) old tt)
)
(entmod tt)
(entupd ent)
)
(defun sudung (ham ss / sodt index entdt soapp)
(setq sodt (cond
(ss (sslength ss))
(t 0)
)
soapp 0
index 0
)
(repeat sodt
(setq entdt (ssname ss index)
index (1+ index)
)
(if (ham entdt)
(setq soapp (1+ soapp))
)
)
soapp
)
(princ "\nConvert text from VNI to TCVN3 - © CADViet.com")
(setq sst (setq ss (ssget '((0 . "TEXT")))))
(sudung VNI2TCVNone sst)
(princ)
)
(princ
"\nConvert text from VNI to TCVN3 - free lisp from www.cadviet.com"
)
(princ "\ntype V2T to start!")
(princ)

  • 1

#2 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 26 November 2009 - 04:37 PM

Vấn đề của bạn là chuyển bảng mã hay chuyển font hai cái này khác nhau nha bạn:
-Bản mã thì có: TCVN3 - .VN - VNI. .... Chuyển bảng mã thì bạn cần nêu mã nguồn và mã đích chứ chơi tất cả mã nguồn thì hơi khoai.
-Font chữ thì chỉ các font cùng bảng mã mới chuyễn được.
Theo mình biết thì cái lisp của bác Hoành là chuyễn mã.
*Mình có lisp chuyễn mã tử TCVN về VNI. nếu đúng ý thì mình gửi lên bạn dùng.
  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D