* E Posta Adresiniz:
* Kodu Girin:

İleti Yazar
30.03.2009 17:12
47816    
yazgunesi

[70] Editör

Online Durumu

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
64584    
teknikressam0606

[1] Yeni üye

Online Durumu

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
66284    
ercucuk

[1] Yeni üye

Online Durumu

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
66286    
ProhibiT

[80] Yetkili

Online Durumu

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
66289    
ercucuk

[1] Yeni üye

Online Durumu

15 ileti
makına muh
ankara

Tesekkurler prohibit.

27.10.2011 13:01
66315    
CAN123

[8] Kıdemli Uzman

Online Durumu

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
66323    
ProhibiT

[80] Yetkili

Online Durumu

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
66325    
CAN123

[8] Kıdemli Uzman

Online Durumu

119 ileti
Teknik Ressam
ANKARA

Çok teşekkur ederim

17.01.2012 21:30
67502    
fatherrain

[2] Girişimci

Online Durumu

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
67507    
Travaci

[70] Editör

Online Durumu

2122 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
68067    
Travaci

[70] Editör

Online Durumu

2122 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
76798    
zErOnE

[2] Girişimci

Online Durumu

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
81068    
q7kartal

[2] Girişimci

Online Durumu

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
81070    
ehya

[90] Yönetici

Online Durumu

3211 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
81072    
q7kartal

[2] Girişimci

Online Durumu

12 ileti
ressam
istanbul

siteye katar derken ne istiyorsunuz hertürlü bilgi var

28.03.2015 13:21
81073    
ehya

[90] Yönetici

Online Durumu

3211 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
81084    
Travaci

[70] Editör

Online Durumu

2122 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
81090    
özkan-wien

[10] Üstad

Online Durumu

443 ileti

Ankara

bari Besiktasin adini lekeleme

30.03.2015 12:28
81091    
alumina

[70] Editör

Online Durumu

655 ileti
Insaat Muhendisi
Istanbul

Alıntı
özkan-wien :
bari Besiktasin adini lekeleme



Audi'yide lekelemesin

30.03.2015 13:09
81092    
özkan-wien

[10] Üstad

Online Durumu

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 :-)

Copyright © 2004-2018 | Tüm Hakları Saklıdır | 2689 | Site haritası | İstatistikler | Hakkımızda | Kadromuz | Gizlilik | Reklam