İleti |
Yazar |
30.03.2009 17:12
|
yazgunesi

[70] Editör
572 ileti
Teknik Ressam
Çanakkale
|
Lisp hakkında açıklama :
Seçilen yazıları birleştirir ! Birinci yazıdan sonrakileri birinci yazıya dahil edip çizimden siler !
Autocad harici programlardan aktarılan çizimlerde yazılar patlamış olarak gelebiliyor..
O yazıları birleştirmek için ihtiyaçtan yazılmış bir Autolisp kodudur !
Kod:
;SCYz V1.0 - Nisan 2008 (c) Sinan COŞKUN
(defun c:yzb()
(setvar "cmdecho" 0)
(setq bslk " "); iki yazı arasına boşluk
(while
(setq yz(entsel"\nSabit yazıyı seçiniz !"))
(setq yz(entget(car yz)))
(if(/=(cdr(assoc 0 yz))"TEXT")
(alert"\nSeçtiğiniz Obje Yazı değil !")
(progn
(while
(setq yzs(entsel"\rSırayla birleştirilecek yazıları seçiniz !"))
(setq yzs(entget(car yzs)))
(if(/=(cdr(assoc 0 yzs))"TEXT")
(alert"\nSeçtiğiniz Obje Yazı değil !")
(progn
(if(or(=(cdr(assoc 1 yzs))(cdr(assoc 1 yz)))(=(cdr(assoc 10 yzs))(cdr(assoc 10 yz))))
(alert"\nSabit yazıyı tekrar seçtiniz !")
(progn
(setq yzb(strcat(cdr(assoc 1 yz))bslk(cdr(assoc 1 yzs))))
(setq yz(subst(cons 1 yzb)(assoc 1 yz)yz))
(entmod yz)
(entdel(cdr(assoc -1 yzs)))
);progn
);if
);progn
);if
);while
);progn
);if
);while
(princ)
);defun
Konunun geçtiği sayfa :
Linkleri görebilmek için ÜYE olmalısınız.
----------------------------------
www.cizimokulu.com
|
08.06.2011 00:38
|
teknikressam0606
[1] Yeni üye
53 ileti
ins muh
ankara
|
Aslında bunun tam teri lazım bana iki kelimeden oluşan bir metni ayrı ayrı iki metin yapma lispi
|
24.10.2011 19:44
|
ercucuk
[1] Yeni üye
15 ileti
makına muh
ankara
|
Keske ilk texti sectikten sonraki secilen textleri tek tek degilde toplu secme seklinde yapsaydin daha kullanisli olurdu. ama yinde teskkrler fydali bir lisp.
|
24.10.2011 23:15
|
ProhibiT
[80] Yetkili
1469 ileti
İnşaat Mühendisi
Ankara
|
Buna benzer işlem yapan fonksiyonlar paylaşmıştım, nerede olduğunu hatırlamıyorum
gurup halinde objeler seçildiğinde, fonksiyon hangisinin hangisine ve hangi sırada ekleneceğini nereden bilecek? olaya bu açıdan bakınca, yukarıda paylaşılan fonksiyon son derece mantıklı yazılmış. kullanımı da son derece sade. Bununla birlikte programatik disiplin açısından ben olsam bu fonksiyonu; Kod:
(defun c:txun (/ txp txu)
(setvar "cmdecho" 0) (command "_.undo" "group")
(while (setq txp (ssget ":s" (list (cons 0 "text"))))
(setq txp (entget (ssname txp 0))) (redraw (cdr (assoc -1 txp)) 3)
(while (setq txu (ssget ":s" (list (cons 0 "text"))))
(setq txu (entget (ssname txu 0))
txp (subst (cons 1 (strcat (cdr (assoc 1 txp)) (chr 32)
(cdr (assoc 1 txu)))) (assoc 1 txp) txp))
(entmod txp) (entupd (cdr (assoc -1 txp))) (redraw (cdr (assoc -1 txp)) 3)
(entdel (cdr (assoc -1 txu)))) (redraw (cdr (assoc -1 txp)) 4))
(command "_.undo" "e") (princ)
) şeklinde yazardım.
Buna rağmen, Text objelerini gurup halinde seçmek gibi bir ihtiyacınız varsa; Kod:
(defun c:txuns (/ txts L n txtr cntnt)
(setvar "cmdecho" 0) (command "_.undo" "group")
(setq txts (ssget (list (cons 0 "text"))) L (sslength txts) n L txtr (ssadd))
(while (> (setq n (1- n)) -1) (ssadd (ssname txts n) txtr))
(setq n -1 cntnt "")
(while (< (setq n (1+ n)) L)
(setq cntnt (strcat cntnt
(if (> n 0) (chr 32) "")
(cdr (assoc 1 (entget (ssname txtr n))))))
(if (> n 0) (entdel (ssname txtr n))))
(setq txts (entget (ssname txtr 0))
txts (subst (cons 1 cntnt) (assoc 1 txts) txts))
(entmod txts) (entupd (cdr (assoc -1 txts))) (command "_.undo" "e") (princ)
) Fonksiyonunu kullanabilirsiniz.
bir konuya dikkat çekmem gerekiyor. fonksiyona ihtiyaç duyduğu sıralama bilgisi verilmediğinden, seçilen objeleri oluşturulma sırasına (creation sequence) göre sıralar, ilk objeyi alarak diğerlerinin içeriğini buna ekler ve içeriği ilk text objesine eklenen diğer text objelerini siler.
kolay gelsin.
Where there is a will, there is a way... Beğenmek için anlamak lazım...
|
25.10.2011 10:25
|
ercucuk
[1] Yeni üye
15 ileti
makına muh
ankara
|
Tesekkurler prohibit.
|
27.10.2011 13:01
|
CAN123
[8] Kıdemli Uzman
119 ileti
Teknik Ressam
ANKARA
|
Merhaba,
txuns lispinde textleri birleştiriken arada boşluk bırakıyor. bunu engelememiz mümkünmü?
teşekkürler.
|
27.10.2011 14:58
|
ProhibiT
[80] Yetkili
1469 ileti
İnşaat Mühendisi
Ankara
|
Kod:
(setq cntnt (strcat cntnt
(if (> n 0) (chr 32) "")
(cdr (assoc 1 (entget (ssname txtr n)))))) bölümü,
Kod:
(setq cntnt (strcat cntnt (cdr (assoc 1 (entget (ssname txtr n)))))) şeklind değiştirirseniz araya boşluk koymaz.
yani; (if (> n 0) (chr 32) "") ifdesini kaldırmak yeterli.
Where there is a will, there is a way... Beğenmek için anlamak lazım...
|
27.10.2011 16:35
|
CAN123
[8] Kıdemli Uzman
119 ileti
Teknik Ressam
ANKARA
|
Çok teşekkur ederim
|
17.01.2012 21:30
|
fatherrain
[2] Girişimci
8 ileti
Mimar
Kayseri
|
Aldığım Bir çizimde eğim çizgileri ve yazılar aynı layerda ve tamamen patlamış durumda. Tek tek ayıklamıştım 1 haftamı aldı. Tüm o çizgileri tek tek sildim. Bu şekilde tamamen patlamış ve line a dönüşmüş textleri temizleyecek bir lisp var mı? Merakımdan soruyorum  )
|
18.01.2012 02:11
|
Travaci

