03.12.2013 14:29    

özkan-wien
arkadaslar bir Layerin "on" "off" oldugunu nasil kontrol ederiz lisple?

03.12.2013 15:23    

ehya
özkan-wien




Kod:

(setq layer "DUVAR")
(setq sor (tblsearch "layer" layer))


Sonuç : ((0 . "LAYER") (2 . "DUVAR") (70 . 0) (62 . 7) (6 . "Continuous"))

62 nolu dxf kodu pozitif ise "on", negatif ise "off" durumundadır.
Ek bilgi olarak;
70 nolu dxf kodu,
1 ise "freeze" li;
2 ise "New VP Freeze" li,
4 ise "lock" lu;
5 ise "freezli" ve "lock" lu;
v.s v.s. gibi seçenekleri de kullanabiliriz.

03.12.2013 15:26    

ProhibiT
Layer nesnesinin (table object) varlık adı (entity name) ilişkilendirililmiş (associaiton) listesinde 62 DXF grup kodu ile ilişkilendirilmiş renk numarası pozitif ise layer "ON", renk negatif ise layer "OFF" durumdadır.
Kod:

(setq LayAd (getstring "\Layer adı: ")
      LayLs (tblsearch "Layer" LayAd)
      LayCL (cdr (assoc 62 LayLs)))
(if (< LayCL 0)
  (princ (strcat LayAd " layer'ı off durumda"))
  (princ (strcat LayAd " layer'ı on durumda")))

03.12.2013 16:04    

ehya
Hocam bu sefer de hızlı çıktım sizden.. :)

03.12.2013 16:17    

özkan-wien
ayri ayri tesekkür ederim

03.12.2013 18:03    

ProhibiT
ehya hocam bu başıma sık geliyor :)

04.12.2013 07:21    

ehya
macros55




Mevcut FASTSEL komutunu kullanın...

04.12.2013 09:47    

Travaci
asvm44



Kod:

;*********** Çizim İçinde Belirlenen *Text leri Seçer ***********;

(defun c:Sec (/)
   (princ "\nSecilecek text veya textleri belirleyin:")
   (setq frStSLcT (ssget (list (cons 0 "*text"))))
   (if (= frStSLcT nil)
      (progn (princ "\nSeçim yapılmadı.!"))
      (progn (setq c 0 say (sslength frStSLcT) mYLsT '())
         (while (< c say)
            (setq tek (ssname frStSLcT c)
               sBjT (cdr (assoc 1 (entget tek))))
            (if (not (member sBjT mYLsT))
               (setq mYLsT (append (list sBjT) mYLsT)))
               (setq c (+ c 1)))
         (setq d 0 wRd "")
         (repeat (length mYLsT)
            (setq wRd (strcat wRd (nth d mYLsT) ",")
               d (+ d 1)))
         (princ "\nTextlerin aranacağı bölgeyi belirleyin:")
         (setq lsTslCt (ssget (list (cons 0 "*Text") (cons 1 wRd))))
         (if (= lsTslCt nil)
            (progn (princ "\nAranan text bulunamadı.!"))
            (progn (sssetfirst nil lsTslCt))
         )
      )
   ) 
   (princ)
)

05.12.2013 06:14    

waytooraider
Travaci Hocam

Sec dedikten sonra;textleri aranacak bölgeyi secin den hemen sonra secim yerine all diye yazarsak tümünü seçmesini sağlayabilirmiyiz.

Saygılarımla.

05.12.2013 07:03    

Travaci
Seçim yapılacak bölgeyi sorduğunda all diyebilirsin.

06.12.2013 23:08    

waytooraider
Merhabalar.i,
Aynı uzunlukta ki nesneleri seçmek istiyorum.Mesela çizim de 10000 tane aynı uzunlukta çember var.Quick selecte seçmek ilk yapılması gereken ama Lisp ile yapmak mümkün mü?

Sonsuz saygılarımla.

07.12.2013 22:48    

given
Herkese merhabalar,

Sitede karistirdim ama bulamadim. Rakamlari siralayan bir lisp ariyorum. Soyle ki; elimde KL-OB-001' den KL-OB-357' ye kadar Text ile yazilmis kolon numaralari var. Bu rakamlari, buyukten kucuge veya kucukten buyuge ust uste siralayarak arada silinen veya cikarilan rakamlarin olup olmadigini kontrol etmem gerekmektedir. Lisp olmadan yapilabilecegini sanmiyorum. Baska bir yolunu bilen varsa ve paylasirsa cok sevinirim. :)

Yardimlariniz icin simdiden tesekkur ederim.

Kolay gelsin,

