Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] Lisp chuyển Font12 (font xuyệc (/)) sang UNICODE hay TCVN-3


  • Please log in to reply
19 replies to this topic

#1 CUONG20051982

CUONG20051982

    biết lệnh extend

  • Members
  • PipPipPip
  • 196 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 19 August 2012 - 09:30 PM

Lisp chuyển Font12(font xuyệc (/)) có đuôi .SHX Sang UNICODE hay TCVN-3 với bảng mã tương ứng như sau:
http://www.cadviet.c...ont_xuyêc_1.doc
Và đây là file có chứa font kèm theo: http://www.cadviet.c...t12.rar&w=65875

P/S: - Em viết lại bài này muốn nhờ các bác viết giúp em cái lisp chuyển đổi, em xin cảm ơn! Có gì các bác góp ý đừng cho nó vào thùng rác nhé!
  • Nếu bác nào có cái lisp chuyển đổi tất cả các Font về UNICODE hay TCVN-3 thì cho em xin nhé! Thanks!

  • 0

#2 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5451 Bài viết
Điểm đánh giá: 2625 (tuyệt vời)

Đã gửi 20 August 2012 - 06:51 PM

Lisp chuyển qua lại giữa các kiểu font:TCVN, Unicode, VNI và font "Xuyệc".
Gồm 6 kiểu chuyển. Còn 6 kiểu nữa sẽ bổ sung sau.

