Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 03:58 27.06.24 
Компютри и Интернет
   >> CAD/CAM
Всички теми Следваща тема *Кратък преглед

Тема Проблем с кирилицата в Auto CADнови  
Автор wiliko (непознат )
Публикувано22.06.07 16:01



от известно време имам следният проблем, при работа с AutoCAD2000, в някой от файловете ми се прецаква кирилицата и по никакъв поне за мен познат нечин не може да се оправи и интересното е че в полето което излиза при рекакция на въпросното прецакано текстче излиза следното...\U+00CC\U+00EE\U+....
ПОМАГАЙТЕ С ИДЕИ защо така ми се прецакват текстовете...че твябва наново да ги пиша всичките...



Тема Re: Проблем с кирилицата в Auto CADнови [re: wiliko]  
Авторgena (Нерегистриран)
Публикувано22.06.07 16:18



това може да стане когато файла идва от друга версия

имало е доста теми по проблема ти... някъде назад... но ми се струва че ще е по лесно да си сложиш някои по- нов ACAD иначе рискуваш и други проблеми да се появят





Тема Re: само Идея [re: wiliko]  
АвторMинaвaщ (Нерегистриран)
Публикувано22.06.07 18:27



Това са Unicode кодове на буквите/символи ... проблема често е и в самата програма (с кирилицата) ->


* разгледай настроките в Regional and Language Options на Windows т.е. смени някъде да не е България/български ... Сръбска кирилица май също помага ...
* пробвай с този шрифт като "кръпка" ->



Тема Програмка за конвертиране на текстовенови [re: wiliko]  
Авторs (Нерегистриран)
Публикувано24.06.07 13:33



Ето ти една програмка. Конвертира уникодове в аскикодове във текстове, атрибути, атрибутни дефиниции
Запиши я като файл с разширение LSP в някоя директория, описана във FileSearchPath от опциите (например SUPPORT). Заредия с LOADAPPLICATION в TOOL меню.
Стартирай, като напишеш в командния ред

(alltext)


;ascii to unicode

(defun asc-uni (txt / a i b tete)
(setq
a (cdr(assoc 1(entget txt)))
tete ""
i 1
);setq

(setq tete (dtow a)txt (entget txt) txt (subst (cons 1 (dtow tete))(assoc 1 txt)txt))
(entmod txt)

);'(asc-un)
;-------------- hex-dec convert ------------
(defun h-d (cc / e ii sum)
(setq cc (substr cc 4) ii 1 sum 0)
(repeat 4

(setq
e (h-d1 (substr cc ii 1))
sum (+ sum (* e (expt 16 (- 4 ii ))))
ii (1+ ii)
);setq
);repeat
;(print cc)(princ sum)(princ (chr sum))
;(chr (+ sum 64))
(chr (rem sum 256))
);h-d
;--------- text to hex convert -----------
(defun h-d1 (cc / e)
(cond
((= cc "A")(setq e 10))
((= cc "B")(setq e 11))
((= cc "C")(setq e 12))
((= cc "D")(setq e 13))
((= cc "E")(setq e 14))
((= cc "F")(setq e 15))
(T (setq e (atoi cc)))
);cond
e
);h-d
; ---------- allatt --------------
(defun allatt ()
(setq nab (ssget "x" (list (cons 0 "INSERT")))
i 0
);setq
(if nab
(progn
(repeat (sslength nab)
(setq eni (ssname nab i) i (1+ i) en (entnext eni))
; (print "-------------------\n-----")
(if (assoc 66 (entget eni))
(while
(/= "SEQEND" (cdr(assoc 0 (entget en))))
(if (or
(= "TEXT" (cdr (assoc 0 (entget en))))
(= "ATTRIB" (cdr (assoc 0 (entget en))))
);OR
(PROGN
(SETQ ENE (SUBST (CONS 1 (DTOW (CDR(ASSOC 1 (ENTGET EN))))) (ASSOC 1 (ENTGET EN)) (ENTGET EN)))
(ENTMOD ENE)
);PROGN
);IF
(setq en (entnext en))
);while
);if
);repeat
));if
)
;allatt
;--------- alltext ----------------
(defun alltext ( / n)
(foreach n '("TEXT" "ATTRIB" "ATTDEF")
(alltext1 n)
);foreach
(mas-uni)
(allatt)
(S-ATTDEF)
(COMMAND "REGEN")
);alltext
(defun alltext1 (att / nab i en eni )
(setq nab (ssget "x" (list (cons 0 att)))
i 0
);setq
(if nab
(repeat (sslength nab)
(setq
en (cdr(assoc -1 (entget(ssname nab i))))
i (1+ i)
);setq
(asc-uni en)
);repeat
);if

;;; ;(eval(load "attdefcyr"))
;;; (COMMAND "REGEN")
);defun
;convert MTEXT asii-uni cod
(defun mas-uni (/ nab en eni txt i)
(setq nab (ssget "x" (list(cons 0 "MTEXT")))
i 0)
(if nab
(repeat (SSLENGTH nab)
(setq en (ssname nab i)
i (1+ i)
en (ENTGET en)
txt (dtow (cdr(assoc 1 en)))
en(SUBST (cons 1 txt)(assoc 1 en) en)
);sеtq
(if(setq txt(assoc 3 en))(setq en (subst (cons 3(dtow(cdr txt))) txt en)))
(ENTMOD en)
);repeat
);if
);mas-uni
;ПРЕВРЪЩА ОТ Win ТЕКСТ В DOS ----
(defun WtoD( text / tt i text1)
;®І Win ў DOS
(setq i 1 text1 "")
(repeat (strlen text)
(setq
tt (ascii (substr text i 1))
);setq
;(< tt 192)
(if (and t(> tt 127)) (setq tt (- tt 64)))
(setq text1 (strcat text1 (chr tt)))
(setq i (1+ i))
);repeat
text1
);Wtod