08.12.2013 08:22    

ProhibiT
Kod:

(defun c:srT (/ Lst Mmb n)
  (setq Mmb (ssget (list (cons 0 "*text"))) n -1 Lst nil)
  (while (< (setq n (1+ n)) (sslength Mmb))
    (if (not Lst) (setq Lst (list (cdr (assoc 1 (entget (ssname Mmb n))))))
      (setq Lst (append Lst (list (cdr (assoc 1 (entget (ssname Mmb n)))))))))
  (foreach eLm (vl-sort Lst '<) (print eLm)) (princ))

08.12.2013 17:17    

given
Prohibit hocam,

Lisp cok iyi calisiyor ama kucuk bir sorun var. Soyleki; uc haneli yazilmis olan 006 rakami kendisinden kucuk olan cift haneli rakamlardan ornegin 04 den kucuk goruyor. Dolayisiyla 006 rakami siralamada 04 un uzerinde yer aliyor. Ayni durum tek ve cift haneli rakamlarda da karsima cikti. Bunu duzeltmek sizi cok ugrastiracaksa bu sekliyle de idare edebilirim.

Vakit ayirdiginiz icin tesekkur ederim, elleriniz dert gormesin hocam.

Saygilarimla,

09.12.2013 07:33    

ProhibiT
Doğrudur, vl-sort işlevi sıralamayı bu şekilde yapar. Soldan sağa doğru sıralama yapıldığı için 04 olarak verilen değer, üç basamaklı 006 ile karşılaştırılırken, 040 olarak ele alınıp 006 dan büyük diye düşünülür. Verdiğiniz örnekte "KL-OB-001' den KL-OB-357' ye kadar" dediğiniz için ben de herhangi bir kontrole gerek görmeden genel anlamda sıralamayı yeterli gördüm. ikinci tire işaretinden sonraki kısmını alıp buna göre de sıralanabilir. Ama, bu durumda da başlangıçtaki sayısal olmayan kısım sıralanmaz. Yalnızca en sonda yer alan kısım sayısal değere dönüştürülerek sıralama yapılabilir. Başlangıçtaki ve sondaki gurupları kendi içlerinde ve birlikte sıralamak ise oldukça uzun bir iş.

09.12.2013 16:21    

given
Prohibit hocam o kusur bile sayilmaz. Bugun butun gun bu lispi kullandim ve benim bir gunde yapabilecegim bir isi 10 dakikaya dusurdu. Size ne kadar tesekkur etsem azdir. Tekrar tesekkur ederim hocam, iyi ki varsiniz.

Saygilarimla,

10.12.2013 10:23    

özkan-wien
arkadaslar mesela "duvar" isimli bir mlstyle var mi yok mu diye nasil kontrol ederim, yardimlariniz icin simdiden tesekkürler.

özkan-wien (10.12.2013 10:35 GMT)

10.12.2013 12:10    

Travaci
Alıntı
özkan-wien :

Kod:

(if (not (tblsearch "STYLE" "duvar")) (princ "\nNot Found"))

table-name A string that identifies a symbol table. Valid table-name values are
"LAYER", "LTYPE", "VIEW", "STYLE", "BLOCK", "UCS", "APPID", "DIMSTYLE", and
"VPORT". The argument is not case sensitive.

10.12.2013 13:30    

özkan-wien
Alıntı
Travaci :
Alıntı
özkan-wien :

Kod:

(if (not (tblsearch "STYLE" "duvar")) (princ "\nNot Found"))

table-name A string that identifies a symbol table. Valid table-name values are
"LAYER", "LTYPE", "VIEW", "STYLE", "BLOCK", "UCS", "APPID", "DIMSTYLE", and
"VPORT". The argument is not case sensitive.



tesekkür ederim travaci, senin yazdigin ama text style, benim aradigim multilinestyle "mlstyle" liste

10.12.2013 14:23    

Harbi65
Alıntı
özkan-wien :
arkadaslar mesela "duvar" isimli bir mlstyle var mi yok mu diye nasil kontrol ederim, yardimlariniz icin simdiden tesekkürler.



Kod:

(if (not (and (setq DicSr (dictsearch (namedobjdict) "ACAD_MLINESTYLE"))
(setq DicSr (dictsearch (cdr (assoc -1 DicSr)) "DUVAR"))))
                 ...........
                 ...........

Önceki Sayfa [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] [45] > 49 < [50] [55] [60] [65] [70] [75] [80] [85] [90] [95] [100] Sonraki Sayfa
Copyright © 2004-2022 SQL: 1.992 saniye - Sorgu: 100 - Ortalama: 0.01992 saniye