;Cßn thiÕu 6 kiÓu chuyÓn (dï ®· ®ñ c¬ së d÷ liÖu).
;Doan Van Ha - CADViet.com - Ngay 20/8/2012
;Muc dich: Chuyen Text xu&#171;i/ng&#173;&#238;c tr&#170;n b&#182;n v&#207; gi&#247;a 4 Font: TCVN <=> UNICODE <=> VNI <=> XUYEC.
;Font Name theo Style Name duoc chon lam mau.
; "&#181; &#204; &#223; &#239; &#184; &#208; &#227; &#243; &#182; &#206; &#225; &#241; &#183; &#207; &#226; &#242; &#185; &#209; &#228; &#244; &#169; &#170; &#171; &#173; &#199; &#210; &#229; &#245; &#202; &#213; &#232; &#248; &#200; &#211; &#230; &#246; &#201; &#212; &#231; &#247; &#203; &#214; &#233; &#249; &#168; &#215; &#172; &#250; &#187; &#221; &#234; &#253; &#190; &#216; &#237; &#251; &#188; &#220; &#235; &#252; &#189; &#222; &#236; &#254; &#168; &#174; &#238; &#166; &#162; &#167; &#164; &#165; &#161; &#163;"
;----- Chuy&#211;n t&#245; VNI => TCVN
(defun C:V2T( / entlst sty)
(princ "\nChon cac Text VNI can chuyen sang TCVN...")
(setq entlst (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "TEXT")))))))
(setq sty (cdr (assoc 7 (entget (car (entsel "\nChon Text de lay Font TCVN mau: "))))))
(foreach ent entlst
(entmod (subst (cons 1 (VNI-TCVN (cdr (assoc 1 (entget ent))))) (assoc 1 (entget ent)) (entget ent)))
(entmod (subst (cons 7 sty) (assoc 7 (entget ent)) (entget ent))))
(princ))
;----- Chuy&#211;n t&#245; VNI-->TCVN.
(defun VNI-TCVN (stsua / i stdich chuht chusua)
(TAO_TAPSUA)
(foreach n tapsuan3
(setq stsua (acet-str-replace (car n) (cdr n) stsua)))
stsua)
;----- Chuy&#211;n t&#245; TCVN => VNI
(defun C:T2V( / entlst sty)
(princ "\nChon cac Text TCVN can chuyen sang VNI...")
(setq entlst (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "TEXT")))))))
(setq sty (cdr (assoc 7 (entget (car (entsel "\nChon Text de lay Font VNI mau: "))))))
(foreach ent entlst
(entmod (subst (cons 1 (TCVN-VNI (cdr (assoc 1 (entget ent))))) (assoc 1 (entget ent)) (entget ent)))
(entmod (subst (cons 7 sty) (assoc 7 (entget ent)) (entget ent))))
(princ))
;----- Chuy&#211;n t&#245; TCVN --> VNI.
(defun TCVN-VNI (stsua / i stdich chuht chusua)
(TAO_TAPSUA)
(setq i 1 stdich "")
(repeat (strlen stsua)
(setq chuht (substr stsua i 1)
i (1+ i)
chusua (cond ((assoc chuht tapsuax3) (cdr (assoc chuht tapsuax3))) (t chuht))
stdich (strcat stdich chusua)))
stdich)
;----- Chuy&#211;n t&#245; TCVN => XUYEC
(defun C:T2X( / entlst sty)
(princ "\nChon cac Text TCVN can chuyen sang XUYEC...")
(setq entlst (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "TEXT")))))))
(setq sty (cdr (assoc 7 (entget (car (entsel "\nChon Text de lay Font Xuyec mau: "))))))
(foreach ent entlst
(entmod (subst (cons 1 (TCVN-Xuyec (cdr (assoc 1 (entget ent))))) (assoc 1 (entget ent)) (entget ent)))
(entmod (subst (cons 7 sty) (assoc 7 (entget ent)) (entget ent))))
(princ))
;----- Chuy&#211;n t&#245; TCVN --> Xuyec.
(defun TCVN-Xuyec (stsua / i stdich chuht chusua)
(TAO_TAPSUA)
(setq i 1 stdich "")
(repeat (strlen stsua)
(setq chuht (substr stsua i 1)
i (1+ i)
chusua (cond ((assoc chuht tapsuax2) (cdr (assoc chuht tapsuax2))) (t chuht))
stdich (strcat stdich chusua)))
stdich)
;----- Chuy&#211;n t&#245; XUYEC => TCVN
(defun C:X2T( / entlst sty)
(princ "\nChon cac Text XUYEC can chuyen sang TCVN...")
(setq entlst (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "TEXT")))))))
(setq sty (cdr (assoc 7 (entget (car (entsel "\nChon Text de lay Font TCVN mau: "))))))
(foreach ent entlst
(entmod (subst (cons 1 (Xuyec-TCVN (cdr (assoc 1 (entget ent))))) (assoc 1 (entget ent)) (entget ent)))
(entmod (subst (cons 7 sty) (assoc 7 (entget ent)) (entget ent))))
(princ))
;----- Chuy&#211;n t&#245; Xuyec-->TCVN.
(defun Xuyec-TCVN (stsua / i stdich chuht chusua)
(TAO_TAPSUA)
(foreach n tapsuan2
(setq stsua (acet-str-replace (car n) (cdr n) stsua)))
stsua)
;----- Chuy&#211;n t&#245; TCVN => UNICODE
(defun C:T2U( / entlst sty)
(princ "\nChon cac Text TCVN can chuyen sang UNICODE...")
(setq entlst (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "TEXT")))))))
(setq sty (cdr (assoc 7 (entget (car (entsel "\nChon Text de lay Font Unicode mau: "))))))
(foreach ent entlst
(entmod (subst (cons 1 (TCVN-Unicode (cdr (assoc 1 (entget ent))))) (assoc 1 (entget ent)) (entget ent)))
(entmod (subst (cons 7 sty) (assoc 7 (entget ent)) (entget ent))))
(princ))
;----- Chuy&#211;n t&#245; UNICODE => TCNN3
(defun C:U2T( / entlst sty)
(princ "\nChon cac Text UNICODE can chuyen sang TCVN...")
(setq entlst (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "TEXT")))))))
(setq sty (cdr (assoc 7 (entget (car (entsel "\nChon Text de lay Font TCVN mau: "))))))
(foreach ent entlst
(entmod (subst (cons 1 (Unicode-TCVN (HEXA3 (HEXA2 (HEXA1 (cdr (assoc 1 (entget ent)))))))) (assoc 1 (entget ent)) (entget ent)))
(entmod (subst (cons 7 sty) (assoc 7 (entget ent)) (entget ent))))
(princ))
;----- H&#181;m b&#225; k&#253; t&#249; &#174;&#183; th&#170;m "\" tr&#173;&#237;c khi chuy&#211;n sang TCVN.
(defun HEXA3(str)
(setq x 1)
(repeat (strlen str)
(cond ((= "\U+005C" (substr str x 7)) (setq str (vl-string-subst "\\" "\U+005C" str))))
(setq x (1+ x)))
str)
;----- H&#181;m chuy&#211;n 20 k&#253; t&#249; (&#181;, &#243;,...) t&#245; Unicode sang Hexa.
(defun HEXA2(str)
(setq x 1)
(repeat (strlen str)
(cond ((= (chr 194) (substr str x 1)) (setq str (vl-string-subst "\U+00C2" (substr str x 1) str) x (+ x 6)))
((= (chr 202) (substr str x 1)) (setq str (vl-string-subst "\U+00CA" (substr str x 1) str) x (+ x 6)))
((= (chr 208) (substr str x 1)) (setq str (vl-string-subst "\U+0110" (substr str x 1) str) x (+ x 6)))
((= (chr 212) (substr str x 1)) (setq str (vl-string-subst "\U+00D4" (substr str x 1) str) x (+ x 6)))
((= (chr 224) (substr str x 1)) (setq str (vl-string-subst "\U+00E0" (substr str x 1) str) x (+ x 6)))
((= (chr 225) (substr str x 1)) (setq str (vl-string-subst "\U+00E1" (substr str x 1) str) x (+ x 6)))
((= (chr 226) (substr str x 1)) (setq str (vl-string-subst "\U+00E2" (substr str x 1) str) x (+ x 6)))
((= (chr 227) (substr str x 1)) (setq str (vl-string-subst "\U+00E3" (substr str x 1) str) x (+ x 6)))
((= (chr 232) (substr str x 1)) (setq str (vl-string-subst "\U+00E8" (substr str x 1) str) x (+ x 6)))
((= (chr 233) (substr str x 1)) (setq str (vl-string-subst "\U+00E9" (substr str x 1) str) x (+ x 6)))
((= (chr 234) (substr str x 1)) (setq str (vl-string-subst "\U+00EA" (substr str x 1) str) x (+ x 6)))
((= (chr 236) (substr str x 1)) (setq str (vl-string-subst "\U+00EC" (substr str x 1) str) x (+ x 6)))
((= (chr 237) (substr str x 1)) (setq str (vl-string-subst "\U+00ED" (substr str x 1) str) x (+ x 6)))
((= (chr 242) (substr str x 1)) (setq str (vl-string-subst "\U+00F2" (substr str x 1) str) x (+ x 6)))
((= (chr 243) (substr str x 1)) (setq str (vl-string-subst "\U+00F3" (substr str x 1) str) x (+ x 6)))
((= (chr 244) (substr str x 1)) (setq str (vl-string-subst "\U+00F4" (substr str x 1) str) x (+ x 6)))
((= (chr 245) (substr str x 1)) (setq str (vl-string-subst "\U+00F5" (substr str x 1) str) x (+ x 6)))
((= (chr 249) (substr str x 1)) (setq str (vl-string-subst "\U+00F9" (substr str x 1) str) x (+ x 6)))
((= (chr 250) (substr str x 1)) (setq str (vl-string-subst "\U+00FA" (substr str x 1) str) x (+ x 6)))
((= (chr 253) (substr str x 1)) (setq str (vl-string-subst "\U+00FD" (substr str x 1) str) x (+ x 6))))
(setq x (1+ x)))
str)
;----- H&#181;m gi&#247; nguy&#170;n m&#183; Hexa (kh&#171;ng cho chuy&#211;n qua Unicode).
(defun HEXA1(str)
(setq x 1 moi "")
(repeat (strlen str)
(setq kytu7 (substr str x 7))
(setq x (+ x 1))
(if (= (substr kytu7 1 3) "\\U+")
(setq moi (strcat moi (strcat "\U+005C" (substr kytu7 2 7))) x (+ x 6))
(setq moi (strcat moi (substr kytu7 1 1))))))
;----- Chuy&#211;n thu&#203;n t&#245; TCVN --> Unicode.
(defun TCVN-Unicode (stsua / i stdich chuht chusua)
(TAO_TAPSUA)
(setq i 1 stdich "")
(repeat (strlen stsua)
(setq chuht (substr stsua i 1)
i (1+ i)
chusua (cond ((assoc chuht tapsuax1) (cdr (assoc chuht tapsuax1))) (t chuht))
stdich (strcat stdich chusua)))
stdich)
;----- Chuy&#211;n ng&#173;&#238;c t&#245; Unicode --> TCVN.
(defun Unicode-TCVN (stsua / i stdich chuht)
(TAO_TAPSUA)
(setq i 1)
(repeat (- (strlen stsua) 6)
(setq chuht (substr stsua i 7)
i (1+ i))
(cond ((assoc chuht tapsuan1)
(setq stsua (THAY_CONV stsua (car (assoc chuht tapsuan1)) (cdr (assoc chuht tapsuan1)))))))
(setq stdich stsua))
;----- H&#181;m con c&#241;a chuy&#211;n ng&#173;&#238;c.
(defun THAY_CONV(str old new / n strpp strtt)
(while (setq n (vl-string-search old str))
(setq strpp (substr str (+ 1 n (strlen old))))
(setq strtt (substr str 1 (- (strlen str) (strlen old) (strlen strpp))))
(setq str (strcat strtt new strpp))))
;----- T&#185;o 2 danh s&#184;ch c&#172; s&#235; &#174;&#211; chuy&#211;n thu&#203;n v&#181; ng&#173;&#238;c.
(defun TAO_TAPSUA()
(setq tapsuan1 '() tapsuax1
(list (cons "&#181;" "\U+00E0") (cons "&#204;" "\U+00E8") (cons "&#223;" "\U+00F2") (cons "&#239;" "\U+00F9")
(cons "&#184;" "\U+00E1") (cons "&#208;" "\U+00E9") (cons "&#227;" "\U+00F3") (cons "&#243;" "\U+00FA")
(cons "&#182;" "\U+1EA3") (cons "&#206;" "\U+1EBB") (cons "&#225;" "\U+1ECF") (cons "&#241;" "\U+1EE7")
(cons "&#183;" "\U+00E3") (cons "&#207;" "\U+1EBD") (cons "&#226;" "\U+00F5") (cons "&#242;" "\U+0169")
(cons "&#185;" "\U+1EA1") (cons "&#209;" "\U+1EB9") (cons "&#228;" "\U+1ECD") (cons "&#244;" "\U+1EE5")
(cons "&#169;" "\U+00E2") (cons "&#170;" "\U+00EA") (cons "&#171;" "\U+00F4") (cons "&#173;" "\U+01B0")
(cons "&#199;" "\U+1EA7") (cons "&#210;" "\U+1EC1") (cons "&#229;" "\U+1ED3") (cons "&#245;" "\U+1EEB")
(cons "&#202;" "\U+1EA5") (cons "&#213;" "\U+1EBF") (cons "&#232;" "\U+1ED1") (cons "&#248;" "\U+1EE9")
(cons "&#200;" "\U+1EA9") (cons "&#211;" "\U+1EC3") (cons "&#230;" "\U+1ED5") (cons "&#246;" "\U+1EED")
(cons "&#201;" "\U+1EAB") (cons "&#212;" "\U+1EC5") (cons "&#231;" "\U+1ED7") (cons "&#247;" "\U+1EEF")
(cons "&#203;" "\U+1EAD") (cons "&#214;" "\U+1EC7") (cons "&#233;" "\U+1ED9") (cons "&#249;" "\U+1EF1")
(cons "&#168;" "\U+0103") (cons "&#215;" "\U+00EC") (cons "&#172;" "\U+01A1") (cons "&#250;" "\U+1EF3")
(cons "&#187;" "\U+1EB1") (cons "&#221;" "\U+00ED") (cons "&#234;" "\U+1EDD") (cons "&#253;" "\U+00FD")
(cons "&#190;" "\U+1EAF") (cons "&#216;" "\U+1EC9") (cons "&#237;" "\U+1EDB") (cons "&#251;" "\U+1EF7")
(cons "&#188;" "\U+1EB3") (cons "&#220;" "\U+0129") (cons "&#235;" "\U+1EDF") (cons "&#252;" "\U+1EF9")
(cons "&#189;" "\U+1EB5") (cons "&#222;" "\U+1ECB") (cons "&#236;" "\U+1EE1") (cons "&#254;" "\U+1EF5")
(cons "&#198;" "\U+1EB7") (cons "&#174;" "\U+0111") (cons "&#238;" "\U+1EE3") (cons "&#166;" "\U+01AF")
(cons "&#162;" "\U+00C2") (cons "&#167;" "\U+0110") (cons "&#164;" "\U+00D4") (cons "&#165;" "\U+01A0")
(cons "&#161;" "\U+0102") (cons "&#163;" "\U+00CA")))
(foreach n tapsuax1 (setq tapsuan1 (reverse (cons (cons (cdr n) (car n)) (reverse tapsuan1)))))
(setq tapsuan2 '() tapsuax2
(list (cons "&#181;" "a/f") (cons "&#204;" "e/f") (cons "&#223;" "o/f") (cons "&#239;" "u/f")
(cons "&#184;" "a/s") (cons "&#208;" "e/s") (cons "&#227;" "o/s") (cons "&#243;" "u/s")
(cons "&#182;" "a/r") (cons "&#206;" "e/r") (cons "&#225;" "o/r") (cons "&#241;" "u/r")
(cons "&#183;" "a/x") (cons "&#207;" "e/x") (cons "&#226;" "o/x") (cons "&#242;" "u/x")
(cons "&#185;" "a/j") (cons "&#209;" "e/j") (cons "&#228;" "o/j") (cons "&#244;" "u/j")
(cons "&#169;" "a/m") (cons "&#170;" "e/m") (cons "&#171;" "o/m") (cons "&#173;" "/]")
(cons "&#199;" "a/m/f") (cons "&#210;" "e/m/f") (cons "&#229;" "o/m/f") (cons "&#245;" "/]/f")
(cons "&#202;" "a/m/s") (cons "&#213;" "e/m/s") (cons "&#232;" "o/m/s") (cons "&#248;" "/]/s")
(cons "&#200;" "a/m/r") (cons "&#211;" "e/m/r") (cons "&#230;" "o/m/r") (cons "&#246;" "/]/r")
(cons "&#201;" "a/m/x") (cons "&#212;" "e/m/x") (cons "&#231;" "o/m/x") (cons "&#247;" "/]/x")
(cons "&#203;" "a/m/j") (cons "&#214;" "e/m/j") (cons "&#233;" "o/m/j") (cons "&#249;" "/]/j")
(cons "&#168;" "a/w") (cons "&#215;" "i/f") (cons "&#172;" "/[") (cons "&#250;" "y/f")
(cons "&#187;" "a/w/f") (cons "&#221;" "i/s") (cons "&#234;" "/[/f") (cons "&#253;" "y/s")
(cons "&#190;" "a/w/s") (cons "&#216;" "i/r") (cons "&#237;" "/[/s") (cons "&#251;" "y/r")
(cons "&#188;" "a/w/r") (cons "&#220;" "i/x") (cons "&#235;" "/[/r") (cons "&#252;" "y/x")
(cons "&#189;" "a/w/x") (cons "&#222;" "i/j") (cons "&#236;" "/[/x") (cons "&#254;" "y/j")
(cons "&#198;" "a/w/j") (cons "&#174;" "/d") (cons "&#238;" "/[/j") (cons "&#166;" "/}")
(cons "&#162;" "A/M") (cons "&#167;" "/D") (cons "&#164;" "O/M") (cons "&#165;" "/{")
(cons "&#161;" "A/W") (cons "&#163;" "E/M")))
(foreach n tapsuax2 (setq tapsuan2 (reverse (cons (cons (cdr n) (car n)) (reverse tapsuan2)))))
(setq tapsuan3 '() tapsuax3
(list (cons "&#174;" "&#241;") (cons "&#167;" "&#209;") (cons "&#181;" "a&#248;") (cons "&#184;" "a&#249;")
(cons "&#182;" "a&#251;") (cons "&#183;" "a&#245;") (cons "&#185;" "a&#239;") (cons "&#169;" "a&#226;")
(cons "&#162;" "A&#194;") (cons "&#199;" "a&#224;") (cons "&#202;" "a&#225;") (cons "&#200;" "a&#229;")
(cons "&#201;" "a&#227;") (cons "&#203;" "a&#228;") (cons "&#168;" "a&#234;") (cons "&#161;" "A&#202;")
(cons "&#187;" "a&#232;") (cons "&#190;" "a&#233;") (cons "&#188;" "a&#250;") (cons "&#189;" "a&#252;")
(cons "&#198;" "a&#235;") (cons "&#204;" "e&#248;") (cons "&#208;" "e&#249;") (cons "&#206;" "e&#251;")
(cons "&#207;" "e&#245;") (cons "&#209;" "e&#239;") (cons "&#170;" "e&#226;") (cons "&#163;" "E&#194;")
(cons "&#210;" "e&#224;") (cons "&#213;" "e&#225;") (cons "&#211;" "e&#229;") (cons "&#212;" "e&#227;")
(cons "&#214;" "e&#228;") (cons "&#215;" "&#236;") (cons "&#221;" "&#237;") (cons "&#216;" "&#230;")
(cons "&#220;" "&#243;") (cons "&#222;" "&#242;") (cons "&#223;" "o&#248;") (cons "&#227;" "o&#249;")
(cons "&#225;" "o&#251;") (cons "&#226;" "o&#245;") (cons "&#228;" "o&#239;") (cons "&#171;" "o&#226;")
(cons "&#164;" "O&#194;") (cons "&#229;" "o&#224;") (cons "&#232;" "o&#225;") (cons "&#230;" "o&#229;")
(cons "&#231;" "o&#227;") (cons "&#233;" "o&#228;") (cons "&#172;" "&#244;") (cons "&#165;" "&#212;")
(cons "&#234;" "&#244;&#248;") (cons "&#237;" "&#244;&#249;") (cons "&#235;" "&#244;&#251;") (cons "&#236;" "&#244;&#245;")
(cons "&#238;" "&#244;&#239;") (cons "&#239;" "u&#248;") (cons "&#243;" "u&#249;") (cons "&#241;" "u&#251;")
(cons "&#242;" "u&#245;") (cons "&#244;" "u&#239;") (cons "&#173;" "&#246;") (cons "&#166;" "&#214;")
(cons "&#245;" "&#246;&#248;") (cons "&#248;" "&#246;&#249;") (cons "&#246;" "&#246;&#251;") (cons "&#247;" "&#246;&#245;")
(cons "&#249;" "&#246;&#239;") (cons "&#250;" "y&#248;") (cons "&#253;" "y&#249;") (cons "&#251;" "y&#251;")
(cons "&#252;" "y&#245;") (cons "&#254;" "&#238;")
;| (cons "%%174" "&#241;") (cons "%%167" "&#209;") (cons "%%181" "a&#248;") (cons "%%184" "a&#249;")
(cons "%%182" "a&#251;") (cons "%%183" "a&#245;") (cons "%%185" "a&#239;") (cons "%%169" "a&#226;")
(cons "%%162" "A&#194;") (cons "%%199" "a&#224;") (cons "%%202" "a&#225;") (cons "%%200" "a&#229;")
(cons "%%201" "a&#227;") (cons "%%203" "a&#228;") (cons "%%168" "a&#234;") (cons "%%161" "A&#202;")
(cons "%%187" "a&#232;") (cons "%%190" "a&#233;") (cons "%%188" "a&#250;") (cons "%%189" "a&#252;")
(cons "%%198" "a&#235;") (cons "%%204" "e&#248;") (cons "%%208" "e&#249;") (cons "%%206" "e&#251;")
(cons "%%207" "e&#245;") (cons "%%209" "e&#239;") (cons "%%170" "e&#226;") (cons "%%163" "E&#194;")
(cons "%%210" "e&#224;") (cons "%%213" "e&#225;") (cons "%%211" "e&#229;") (cons "%%212" "e&#227;")
(cons "%%214" "e&#228;") (cons "%%215" "&#236;") (cons "%%221" "&#237;") (cons "%%216" "&#230;")
(cons "%%220" "&#243;") (cons "%%222" "&#242;") (cons "%%223" "o&#248;") (cons "%%227" "o&#249;")
(cons "%%225" "o&#251;") (cons "%%226" "o&#245;") (cons "%%228" "o&#239;") (cons "%%171" "o&#226;")
(cons "%%164" "O&#194;") (cons "%%229" "o&#224;") (cons "%%232" "o&#225;") (cons "%%230" "o&#229;")
(cons "%%231" "o&#227;") (cons "%%233" "o&#228;") (cons "%%172" "&#244;") (cons "%%165" "&#212;")
(cons "%%234" "&#244;&#248;") (cons "%%237" "&#244;&#249;") (cons "%%235" "&#244;&#251;") (cons "%%236" "&#244;&#245;")
(cons "%%238" "&#244;&#239;") (cons "%%239" "u&#248;") (cons "%%243" "u&#249;") (cons "%%241" "u&#251;")
(cons "%%242" "u&#245;") (cons "%%244" "u&#239;") (cons "%%173" "&#246;") (cons "%%166" "&#214;")
(cons "%%245" "&#246;&#248;") (cons "%%248" "&#246;&#249;") (cons "%%246" "&#246;&#251;") (cons "%%247" "&#246;&#245;")
(cons "%%249" "&#246;&#239;") (cons "%%250" "y&#248;") (cons "%%253" "y&#249;") (cons "%%251" "y&#251;")
(cons "%%252" "y&#245;") (cons "%%254" "&#238;")|;
))
(foreach n tapsuax3 (setq tapsuan3 (reverse (cons (cons (cdr n) (car n)) (reverse tapsuan3)))))
)
(prompt "\nL\U+1EC7nh ConVert TCVN to UNICODE: T2U") ;OK
(prompt "\nL\U+1EC7nh ConVert UNICODE to TCVN: U2T") ;OK
(prompt "\nL\U+1EC7nh ConVert XUYEC to TCVN: X2T") ;OK
(prompt "\nL\U+1EC7nh ConVert TCVN to XUYEC: T2X") ;OK
(prompt "\nL\U+1EC7nh ConVert TCVN to VNI: T2V") ;OK
(prompt "\nL\U+1EC7nh ConVert VNI to TCVN: V2T") ;OK

  • 3

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#3 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 20 August 2012 - 07:37 PM

