Kullanıcı Adı: Şifre: Beni Hatırla?
 

Bu başlığı inceleyenler : 1 ziyaretçi, 0 üye : ---

7 kullanıcı bu konuya ileti yazdı : CAN123 (2) ercucuk (2) fatherrain (1) ProhibiT (2) teknikressam0606 (1) Travaci (2) yazgunesi (1)

> 1 <
Yazar İleti
yazgunesi

[70] Editör

Online Durumu
Arkadaş Listeme Ekle

konu, 519 ileti
Meslek: teknik ressam
Yaş: 35 (çanakkale)

#47816   30.03.2009 16:12 GMT      
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.

teknikressam0606

[2] Acemi

Online Durumu
Arkadaş Listeme Ekle

konu, 0 ileti
Meslek: ins muh
Yaş: (ankara)

#64584   07.06.2011 23:38 GMT      
Aslında bunun tam teri lazım bana iki kelimeden oluşan bir metni ayrı ayrı iki metin yapma lispi

ercucuk

[1] Yeni üye

Online Durumu
Arkadaş Listeme Ekle

konu, 0 ileti
Meslek: makına muh
Yaş: (ankara)

#66284   24.10.2011 18:44 GMT      
Keske ilk texti sectikten sonraki secilen textleri tek tek degilde toplu secme seklinde yapsaydin daha kullanisli olurdu. ama yinde teskkrler fydali bir lisp.

ProhibiT

[70] Editör

Online Durumu
Arkadaş Listeme Ekle

konu, 42 ileti
Meslek: İnşaat Mühendisi
Yaş: 54 (Ankara)

#66286   24.10.2011 22:15 GMT      
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.

If there is a will, there is a way... Beğenmek için anlamak lazım...

ercucuk

[1] Yeni üye

Online Durumu
Arkadaş Listeme Ekle

konu, 0 ileti
Meslek: makına muh
Yaş: (ankara)

#66289   25.10.2011 09:25 GMT      
Tesekkurler prohibit.

CAN123

[2] Acemi

Online Durumu
Arkadaş Listeme Ekle

konu, 13 ileti
Meslek: TEKNİK RESSAM
Yaş: (ANKARA)

#66315   27.10.2011 12:01 GMT      
Merhaba,

txuns lispinde textleri birleştiriken arada boşluk bırakıyor. bunu engelememiz mümkünmü?

teşekkürler.

ProhibiT

[70] Editör

Online Durumu
Arkadaş Listeme Ekle

konu, 42 ileti
Meslek: İnşaat Mühendisi
Yaş: 54 (Ankara)

#66323   27.10.2011 13:58 GMT      
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.

If there is a will, there is a way... Beğenmek için anlamak lazım...

CAN123

[2] Acemi

Online Durumu
Arkadaş Listeme Ekle

konu, 13 ileti
Meslek: TEKNİK RESSAM
Yaş: (ANKARA)

#66325   27.10.2011 15:35 GMT      
Çok teşekkur ederim

fatherrain

[1] Yeni üye

Online Durumu
Arkadaş Listeme Ekle

konu, 2 ileti
Meslek: öğrenci
Yaş: (kayseri)

#67502   17.01.2012 20:30 GMT      
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 )

Travaci

[3] Kıdemli

Online Durumu
Arkadaş Listeme Ekle

konu, 38 ileti
Meslek: Teknik Ressam
Yaş: 26 (İstanbul)

#67507   18.01.2012 01:11 GMT      
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.


Bu mesaj ProhibiT tarafından düzenlendi (23.02.2012 16:38 GMT, 91 Gün önce)

Travaci

[3] Kıdemli

Online Durumu
Arkadaş Listeme Ekle

konu, 38 ileti
Meslek: Teknik Ressam
Yaş: 26 (İstanbul)

#68067   23.02.2012 19:14 GMT      
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.

> 1 <
30.42TL 33.75TL 24.96TL 27.00TL
33.75TL 32.25TL
Yukarı Çık
Site haritası | Forum Kuralları | İstatistikler | Hakkımızda | Referanslarımız | Kadromuz | Gizlilik | Yasal Uyarı | Reklam İstatistikleri | Reklam | cizimokulu.com
Copyright © 2004-2012 Akpınar Eğitim ve Yazılım Merkezi | Tüm Hakları Saklıdır | 879 | megaaritmetiksahrayicedid.com | megaaritmetikerenkoy.com | İnşaat & Yapı Haberleri | FAQ
Mega Aritmetik Dahi Çocuk Merkezi SQL toplam zamanı: 1.064 saniyede oluşturuldu. - SQL sorgusu: 304 - Ortalama SQL zamanı: 0.0035 saniyede oluşturuldu.