[70] Editör
2146 ileti
Teknik Ressam
Konstantinopol
|
Alıntı fatherrain :
Aldığım Bir çizimde eğim çizgileri ve yazılar aynı layerda ve tamamen patlamış durumda. Tek tek ayıklamıştım 1 haftamı aldı. Tüm o çizgileri tek tek sildim. Bu şekilde tamamen patlamış ve line a dönüşmüş textleri temizleyecek bir lisp var mı? Merakımdan soruyorum )
Çizimin nasıl bilmiyorum ama text ler patladığında 2d Polyline a çevriliyor, Properties > quick select bölümünden 2d polyline ların hepsini birden seçtirip silebilirsin.
ProhibiT (23.02.2012 17:38 GMT)
|
23.02.2012 20:14
|
Travaci

[70] Editör
2146 ileti
Teknik Ressam
Konstantinopol
|
Alıntı yazgunesi :
Lisp hakkında açıklama :
Seçilen yazıları birleştirir ! Birinci yazıdan sonrakileri birinci yazıya dahil edip çizimden siler !
Autocad harici programlardan aktarılan çizimlerde yazılar patlamış olarak gelebiliyor..
O yazıları birleştirmek için ihtiyaçtan yazılmış bir Autolisp kodudur !
Kod:
;SCYz V1.0 - Nisan 2008 (c) Sinan COŞKUN
(defun c:yzb()
(setvar "cmdecho" 0)
(setq bslk " "); iki yazı arasına boşluk
(while
(setq yz(entsel"\nSabit yazıyı seçiniz !"))
(setq yz(entget(car yz)))
(if(/=(cdr(assoc 0 yz))"TEXT")
(alert"\nSeçtiğiniz Obje Yazı değil !")
(progn
(while
(setq yzs(entsel"\rSırayla birleştirilecek yazıları seçiniz !"))
(setq yzs(entget(car yzs)))
(if(/=(cdr(assoc 0 yzs))"TEXT")
(alert"\nSeçtiğiniz Obje Yazı değil !")
(progn
(if(or(=(cdr(assoc 1 yzs))(cdr(assoc 1 yz)))(=(cdr(assoc 10 yzs))(cdr(assoc 10 yz))))
(alert"\nSabit yazıyı tekrar seçtiniz !")
(progn
(setq yzb(strcat(cdr(assoc 1 yz))bslk(cdr(assoc 1 yzs))))
(setq yz(subst(cons 1 yzb)(assoc 1 yz)yz))
(entmod yz)
(entdel(cdr(assoc -1 yzs)))
);progn
);if
);progn
);if
);while
);progn
);if
);while
(princ)
);defun
Konunun geçtiği sayfa :
Linkleri görebilmek için ÜYE olmalısınız.
Sürekli sabit yazıyı tekrar seçin hatası veriyor.
|
12.04.2014 11:30
|
zErOnE
[2] Girişimci
1 ileti
Teknik Ressam
İstanbul
|
Foruma bir soru soracaktım fakat buralarda hiç yazım olmadığından yetki alamadım.
Ben de gözüme ilişen bir konu içine yorum yazmak istedim.
Farkındayım 2 senelik bir konu.
Ne zaman çıktığını bilmiyorum fakat 2014 autocadin express tool içinde text leri mtext e çevirmek ve birleştirmek için bir fonksiyon var.
TXT2MTXT. Birleştirme işlemleri için ben bunu kullanıyorum.
Sadece text çalışmak isterseniz birleştirme sonrası explode uygulayabilirsiniz.
Kolaylıklar,
Emre.
|
27.03.2015 22:55
|
q7kartal
[2] Girişimci
12 ileti
ressam
istanbul
|
dört tane yazıyı birleştiren lisp varmıdır.
alttaki dört adet yazı patlatılmış olarak başka programdan geliyor.
hepsini seçip birleştir diyebileceğimiz bir lisp varmıdır yada bir yöntem
PARÇA ADI : PL20
MALZEME : ST37
KALINLIK : 20MM
ADET : 10
|
28.03.2015 11:15
|
ehya