Hơi dài bác ạ. Bác có thể chỉ dùng 1 list cho tất cả các loại bảng mã, sau đó dùng 1 hàm con với 2 đối số là vị trí đích và nguồn
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#4 CUONG20051982

CUONG20051982

    biết lệnh extend

  • Members
  • PipPipPip
  • 196 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 20 August 2012 - 07:49 PM

Cảm ơn Doan Van Ha !
Mình đã test thử với việc chuyển qua lại giữa font Xuyêc và TCVN-3 nhưng vẫn chưa được. Đây là file CAD có font xuyêc của mình, xem giúp mình với.
http://www.upfile.me...download&q=3830

P/s: Lisp này mình thấy chỉ chọn được Dtext thì phải, nếu dùng được cho cả Mtext thì tốt.
  • 0

#5 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5451 Bài viết
Điểm đánh giá: 2625 (tuyệt vời)

Đã gửi 20 August 2012 - 08:12 PM

@Ketxu: đã nghĩ phương án Ket đề xuất, nhưng vì lấy lisp cũ thêm font "/" vào nên nó lê thê là vậy. Bữa nào rảnh thì gom vào 1 list thôi.
@Cuongdola: test trên bản vẽ của tôi thì OK, test trên bản vẽ bạn thì ERR. Hôm nay tội bận đi công tác, ít bữa về sẽ kiểm tra và viết lại.
Hoặc bạn nào đang rảnh thì giúp giùm với.
  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#6 CUONG20051982