;ОТ DOS В Win
(defun DtoW ( text / i tt text1)
(setq i 1 text1 "" text(asc-un text))
(repeat (strlen text)
(setq
tt (ascii (substr text i 1))
)
(if (and(> tt 127)(< tt 192)) (setq tt (+ 64 tt)))
(setq text1 (strcat text1 (chr tt)))
(setq i (1+ i))
);repeat
text1
);DtoW
;---------- convert unicod-ansicod ----------------
(defun asc-un (txt / a i b tete)
(setq
a txt
tete ""
i 1
);setq
(while (<= i (strlen a))
(cond
((/= (setq b (substr a i 1)) "\\") (setq i (1+ i) tete (strcat tete b)))
((= (setq b (substr a i 3)) "\\U+")
(setq b(substr a i 7)
i (+ i 7)
tete (strcat tete(chr(h-d b)))
))
(T (setq tete(strcat tete(substr a i 1)) i (1+ i)))
);cond
);while
tete

);'(asc-un)
;-------------- hex-dec convert ------------
(defun h-d (cc / e ii sum)
(setq cc (substr cc 4) ii 1 sum 0)
(repeat (strlen CC)

(setq
e (h-d1 (substr cc ii 1))
sum (+ sum (* e (expt 16 (- 4 ii ))))
ii (1+ ii)
);setq
);repeat
;;; (chr (rem sum 256))
SUM
);h-d
;--------- text to hex convert -----------
(defun h-d1 (cc / e)
(cond
((= cc "A")(setq e 10))
((= cc "B")(setq e 11))
((= cc "C")(setq e 12))
((= cc "D")(setq e 13))
((= cc "E")(setq e 14))
((= cc "F")(setq e 15))
(T (setq e (atoi cc)))
);cond
e
);h-d
;чете ATTDEF И TEXT
(DEFUN S-ATTDEF (/ NAB EN ENT ENTI)
(SETQ EN (TBLNEXT "BLOCK" T)
ENT (CDR(ASSOC -2 EN))
);SETQ
;(REPEAT 10
(WHILE (SETQ EN (TBLNEXT "BLOCK" ))
(SETQ ENT (CDR(ASSOC -2 EN))
);SETQ
(WHILE ENT
(SETQ ENT (ENTNEXT ENT))
(IF (AND ENT
(OR
(=(CDR(ASSOC 0 (ENTGET ENT)))"ATTDEF")
(=(CDR(ASSOC 0 (ENTGET ENT)))"TEXT")
);OR
);AND
(PROGN
(SETQ ENTI(ENTGET ENT)
NAB(DTOW(CDR(ASSOC 1 ENTI)))
ENTI(subst (CONS 1 NAB)(ASSOC 1 ENTI)ENTI)
);SETQ
(ENTMOD ENTI)
(ENTUPD (CDR(ASSOC -1 ENTI)))
);PROGN
);IF
);REPEAT
);WHILE
);S-ATTDEF
'(alltext)




Тема Re: Програмка за конвертиране на текстовенови [re: s]  
Автор wiliko (непознат )
Публикувано25.06.07 09:45



благодаря за помощта тази програмка свърши работа,

друг е въпроса, че видях доста зор докато успея с птичия си мозък да я стартирам... но важното е че УСПЯх



Тема Re: Въпросче ...нови [re: wiliko]  
АвторMинaвaщ (Нерегистриран)
Публикувано25.06.07 14:08



Не ми е ясна тая работа


Оставам с впечатление , че първоначалният проблем е бил в разпознаване на Unicode кодовете на шрифта. Лиспа е за ascii to unicode т.е. от ASCII в UNICODE (така си мисля).
Всъщност какво се е получавало и се е оправило при wiliko в AutoCAD2000 ????



Тема Re: Въпросче #2...нови [re: Mинaвaщ]  
АвторMинaвaщ (Нерегистриран)
Публикувано25.06.07 14:11



Аааа , май лиспа е универсален ?



Тема Re: Въпросче #2...нови [re: Mинaвaщ]  
Автор wiliko (непознат )
Публикувано25.06.07 15:10



минаващ, май обичаш сам да си отговаряш на въпросите...да УНИВЕРСАЛЕН е лиспа, че го ползвах и с 2006 и резултата е положителен...



Тема Re: Въпросче ...нови [re: Mинaвaщ]  
АвторStSt (Нерегистриран)
Публикувано25.06.07 19:35



Тази програма има обръщалка в двете посоки, но включих само от уникодове към аскикодове (обратното обръщане трябваше за R12 - за диалогови прозорци и служебни съобщения - вече не трябва) и не съм махнал грешната подсказка.



Тема Re: Проблем с кирилицата в Auto CADнови [re: wiliko]  
Авторeдин (Нерегистриран)
Публикувано28.06.07 11:17



А имаш ли Флеск Тайп!! Свед като мине тая боза, само проблеми се очертават. Ползвай Пенджер-ския кирилизатор, както са ти казали по преди.




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.