30.07.2012 08:43
k005
|
Merhaba arkadaşlar;
Bir projede unicode bir karakter var.. Fi(ø) işareti. font olarak da arial içinde.. bunu Autocad de edit kısmından kopyalayıp lisp dosyasına ekliyorum fakat ; ? işareti şeklinde görünüyor.. bu unicode karakterleri lisp dosyasına eklemenin bir yolu varmıdır..?
yardımcı arkadaşa şimdiden teşekkürler..
Herkese kolay gelsin.
|
30.07.2012 11:59
Travaci
|
Windowsun çalıştır komutunu açıp charmap yazın yada, donatılar > sistem araçları > karakter işlem merkezi ne girin oradan istediğiniz karekteri bulup bir kere tıkladığınızda altında gerekli kodu veriyor, onu kullanabilirsiniz diye düşünüyorum : ) autocadde fi için %%c
|
30.07.2012 12:45
k005
|
Alıntı Travaci :
Windowsun çalıştır komutunu açıp charmap yazın yada, donatılar > sistem araçları > karakter işlem merkezi ne girin oradan istediğiniz karekteri bulup bir kere tıkladığınızda altında gerekli kodu veriyor, onu kullanabilirsiniz diye düşünüyorum : ) autocadde fi için %%c
bahsettiğiniz yolu daha önce denedim.. %%c lisp e eklenebilir bir ifade.. o kısma eklenmesi gereken karakter bu değil.. zaten dosyada da %%c görünmüyor.. öyle olsaydı. kolaydı.. :)
|
30.07.2012 13:12
Travaci
|
Kod:
(defun c:fi (/ )
(princ "\nBaşına fi yazılacak texti seçin:")
(setq ss (ssget (list (cons 0 "TEXT"))))
(if (= ss nil) (progn (princ "\nSeçim yok..."))
(progn
(setq c 0
say (sslength ss)
)
(while (< c say)
(setq tek (ssname ss c) ed1 (entget tek))
(setq ed1 (subst (cons 1 (strcat "%%c" (cdr (assoc 1 (entget tek))))) (assoc 1 ed1) ed1))
(entmod ed1)
(setq c (+ c 1))
)
)
)
(princ)
)
Seçilen yazının başına fi koyar, eğer yazı font'unuz uyumlu deilse soru işareti çıkar. Bu font arial ise ? işareti çıkması mümkün deil -ki zaten arial standart autocad de mevcut, yazılan text in fontunun arial olduğundan emin olun.
Ehya hocaya teşekkürler : )
|
30.07.2012 13:19
k005
|
Alıntı Travaci :
Kod:
(defun c:fi (/)
(setq data (entget (car (entsel "\nBaşına fi koyulacak yazı. "))))
(while (/= data nil)
(setq wRt (assoc 1 data))
(setq new (strcat "%%c" "wRt"))
(setq data (subst (cons 1 new) wRt data))
(entmod data)
(setq data (entget (car (entsel "\nBaşına fi koyulacak yazı. "))))
)
)
Seçilen yazının başına fi koyar, eğer yazı font'unuz uyumlu deilse soru işareti çıkar. Bu font arial ise ? işareti çıkması mümkün deil -ki zaten arial standart autocad de mevcut, yazılan text in fontunun arial olduğundan emin olun.
? işareti lisp kodunda çıkıyor.. yazıda değil. bu göndermiş olduğunuz lisp ile alakası yok... yinede teşekkürler.
k005 (30.07.2012 13:40 GMT)
|
30.07.2012 13:29
Travaci
|
İkimiz farklı şeyden mi bahsediyoruz ? text dosyasında tabiki çıkmıcak, çünkü text dosyası unicode ları destekliyor.
|
30.07.2012 13:36
k005
|
Alıntı Travaci :
İkimiz farklı şeyden mi bahsediyoruz ? text dosyasında tabiki çıkmıcak, çünkü text dosyası unicode ları destekliyor.
benim sorduğum soru bu.. text dosyasında çıkarmanın bir yolu varmı.. siz yanlış anladınız sanırım.. bir video ekliyorum.. oradan bakabilirsiniz..
15420-cap.rar
|
30.07.2012 13:47
Travaci
|
Tamam bende diyorumki bu text dosyasında kullanılmaz kullanıcam diyorsanız yukarıdaki örneği oyuzden gonderdım %%c kullanıcaksanız bu bi başka şey ise örnek asci kode kullanımı aşağıdaki gibidir, yukarıdaki kodla yenisini değiştirip farkını görün.
Kod:
(setq ed1 (subst (cons 1 (strcat "\U+0045\U+0052\U+004B\U+0041\U+004E"(cdr (assoc 1 (entget tek))))) (assoc 1 ed1) ed1))
|
k005
|
Alıntı Travaci :
son göndermiş olduğun kod.. olacak gibi..
Kod:
(setq ed1 (subst (cons 1 (strcat "\U+03A6"(cdr (assoc 1 (entget tek))))) (assoc 1 ed1) ed1))
benim işim bu U+03A6 kodu ----> ø bununla değiştirmek.. (ø = Alt+0248)
********************
Tamamdır. arkadaşım.. şimdi oldu.. Eyvallah.. bana gerekli olan kısım burasıydı... Kod:
(setq os (strcat "\U+03A6")) yardımın için teşekkür ederim..
k005 (30.07.2012 14:14 GMT)
|