CUONG20051982

    biết lệnh extend

  • Members
  • PipPipPip
  • 196 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 27 August 2012 - 05:01 PM

Giúp mình lisp chuyển font này với!
  • 0

#7 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5451 Bài viết
Điểm đánh giá: 2625 (tuyệt vời)

Đã gửi 27 August 2012 - 08:33 PM

Lisp này tôi đang viết để chuyển qua lại giữa 4 font chữ: Unicode, TCVN3, VNI, và "Xuyệc", nhưng chưa hoàn chỉnh. Tuy nhiên chủ topic có thể dùng để chuyển từ font "Xuyệc" qua TCVN3, Unicode, VNI. Riêng với TCVN3 thì bạn cần tạo trước 2 kiểu font mẫu: TCVN3 chữ thường và TCVN3 chữ hoa để chọn font mẫu cho phù hợp.

; Lisp ch&#173;a ho&#181;n thi&#214;n. M&#237;i ch&#216; chuy&#211;n &#174;&#173;&#238;c 9/12 ki&#211;u ch&#247; th&#173;&#234;ng. C&#223;n 3/12 ki&#211;u ch&#247; th&#173;&#234;ng v&#181; 12 ki&#211;u ch&#247; hoa.
; "&#181; &#204; &#223; &#239; &#184; &#208; &#227; &#243; &#182; &#206; &#225; &#241; &#183; &#207; &#226; &#242; &#185; &#209; &#228; &#244; &#169; &#170; &#171; &#173; &#199; &#210; &#229; &#245; &#202; &#213; &#232; &#248; &#200; &#211; &#230; &#246; &#201; &#212; &#231; &#247; &#203; &#214; &#233; &#249; &#168; &#215; &#172; &#250; &#187; &#221; &#234; &#253; &#190; &#216; &#237; &#251; &#188; &#220; &#235; &#252; &#189; &#222; &#236; &#254; &#168; &#174; &#238; &#166; &#162; &#167; &#164; &#165; &#161; &#163;"
;----- '(TCVN UNI XUYEC VNI) = '("&#199;" "\U+1EA7" "a/m/f" "a&#224;")
(defun C:HA( / entlst sty kieu)
(initget "V2T V2U V2X T2X T2V T2U U2T U2X U2V X2V X2T X2U")
(setq kieu (getkword "\nChon 1 trong 12 kieu chuyen [V2T/V2U/V2X/T2X/T2V/T2U/U2T/U2X/U2V/X2V/X2T/X2U]: "))
(cond
((= kieu "V2T") (setq from "VNI" to "TCVN"))
((= kieu "V2U") (setq from "VNI" to "UNICODE"))
((= kieu "V2X") (setq from "VNI" to "XUYEC"))
((= kieu "T2X") (setq from "TCVN" to "XUYEC"))
((= kieu "T2V") (setq from "TCVN" to "VNI"))
((= kieu "T2U") (setq from "TCVN" to "UNICODE"))
((= kieu "U2T") (setq from "UNICODE" to "TCVN"))
((= kieu "U2X") (setq from "UNICODE" to "XUYEC"))
((= kieu "U2V") (setq from "UNICODE" to "VNI"))
((= kieu "X2V") (setq from "XUYEC" to "VNI"))
((= kieu "X2T") (setq from "XUYEC" to "TCVN"))
((= kieu "X2U") (setq from "XUYEC" to "UNICODE")))
(princ (strcat "\nChon cac Text " from " can chuyen sang " to "..."))
(setq entlst (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "*TEXT")))))))
(setq sty (cdr (assoc 7 (entget (car (entsel (strcat "\nChon 1 Text de lay Font " to " mau: ")))))))
(foreach ent entlst
(if (or (= kieu "T2U") (= kieu "T2V") (= kieu "T2X"))
(entmod (subst (cons 1 (HA2 (cdr (assoc 1 (entget ent))))) (assoc 1 (entget ent)) (entget ent)))
(entmod (subst (cons 1 (HA1 (cdr (assoc 1 (entget ent))))) (assoc 1 (entget ent)) (entget ent))))
(entmod (subst (cons 7 sty) (assoc 7 (entget ent)) (entget ent))))
(princ))
;-----
(defun HA1 (stsua / hoa)
(if (= (strcase stsua) stsua) (setq stsua (strcase stsua T) hoa T))
(foreach n lst
(cond
((= kieu "X2T") (setq stsua (acet-str-replace (caddr n) (car n) stsua))) ;OK100%; Ch&#243; &#253;: n&#213;u ch&#247; Hoa th&#215; ch&#228;n TCVN Hoa, n&#213;u ch&#247; th&#173;&#234;ng th&#215; ch&#228;n TCVN th&#173;&#234;ng.
((= kieu "X2U") (setq stsua (acet-str-replace (caddr n) (cadr n) stsua))) ;OK100%
((= kieu "X2V") (setq stsua (acet-str-replace (caddr n) (cadddr n) stsua))) ;OK100%
((= kieu "V2T") (setq stsua (acet-str-replace (cadddr n) (car n) stsua))) ;OK
((= kieu "V2X") (setq stsua (acet-str-replace (cadddr n) (caddr n) stsua))) ;OK
((= kieu "V2U") (setq stsua (acet-str-replace (cadddr n) (cadr n) stsua))) ;NO
((= kieu "U2T") (setq stsua (acet-str-replace (cadr n) (car n) stsua))) ;NO
((= kieu "U2X") (setq stsua (acet-str-replace (cadr n) (caddr n) stsua))) ;OK
((= kieu "U2V") (setq stsua (acet-str-replace (cadr n) (cadddr n) stsua))) ;NO
))
(if (and (or (= kieu "X2V") (= kieu "X2U")) (= hoa T)) (setq stsua (xstrcase stsua)))
stsua)
;-----
(defun HA2 (stsua / i stdich chuht chusua)
(setq i 0 stdich "")
(repeat (strlen stsua)
(setq chuht (substr stsua (setq i (1+ i)) 1) chusua chuht)
(foreach n lst
(if (member chuht n)
(setq chusua
(cond
((= kieu "T2X") (caddr n)) ;OK
((= kieu "T2V") (cadddr n)) ;OK
((= kieu "T2U") (cadr n)))))) ;OK
(setq stdich (strcat stdich chusua)))
stdich)
;------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;Trang web nay co .net cua Gia_bach chuyen nhieu kieu hon: http://www.cadviet.com/forum/index.php?showtopic=22767&st=0
;----- Chuy&#211;n t&#245; UNICODE => TCNN3
(defun C:U2T( / entlst sty)
(princ "\nChon cac Text UNICODE can chuyen sang TCVN...")
(setq entlst (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "TEXT")))))))
(setq sty (cdr (assoc 7 (entget (car (entsel "\nChon Text de lay Font TCVN mau: "))))))
(foreach ent entlst
(entmod (subst (cons 1 (Unicode-TCVN (HEXA3 (HEXA2 (HEXA1 (cdr (assoc 1 (entget ent)))))))) (assoc 1 (entget ent)) (entget ent)))
(entmod (subst (cons 7 sty) (assoc 7 (entget ent)) (entget ent))))
(princ))
;----- H&#181;m b&#225; k&#253; t&#249; &#174;&#183; th&#170;m "\" tr&#173;&#237;c khi chuy&#211;n sang TCVN.
(defun HEXA3(str)
(setq x 1)
(repeat (strlen str)
(cond ((= "\U+005C" (substr str x 7)) (setq str (vl-string-subst "\\" "\U+005C" str))))
(setq x (1+ x)))
str)
;----- H&#181;m chuy&#211;n 20 k&#253; t&#249; (&#181;, &#243;,...) t&#245; Unicode sang Hexa.
(defun HEXA2(str)
(setq x 1)
(repeat (strlen str)
(cond ((= (chr 194) (substr str x 1)) (setq str (vl-string-subst "\U+00C2" (substr str x 1) str) x (+ x 6)))
((= (chr 202) (substr str x 1)) (setq str (vl-string-subst "\U+00CA" (substr str x 1) str) x (+ x 6)))
((= (chr 208) (substr str x 1)) (setq str (vl-string-subst "\U+0110" (substr str x 1) str) x (+ x 6)))
((= (chr 212) (substr str x 1)) (setq str (vl-string-subst "\U+00D4" (substr str x 1) str) x (+ x 6)))
((= (chr 224) (substr str x 1)) (setq str (vl-string-subst "\U+00E0" (substr str x 1) str) x (+ x 6)))
((= (chr 225) (substr str x 1)) (setq str (vl-string-subst "\U+00E1" (substr str x 1) str) x (+ x 6)))
((= (chr 226) (substr str x 1)) (setq str (vl-string-subst "\U+00E2" (substr str x 1) str) x (+ x 6)))
((= (chr 227) (substr str x 1)) (setq str (vl-string-subst "\U+00E3" (substr str x 1) str) x (+ x 6)))
((= (chr 232) (substr str x 1)) (setq str (vl-string-subst "\U+00E8" (substr str x 1) str) x (+ x 6)))
((= (chr 233) (substr str x 1)) (setq str (vl-string-subst "\U+00E9" (substr str x 1) str) x (+ x 6)))
((= (chr 234) (substr str x 1)) (setq str (vl-string-subst "\U+00EA" (substr str x 1) str) x (+ x 6)))
((= (chr 236) (substr str x 1)) (setq str (vl-string-subst "\U+00EC" (substr str x 1) str) x (+ x 6)))
((= (chr 237) (substr str x 1)) (setq str (vl-string-subst "\U+00ED" (substr str x 1) str) x (+ x 6)))
((= (chr 242) (substr str x 1)) (setq str (vl-string-subst "\U+00F2" (substr str x 1) str) x (+ x 6)))
((= (chr 243) (substr str x 1)) (setq str (vl-string-subst "\U+00F3" (substr str x 1) str) x (+ x 6)))
((= (chr 244) (substr str x 1)) (setq str (vl-string-subst "\U+00F4" (substr str x 1) str) x (+ x 6)))
((= (chr 245) (substr str x 1)) (setq str (vl-string-subst "\U+00F5" (substr str x 1) str) x (+ x 6)))
((= (chr 249) (substr str x 1)) (setq str (vl-string-subst "\U+00F9" (substr str x 1) str) x (+ x 6)))
((= (chr 250) (substr str x 1)) (setq str (vl-string-subst "\U+00FA" (substr str x 1) str) x (+ x 6)))
((= (chr 253) (substr str x 1)) (setq str (vl-string-subst "\U+00FD" (substr str x 1) str) x (+ x 6))))
(setq x (1+ x)))
str)
;----- H&#181;m gi&#247; nguy&#170;n m&#183; Hexa (kh&#171;ng cho chuy&#211;n qua Unicode).
(defun HEXA1(str)
(setq x 1 moi "")
(repeat (strlen str)
(setq kytu7 (substr str x 7))
(setq x (+ x 1))
(if (= (substr kytu7 1 3) "\\U+")
(setq moi (strcat moi (strcat "\U+005C" (substr kytu7 2 7))) x (+ x 6))
(setq moi (strcat moi (substr kytu7 1 1))))))
;----- Chuy&#211;n ng&#173;&#238;c t&#245; Unicode --> TCVN.
(defun Unicode-TCVN (stsua / i stdich chuht)
(TAO_TAPSUA)
(setq i 1)
(repeat (- (strlen stsua) 6)
(setq chuht (substr stsua i 7)
i (1+ i))
(cond ((assoc chuht tapsuan1)
(setq stsua (THAY_CONV stsua (car (assoc chuht tapsuan1)) (cdr (assoc chuht tapsuan1)))))))
(setq stdich stsua))
;----- H&#181;m con c&#241;a chuy&#211;n ng&#173;&#238;c.
(defun THAY_CONV(str old new / n strpp strtt)
(while (setq n (vl-string-search old str))
(setq strpp (substr str (+ 1 n (strlen old))))
(setq strtt (substr str 1 (- (strlen str) (strlen old) (strlen strpp))))
(setq str (strcat strtt new strpp))))
;----- T&#185;o danh s&#184;ch c&#172; s&#235; &#174;&#211; chuy&#211;n thu&#203;n v&#181; ng&#173;&#238;c gi&#247;a 4 ki&#211;u (t&#230; h&#238;p th&#181;nh 12 ki&#211;u chuy&#211;n).
(setq lst ; 74 k&#253; t&#249; (c&#184;c k&#253; t&#249; IN HOA c&#227; d&#202;u kh&#171;ng vi&#213;t &#174;&#173;&#238;c b&#187;ng TCVN3 trong Notepad)
(list
'("&#199;" "\U+1EA7" "a/m/f" "a&#224;") '("&#229;" "\U+1ED3" "o/m/f" "o&#224;") '("&#210;" "\U+1EC1" "e/m/f" "e&#224;") '("&#245;" "\U+1EEB" "/]/f" "&#246;&#248;")
'("&#202;" "\U+1EA5" "a/m/s" "a&#225;") '("&#232;" "\U+1ED1" "o/m/s" "o&#225;") '("&#213;" "\U+1EBF" "e/m/s" "e&#225;") '("&#248;" "\U+1EE9" "/]/s" "&#246;&#249;")
'("&#203;" "\U+1EAD" "a/m/j" "a&#228;") '("&#233;" "\U+1ED9" "o/m/j" "o&#228;") '("&#214;" "\U+1EC7" "e/m/j" "e&#228;") '("&#249;" "\U+1EF1" "/]/j" "&#246;&#239;")
'("&#200;" "\U+1EA9" "a/m/r" "a&#229;") '("&#230;" "\U+1ED5" "o/m/r" "o&#229;") '("&#211;" "\U+1EC3" "e/m/r" "e&#229;") '("&#246;" "\U+1EED" "/]/r" "&#246;&#251;")
'("&#201;" "\U+1EAB" "a/m/x" "a&#227;") '("&#231;" "\U+1ED7" "o/m/x" "o&#227;") '("&#212;" "\U+1EC5" "e/m/x" "e&#227;") '("&#247;" "\U+1EEF" "/]/x" "&#246;&#245;")
'("&#187;" "\U+1EB1" "a/w/f" "a&#232;") '("&#234;" "\U+1EDD" "/[/f" "&#244;&#248;")
'("&#190;" "\U+1EAF" "a/w/s" "a&#233;") '("&#237;" "\U+1EDB" "/[/s" "&#244;&#249;")
'("&#198;" "\U+1EB7" "a/w/j" "a&#235;") '("&#238;" "\U+1EE3" "/[/j" "&#244;&#239;")
'("&#188;" "\U+1EB3" "a/w/r" "a&#250;") '("&#235;" "\U+1EDF" "/[/r" "&#244;&#251;")
'("&#189;" "\U+1EB5" "a/w/x" "a&#252;") '("&#236;" "\U+1EE1" "/[/x" "&#244;&#245;")
'("&#181;" "\U+00E0" "a/f" "a&#248;") '("&#223;" "\U+00F2" "o/f" "o&#248;") '("&#204;" "\U+00E8" "e/f" "e&#248;") '("&#239;" "\U+00F9" "u/f" "u&#248;")
'("&#184;" "\U+00E1" "a/s" "a&#249;") '("&#227;" "\U+00F3" "o/s" "o&#249;") '("&#208;" "\U+00E9" "e/s" "e&#249;") '("&#243;" "\U+00FA" "u/s" "u&#249;")
'("&#185;" "\U+1EA1" "a/j" "a&#239;") '("&#228;" "\U+1ECD" "o/j" "o&#239;") '("&#209;" "\U+1EB9" "e/j" "e&#239;") '("&#244;" "\U+1EE5" "u/j" "u&#239;")
'("&#182;" "\U+1EA3" "a/r" "a&#251;") '("&#225;" "\U+1ECF" "o/r" "o&#251;") '("&#206;" "\U+1EBB" "e/r" "e&#251;") '("&#241;" "\U+1EE7" "u/r" "u&#251;")
'("&#183;" "\U+00E3" "a/x" "a&#245;") '("&#226;" "\U+00F5" "o/x" "o&#245;") '("&#207;" "\U+1EBD" "e/x" "e&#245;") '("&#242;" "\U+0169" "u/x" "u&#245;")
'("&#169;" "\U+00E2" "a/m" "a&#226;") '("&#171;" "\U+00F4" "o/m" "o&#226;") '("&#170;" "\U+00EA" "e/m" "e&#226;") '("&#173;" "\U+01B0" "/]" "&#246;")
'("&#168;" "\U+0103" "a/w" "a&#234;") '("&#172;" "\U+01A1" "/[" "&#244;")
'("&#161;" "\U+0102" "A/W" "A&#202;") '("&#165;" "\U+01A0" "/{" "&#212;") '("&#163;" "\U+00CA" "E/M" "E&#194;") '("&#166;" "\U+01AF" "/}" "&#214;")
'("&#162;" "\U+00C2" "A/M" "A&#194;") '("&#164;" "\U+00D4" "O/M" "O&#194;")
'("&#253;" "\U+00FD" "y/s" "y&#249;") '("&#251;" "\U+1EF7" "y/r" "y&#251;") '("&#252;" "\U+1EF9" "y/x" "y&#245;") '("&#254;" "\U+1EF5" "y/j" "&#238;") '("&#250;" "\U+1EF3" "y/f" "y&#248;")
'("&#221;" "\U+00ED" "i/s" "&#237;") '("&#216;" "\U+1EC9" "i/r" "&#230;") '("&#220;" "\U+0129" "i/x" "&#243;") '("&#222;" "\U+1ECB" "i/j" "&#242;") '("&#215;" "\U+00EC" "i/f" "&#236;")
'("&#174;" "\U+0111" "/d" "&#241;") '("&#167;" "\U+0110" "/D" "&#209;")))
;-----
; (cons "%%174" "&#241;") (cons "%%167" "&#209;") (cons "%%181" "a&#248;") (cons "%%184" "a&#249;")
; (cons "%%182" "a&#251;") (cons "%%183" "a&#245;") (cons "%%185" "a&#239;") (cons "%%169" "a&#226;")
; (cons "%%162" "A&#194;") (cons "%%199" "a&#224;") (cons "%%202" "a&#225;") (cons "%%200" "a&#229;")
; (cons "%%201" "a&#227;") (cons "%%203" "a&#228;") (cons "%%168" "a&#234;") (cons "%%161" "A&#202;")
; (cons "%%187" "a&#232;") (cons "%%190" "a&#233;") (cons "%%188" "a&#250;") (cons "%%189" "a&#252;")
; (cons "%%198" "a&#235;") (cons "%%204" "e&#248;") (cons "%%208" "e&#249;") (cons "%%206" "e&#251;")
; (cons "%%207" "e&#245;") (cons "%%209" "e&#239;") (cons "%%170" "e&#226;") (cons "%%163" "E&#194;")
; (cons "%%210" "e&#224;") (cons "%%213" "e&#225;") (cons "%%211" "e&#229;") (cons "%%212" "e&#227;")
; (cons "%%214" "e&#228;") (cons "%%215" "&#236;") (cons "%%221" "&#237;") (cons "%%216" "&#230;")
; (cons "%%220" "&#243;") (cons "%%222" "&#242;") (cons "%%223" "o&#248;") (cons "%%227" "o&#249;")
; (cons "%%225" "o&#251;") (cons "%%226" "o&#245;") (cons "%%228" "o&#239;") (cons "%%171" "o&#226;")
; (cons "%%164" "O&#194;") (cons "%%229" "o&#224;") (cons "%%232" "o&#225;") (cons "%%230" "o&#229;")
; (cons "%%231" "o&#227;") (cons "%%233" "o&#228;") (cons "%%172" "&#244;") (cons "%%165" "&#212;")
; (cons "%%234" "&#244;&#248;") (cons "%%237" "&#244;&#249;") (cons "%%235" "&#244;&#251;") (cons "%%236" "&#244;&#245;")
; (cons "%%238" "&#244;&#239;") (cons "%%239" "u&#248;") (cons "%%243" "u&#249;") (cons "%%241" "u&#251;")
; (cons "%%242" "u&#245;") (cons "%%244" "u&#239;") (cons "%%173" "&#246;") (cons "%%166" "&#214;")
; (cons "%%245" "&#246;&#248;") (cons "%%248" "&#246;&#249;") (cons "%%246" "&#246;&#251;") (cons "%%247" "&#246;&#245;")
; (cons "%%249" "&#246;&#239;") (cons "%%250" "y&#248;") (cons "%%253" "y&#249;") (cons "%%251" "y&#251;")
; (cons "%%252" "y&#245;") (cons "%%254" "&#238;")
;-----

  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#8 CUONG20051982