[90] Yönetici
3228 ileti
Teknik Ressam
Ankara
|
Her mesajında lisp istemen ve bu yüzden tavır göstermen yüzünden siteden uzaklaştırıldın.
Kapıdan atıldın, bacan girdin. Belki akıllanır dedik, bu sefer birşey istemek yerine birşeyler katar bu siteye dedik.
Ama huylu huyundan asla vazgeçmiyor.
|
28.03.2015 13:11
|
q7kartal
[2] Girişimci
12 ileti
ressam
istanbul
|
siteye katar derken ne istiyorsunuz hertürlü bilgi var
|
28.03.2015 13:21
|
ehya

[90] Yönetici
3228 ileti
Teknik Ressam
Ankara
|
Her türlü bilgi var diye, boş kalmayalım senin lisp isteklerini yerine getirelim öyle mi?
Sen bu kafayla gidersen daha çoook lisp isteklerin havada kalır...
|
28.03.2015 20:16
|
Travaci

[70] Editör
2146 ileti
Teknik Ressam
Konstantinopol
|
Başka kullanıcı adıyla ortalığa küfür edip arsızca burada olmanın lüzmu yok.
Biraz yüzün kızarıyorsa daha da buralarda gözükmezsin.
|
30.03.2015 12:09
|
özkan-wien

[10] Üstad
443 ileti
Ankara
|
bari Besiktasin adini lekeleme
|
30.03.2015 12:28
|
alumina

[70] Editör
662 ileti
Insaat Muhendisi
Istanbul
|
Alıntı özkan-wien :
bari Besiktasin adini lekeleme
Audi'yide lekelemesin
|
30.03.2015 13:09
|
özkan-wien

[10] Üstad
443 ileti
Ankara
|
Alıntı alumina :
Alıntı özkan-wien :
bari Besiktasin adini lekeleme
Audi'yide lekelemesin 
bidahaki girdigine baska isim bulsun. Raskoyu kazanalim beyler :-)
|