CUONG20051982

    biết lệnh extend

  • Members
  • PipPipPip
  • 196 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 28 August 2012 - 01:31 PM

Lisp này tôi đang viết để chuyển qua lại giữa 4 font chữ: Unicode, TCVN3, VNI, và "Xuyệc", nhưng chưa hoàn chỉnh. Tuy nhiên chủ topic có thể dùng để chuyển từ font "Xuyệc" qua TCVN3, Unicode, VNI. Riêng với TCVN3 thì bạn cần tạo trước 2 kiểu font mẫu: TCVN3 chữ thường và TCVN3 chữ hoa để chọn font mẫu cho phù hợp.


; Lisp ch&#173;a ho&#181;n thi&#214;n. M&#237;i ch&#216; chuy&#211;n &#174;&#173;&#238;c 9/12 ki&#211;u ch&#247; th&#173;&#234;ng. C&#223;n 3/12 ki&#211;u ch&#247; th&#173;&#234;ng v&#181; 12 ki&#211;u ch&#247; hoa.
; "&#181; &#204; &#223; &#239; &#184; &#208; &#227; &#243; &#182; &#206; &#225; &#241; &#183; &#207; &#226; &#242; &#185; &#209; &#228; &#244; &#169; &#170; &#171; &#173; &#199; &#210; &#229; &#245; &#202; &#213; &#232; &#248; &#200; &#211; &#230; &#246; &#201; &#212; &#231; &#247; &#203; &#214; &#233; &#249; &#168; &#215; &#172; &#250; &#187; &#221; &#234; &#253; &#190; &#216; &#237; &#251; &#188; &#220; &#235; &#252; &#189; &#222; &#236; &#254; &#168; &#174; &#238; &#166; &#162; &#167; &#164; &#165; &#161; &#163;"
;----- '(TCVN UNI XUYEC VNI) = '("&#199;" "\U+1EA7" "a/m/f" "a&#224;")
(defun C:HA( / entlst sty kieu)
(initget "V2T V2U V2X T2X T2V T2U U2T U2X U2V X2V X2T X2U")
(setq kieu (getkword "\nChon 1 trong 12 kieu chuyen [V2T/V2U/V2X/T2X/T2V/T2U/U2T/U2X/U2V/X2V/X2T/X2U]: "))
(cond
((= kieu "V2T") (setq from "VNI" to "TCVN"))
((= kieu "V2U") (setq from "VNI" to "UNICODE"))
((= kieu "V2X") (setq from "VNI" to "XUYEC"))
((= kieu "T2X") (setq from "TCVN" to "XUYEC"))
((= kieu "T2V") (setq from "TCVN" to "VNI"))
((= kieu "T2U") (setq from "TCVN" to "UNICODE"))
((= kieu "U2T") (setq from "UNICODE" to "TCVN"))
((= kieu "U2X") (setq from "UNICODE" to "XUYEC"))
((= kieu "U2V") (setq from "UNICODE" to "VNI"))
((= kieu "X2V") (setq from "XUYEC" to "VNI"))
((= kieu "X2T") (setq from "XUYEC" to "TCVN"))
((= kieu "X2U") (setq from "XUYEC" to "UNICODE")))
(princ (strcat "\nChon cac Text " from " can chuyen sang " to "..."))
(setq entlst (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "*TEXT")))))))
(setq sty (cdr (assoc 7 (entget (car (entsel (strcat "\nChon 1 Text de lay Font " to " mau: ")))))))
(foreach ent entlst
(if (or (= kieu "T2U") (= kieu "T2V") (= kieu "T2X"))
(entmod (subst (cons 1 (HA2 (cdr (assoc 1 (entget ent))))) (assoc 1 (entget ent)) (entget ent)))
(entmod (subst (cons 1 (HA1 (cdr (assoc 1 (entget ent))))) (assoc 1 (entget ent)) (entget ent))))
(entmod (subst (cons 7 sty) (assoc 7 (entget ent)) (entget ent))))
(princ))
;-----
(defun HA1 (stsua / hoa)
(if (= (strcase stsua) stsua) (setq stsua (strcase stsua T) hoa T))
(foreach n lst
(cond
((= kieu "X2T") (setq stsua (acet-str-replace (caddr n) (car n) stsua))) ;OK100%; Ch&#243; &#253;: n&#213;u ch&#247; Hoa th&#215; ch&#228;n TCVN Hoa, n&#213;u ch&#247; th&#173;&#234;ng th&#215; ch&#228;n TCVN th&#173;&#234;ng.
((= kieu "X2U") (setq stsua (acet-str-replace (caddr n) (cadr n) stsua))) ;OK100%
((= kieu "X2V") (setq stsua (acet-str-replace (caddr n) (cadddr n) stsua))) ;OK100%
((= kieu "V2T") (setq stsua (acet-str-replace (cadddr n) (car n) stsua))) ;OK
((= kieu "V2X") (setq stsua (acet-str-replace (cadddr n) (caddr n) stsua))) ;OK
((= kieu "V2U") (setq stsua (acet-str-replace (cadddr n) (cadr n) stsua))) ;NO
((= kieu "U2T") (setq stsua (acet-str-replace (cadr n) (car n) stsua))) ;NO
((= kieu "U2X") (setq stsua (acet-str-replace (cadr n) (caddr n) stsua))) ;OK
((= kieu "U2V") (setq stsua (acet-str-replace (cadr n) (cadddr n) stsua))) ;NO
))
(if (and (or (= kieu "X2V") (= kieu "X2U")) (= hoa T)) (setq stsua (xstrcase stsua)))
stsua)
;-----
(defun HA2 (stsua / i stdich chuht chusua)
(setq i 0 stdich "")
(repeat (strlen stsua)
(setq chuht (substr stsua (setq i (1+ i)) 1) chusua chuht)
(foreach n lst
(if (member chuht n)
(setq chusua
(cond
((= kieu "T2X") (caddr n)) ;OK
((= kieu "T2V") (cadddr n)) ;OK
((= kieu "T2U") (cadr n)))))) ;OK
(setq stdich (strcat stdich chusua)))
stdich)
;------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;Trang web nay co .net cua Gia_bach chuyen nhieu kieu hon: http://www.cadviet.com/forum/index.php?showtopic=22767&st=0
;----- Chuy&#211;n t&#245; UNICODE => TCNN3
(defun C:U2T( / entlst sty)
(princ "\nChon cac Text UNICODE can chuyen sang TCVN...")
(setq entlst (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "TEXT")))))))
(setq sty (cdr (assoc 7 (entget (car (entsel "\nChon Text de lay Font TCVN mau: "))))))
(foreach ent entlst
(entmod (subst (cons 1 (Unicode-TCVN (HEXA3 (HEXA2 (HEXA1 (cdr (assoc 1 (entget ent)))))))) (assoc 1 (entget ent)) (entget ent)))
(entmod (subst (cons 7 sty) (assoc 7 (entget ent)) (entget ent))))
(princ))
;----- H&#181;m b&#225; k&#253; t&#249; &#174;&#183; th&#170;m "\" tr&#173;&#237;c khi chuy&#211;n sang TCVN.
(defun HEXA3(str)
(setq x 1)
(repeat (strlen str)
(cond ((= "\U+005C" (substr str x 7)) (setq str (vl-string-subst "\\" "\U+005C" str))))
(setq x (1+ x)))
str)
;----- H&#181;m chuy&#211;n 20 k&#253; t&#249; (&#181;, &#243;,...) t&#245; Unicode sang Hexa.
(defun HEXA2(str)
(setq x 1)
(repeat (strlen str)
(cond ((= (chr 194) (substr str x 1)) (setq str (vl-string-subst "\U+00C2" (substr str x 1) str) x (+ x 6)))
((= (chr 202) (substr str x 1)) (setq str (vl-string-subst "\U+00CA" (substr str x 1) str) x (+ x 6)))
((= (chr 208) (substr str x 1)) (setq str (vl-string-subst "\U+0110" (substr str x 1) str) x (+ x 6)))
((= (chr 212) (substr str x 1)) (setq str (vl-string-subst "\U+00D4" (substr str x 1) str) x (+ x 6)))
((= (chr 224) (substr str x 1)) (setq str (vl-string-subst "\U+00E0" (substr str x 1) str) x (+ x 6)))
((= (chr 225) (substr str x 1)) (setq str (vl-string-subst "\U+00E1" (substr str x 1) str) x (+ x 6)))
((= (chr 226) (substr str x 1)) (setq str (vl-string-subst "\U+00E2" (substr str x 1) str) x (+ x 6)))
((= (chr 227) (substr str x 1)) (setq str (vl-string-subst "\U+00E3" (substr str x 1) str) x (+ x 6)))
((= (chr 232) (substr str x 1)) (setq str (vl-string-subst "\U+00E8" (substr str x 1) str) x (+ x 6)))
((= (chr 233) (substr str x 1)) (setq str (vl-string-subst "\U+00E9" (substr str x 1) str) x (+ x 6)))
((= (chr 234) (substr str x 1)) (setq str (vl-string-subst "\U+00EA" (substr str x 1) str) x (+ x 6)))
((= (chr 236) (substr str x 1)) (setq str (vl-string-subst "\U+00EC" (substr str x 1) str) x (+ x 6)))
((= (chr 237) (substr str x 1)) (setq str (vl-string-subst "\U+00ED" (substr str x 1) str) x (+ x 6)))
((= (chr 242) (substr str x 1)) (setq str (vl-string-subst "\U+00F2" (substr str x 1) str) x (+ x 6)))
((= (chr 243) (substr str x 1)) (setq str (vl-string-subst "\U+00F3" (substr str x 1) str) x (+ x 6)))
((= (chr 244) (substr str x 1)) (setq str (vl-string-subst "\U+00F4" (substr str x 1) str) x (+ x 6)))
((= (chr 245) (substr str x 1)) (setq str (vl-string-subst "\U+00F5" (substr str x 1) str) x (+ x 6)))
((= (chr 249) (substr str x 1)) (setq str (vl-string-subst "\U+00F9" (substr str x 1) str) x (+ x 6)))
((= (chr 250) (substr str x 1)) (setq str (vl-string-subst "\U+00FA" (substr str x 1) str) x (+ x 6)))
((= (chr 253) (substr str x 1)) (setq str (vl-string-subst "\U+00FD" (substr str x 1) str) x (+ x 6))))
(setq x (1+ x)))
str)
;----- H&#181;m gi&#247; nguy&#170;n m&#183; Hexa (kh&#171;ng cho chuy&#211;n qua Unicode).
(defun HEXA1(str)
(setq x 1 moi "")
(repeat (strlen str)
(setq kytu7 (substr str x 7))
(setq x (+ x 1))
(if (= (substr kytu7 1 3) "\\U+")
(setq moi (strcat moi (strcat "\U+005C" (substr kytu7 2 7))) x (+ x 6))
(setq moi (strcat moi (substr kytu7 1 1))))))
;----- Chuy&#211;n ng&#173;&#238;c t&#245; Unicode --> TCVN.
(defun Unicode-TCVN (stsua / i stdich chuht)
(TAO_TAPSUA)
(setq i 1)
(repeat (- (strlen stsua) 6)
(setq chuht (substr stsua i 7)
i (1+ i))
(cond ((assoc chuht tapsuan1)
(setq stsua (THAY_CONV stsua (car (assoc chuht tapsuan1)) (cdr (assoc chuht tapsuan1)))))))
(setq stdich stsua))
;----- H&#181;m con c&#241;a chuy&#211;n ng&#173;&#238;c.
(defun THAY_CONV(str old new / n strpp strtt)
(while (setq n (vl-string-search old str))
(setq strpp (substr str (+ 1 n (strlen old))))
(setq strtt (substr str 1 (- (strlen str) (strlen old) (strlen strpp))))
(setq str (strcat strtt new strpp))))
;----- T&#185;o danh s&#184;ch c&#172; s&#235; &#174;&#211; chuy&#211;n thu&#203;n v&#181; ng&#173;&#238;c gi&#247;a 4 ki&#211;u (t&#230; h&#238;p th&#181;nh 12 ki&#211;u chuy&#211;n).
(setq lst ; 74 k&#253; t&#249; (c&#184;c k&#253; t&#249; IN HOA c&#227; d&#202;u kh&#171;ng vi&#213;t &#174;&#173;&#238;c b&#187;ng TCVN3 trong Notepad)
(list
'("&#199;" "\U+1EA7" "a/m/f" "a&#224;") '("&#229;" "\U+1ED3" "o/m/f" "o&#224;") '("&#210;" "\U+1EC1" "e/m/f" "e&#224;") '("&#245;" "\U+1EEB" "/]/f" "&#246;&#248;")
'("&#202;" "\U+1EA5" "a/m/s" "a&#225;") '("&#232;" "\U+1ED1" "o/m/s" "o&#225;") '("&#213;" "\U+1EBF" "e/m/s" "e&#225;") '("&#248;" "\U+1EE9" "/]/s" "&#246;&#249;")
'("&#203;" "\U+1EAD" "a/m/j" "a&#228;") '("&#233;" "\U+1ED9" "o/m/j" "o&#228;") '("&#214;" "\U+1EC7" "e/m/j" "e&#228;") '("&#249;" "\U+1EF1" "/]/j" "&#246;&#239;")
'("&#200;" "\U+1EA9" "a/m/r" "a&#229;") '("&#230;" "\U+1ED5" "o/m/r" "o&#229;") '("&#211;" "\U+1EC3" "e/m/r" "e&#229;") '("&#246;" "\U+1EED" "/]/r" "&#246;&#251;")
'("&#201;" "\U+1EAB" "a/m/x" "a&#227;") '("&#231;" "\U+1ED7" "o/m/x" "o&#227;") '("&#212;" "\U+1EC5" "e/m/x" "e&#227;") '("&#247;" "\U+1EEF" "/]/x" "&#246;&#245;")
'("&#187;" "\U+1EB1" "a/w/f" "a&#232;") '("&#234;" "\U+1EDD" "/[/f" "&#244;&#248;")
'("&#190;" "\U+1EAF" "a/w/s" "a&#233;") '("&#237;" "\U+1EDB" "/[/s" "&#244;&#249;")
'("&#198;" "\U+1EB7" "a/w/j" "a&#235;") '("&#238;" "\U+1EE3" "/[/j" "&#244;&#239;")
'("&#188;" "\U+1EB3" "a/w/r" "a&#250;") '("&#235;" "\U+1EDF" "/[/r" "&#244;&#251;")
'("&#189;" "\U+1EB5" "a/w/x" "a&#252;") '("&#236;" "\U+1EE1" "/[/x" "&#244;&#245;")
'("&#181;" "\U+00E0" "a/f" "a&#248;") '("&#223;" "\U+00F2" "o/f" "o&#248;") '("&#204;" "\U+00E8" "e/f" "e&#248;") '("&#239;" "\U+00F9" "u/f" "u&#248;")
'("&#184;" "\U+00E1" "a/s" "a&#249;") '("&#227;" "\U+00F3" "o/s" "o&#249;") '("&#208;" "\U+00E9" "e/s" "e&#249;") '("&#243;" "\U+00FA" "u/s" "u&#249;")
'("&#185;" "\U+1EA1" "a/j" "a&#239;") '("&#228;" "\U+1ECD" "o/j" "o&#239;") '("&#209;" "\U+1EB9" "e/j" "e&#239;") '("&#244;" "\U+1EE5" "u/j" "u&#239;")
'("&#182;" "\U+1EA3" "a/r" "a&#251;") '("&#225;" "\U+1ECF" "o/r" "o&#251;") '("&#206;" "\U+1EBB" "e/r" "e&#251;") '("&#241;" "\U+1EE7" "u/r" "u&#251;")
'("&#183;" "\U+00E3" "a/x" "a&#245;") '("&#226;" "\U+00F5" "o/x" "o&#245;") '("&#207;" "\U+1EBD" "e/x" "e&#245;") '("&#242;" "\U+0169" "u/x" "u&#245;")
'("&#169;" "\U+00E2" "a/m" "a&#226;") '("&#171;" "\U+00F4" "o/m" "o&#226;") '("&#170;" "\U+00EA" "e/m" "e&#226;") '("&#173;" "\U+01B0" "/]" "&#246;")
'("&#168;" "\U+0103" "a/w" "a&#234;") '("&#172;" "\U+01A1" "/[" "&#244;")
'("&#161;" "\U+0102" "A/W" "A&#202;") '("&#165;" "\U+01A0" "/{" "&#212;") '("&#163;" "\U+00CA" "E/M" "E&#194;") '("&#166;" "\U+01AF" "/}" "&#214;")
'("&#162;" "\U+00C2" "A/M" "A&#194;") '("&#164;" "\U+00D4" "O/M" "O&#194;")
'("&#253;" "\U+00FD" "y/s" "y&#249;") '("&#251;" "\U+1EF7" "y/r" "y&#251;") '("&#252;" "\U+1EF9" "y/x" "y&#245;") '("&#254;" "\U+1EF5" "y/j" "&#238;") '("&#250;" "\U+1EF3" "y/f" "y&#248;")
'("&#221;" "\U+00ED" "i/s" "&#237;") '("&#216;" "\U+1EC9" "i/r" "&#230;") '("&#220;" "\U+0129" "i/x" "&#243;") '("&#222;" "\U+1ECB" "i/j" "&#242;") '("&#215;" "\U+00EC" "i/f" "&#236;")
'("&#174;" "\U+0111" "/d" "&#241;") '("&#167;" "\U+0110" "/D" "&#209;")))
;-----
; (cons "%%174" "&#241;") (cons "%%167" "&#209;") (cons "%%181" "a&#248;") (cons "%%184" "a&#249;")
; (cons "%%182" "a&#251;") (cons "%%183" "a&#245;") (cons "%%185" "a&#239;") (cons "%%169" "a&#226;")
; (cons "%%162" "A&#194;") (cons "%%199" "a&#224;") (cons "%%202" "a&#225;") (cons "%%200" "a&#229;")
; (cons "%%201" "a&#227;") (cons "%%203" "a&#228;") (cons "%%168" "a&#234;") (cons "%%161" "A&#202;")
; (cons "%%187" "a&#232;") (cons "%%190" "a&#233;") (cons "%%188" "a&#250;") (cons "%%189" "a&#252;")
; (cons "%%198" "a&#235;") (cons "%%204" "e&#248;") (cons "%%208" "e&#249;") (cons "%%206" "e&#251;")
; (cons "%%207" "e&#245;") (cons "%%209" "e&#239;") (cons "%%170" "e&#226;") (cons "%%163" "E&#194;")
; (cons "%%210" "e&#224;") (cons "%%213" "e&#225;") (cons "%%211" "e&#229;") (cons "%%212" "e&#227;")
; (cons "%%214" "e&#228;") (cons "%%215" "&#236;") (cons "%%221" "&#237;") (cons "%%216" "&#230;")
; (cons "%%220" "&#243;") (cons "%%222" "&#242;") (cons "%%223" "o&#248;") (cons "%%227" "o&#249;")
; (cons "%%225" "o&#251;") (cons "%%226" "o&#245;") (cons "%%228" "o&#239;") (cons "%%171" "o&#226;")
; (cons "%%164" "O&#194;") (cons "%%229" "o&#224;") (cons "%%232" "o&#225;") (cons "%%230" "o&#229;")
; (cons "%%231" "o&#227;") (cons "%%233" "o&#228;") (cons "%%172" "&#244;") (cons "%%165" "&#212;")
; (cons "%%234" "&#244;&#248;") (cons "%%237" "&#244;&#249;") (cons "%%235" "&#244;&#251;") (cons "%%236" "&#244;&#245;")
; (cons "%%238" "&#244;&#239;") (cons "%%239" "u&#248;") (cons "%%243" "u&#249;") (cons "%%241" "u&#251;")
; (cons "%%242" "u&#245;") (cons "%%244" "u&#239;") (cons "%%173" "&#246;") (cons "%%166" "&#214;")
; (cons "%%245" "&#246;&#248;") (cons "%%248" "&#246;&#249;") (cons "%%246" "&#246;&#251;") (cons "%%247" "&#246;&#245;")
; (cons "%%249" "&#246;&#239;") (cons "%%250" "y&#248;") (cons "%%253" "y&#249;") (cons "%%251" "y&#251;")
; (cons "%%252" "y&#245;") (cons "%%254" "&#238;")
;-----


Cảm ơn Doan Van Ha mình đã test thử lisp trên bản vẽ của mình. Thấy chuyển từ font xuyêc sang unicode thì được nhưng từ font xuyêc hay Unicode sang font TCVN-3; VNI và ngược lại thì không được thấy font bị chuyển thành kí tự không đọc được.
Đây là file CAD có font xuyêc xem lại giúp mình nhé:http://www.cadviet.c...khoa_locker.dwg
  • 0

#9 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5451 Bài viết
Điểm đánh giá: 2625 (tuyệt vời)

Đã gửi 28 August 2012 - 02:00 PM

Tôi đã test trên bản vẽ của bạn. Kết quả OK. Lưu ý rằng: để chuyển tới 1 kiểu font nào (VNI, UNI, TCVNt, TCVNH) thì bạn phải tạo các style tương ứng rồi viết các text mẫu lên bản vẽ. Khi lisp y/c chọn font mẫu thì bạn phải chọn đúng font đó.
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#10 CUONG20051982

CUONG20051982

    biết lệnh extend

  • Members
  • PipPipPip
  • 196 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 28 August 2012 - 02:54 PM

Lạ thế nhỉ, mình chuyển đúng theo hướng dẫn rồi mà bị lỗi chứ. File chuyển sang bị lỗi đây bạn:http://www.cadviet.c...hoa_locker1.dwg
  • 0

#11 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5451 Bài viết
Điểm đánh giá: 2625 (tuyệt vời)

Đã gửi 28 August 2012 - 03:22 PM

Tôi test trên bản vẽ bạn vừa gởi vẫn OK. Cách làm của tôi như sau:
Command: HA
Chon 1 trong 12 kieu chuyen [V2T/V2U/V2X/T2X/T2V/T2U/U2T/U2X/U2V/X2V/X2T/X2U]: x2t
Chon cac Text XUYEC can chuyen sang TCVN...
Select objects: Specify opposite corner: 19 found (chọn các font xuyec)
Select objects: enter
Chon 1 Text de lay Font TCVN mau: (bấm chọn 1 text mẫu font TCVN hoa hoặc thường)
Nếu bạn làm đúng vậy mà vẫn ERR thì tôi chưa tìm ra nguyên nhân.
Đây là file tôi chuyển thành công (hình màu đỏ):
http://www.cadviet.c...khoa_locker.dwg
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#12 viettien_03

viettien_03

    biết vẽ line

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

Đã gửi 17 June 2013 - 12:50 AM

Bác hà ơi em làm theo đúng hưỡng dẫn mà nó không có chuyển. Em chuyển từ TCVN sang Unicode mà không thấy nó làm việc


  • 0

#13 Polyline

Polyline

    biết lệnh mirror

  • Members
  • PipPipPip
  • 159 Bài viết
Điểm đánh giá: 18 (tàm tạm)

Đã gửi 17 June 2013 - 02:31 PM

"Chon 1 trong 12 kieu chuyen [V2T/V2U/V2X/T2X/T2V/T2U/U2T/U2X/U2V/X2V/X2T/X2U]:"
...hic, lựa chọn không đơn giản chút nào, bác HA có thể nâng cấp nó lên hộp thoại cho đỡ đau đầu được không? :)


  • 0

#14 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5451 Bài viết
Điểm đánh giá: 2625 (tuyệt vời)

Đã gửi 18 June 2013 - 09:21 AM

@Viettien_03: bạn có thể gởi bản vẽ đó lên để mình kiểm tra xem?

@Polyme: dialog thì tốt hơn nhưng vì lisp này đôi khi còn lỗi nên chưa hoàn thiện được. Cách nhớ 12 loại này rất đơn giản, bởi quy tắc của nó là:

1). Gồm 3 chữ cái, ví dụ U2T.

2). Chữ thứ nhất là ký tự đầu của bảng mã nguồn, ví dụ mã nguồn là Unicode thì nó là U.

3). Chữ thứ 2 là số 2.

4). Chữ thứ ba là ký tự đầu của bảng mã đích, ví dụ mã đích là Tcvn3 thì nó là T.


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#15 viettien_03

viettien_03

    biết vẽ line

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

Đã gửi 18 June 2013 - 10:34 AM

@ to bác Ha em nó đây ạ

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


  • 0

#16 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5451 Bài viết
Điểm đánh giá: 2625 (tuyệt vời)

Đã gửi 18 June 2013 - 10:41 AM

Bạn gởi cho tôi cái font ấy luôn đi. Máy tôi không có nên không đọc được >> không test được.


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#17 vetgo

vetgo

    biết vẽ polygon

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

Đã gửi 28 September 2013 - 04:53 PM

Em cũng test thử từ Unicode sang TCVN nhưng không được, test trên chính file http://www.cadviet.c...khoa_locker.dwg luôn!


  • 0
Nếu nội dung post là có ích, xin tick + để thăng hàm lên lương...

#18 manhhabk

manhhabk

    biết vẽ line

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

Đã gửi 17 September 2015 - 02:27 PM

Đã test thử rồi và không dùng được bác Hà


  • 0

#19 thuanlinh87

thuanlinh87

    Chưa sử dụng CAD

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

Đã gửi 06 October 2015 - 05:30 PM

không dùng đc mình đang cần chuyển từ cad sang mapinfor mà toàn lỗi phông chán quá . có ai giúp mình đc ko cám ơn trước nhé


  • 0

#20 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 06 October 2015 - 09:17 PM

Bạn thử xem ở đây có giúp được bạn không?
http://www.cadviet.c...-trong-autocad/
  • 0