08.05.2013 09:15    

ozkul
Şöyle bir sorunum var.

Dosyamda P1 olan pencereleri find ile buluyorum. Bulduğum bu text lerin etrafına otamatik olarak daire/kare vs. çizdirebilir miyim.

08.05.2013 11:00    

ehya
Kod:

(ssget "X" (list (cons 1 "P1")))

komutu ile dosyadaki tüm p1 leri seç. Seçilen nesneler hafızaya alınacaktır.
TCIRCLE komutunu çalıştır ve seçim isterken P yazıp enter yap.
Alt komutlardan Circle yada Rectangle seçerek bu yazıların etrafına istediğin çizimi yaptır.

ehya (08.05.2013 12:45 GMT)

08.05.2013 11:01    

Travaci
Kod:

(defun c:Ara (/)
   (setq pn (getstring t "\nAranacak text: "))
   (setq B (ssget "x" (list (cons 1 pn)))
         N (sslength B)
         L 0)
   (while (< L n)
      (setq eleman (entget (ssname B L))
               Ym  (cdr (assoc 10 eleman)))
      (entmake (list
                  (cons 0 "CIRCLE")
                  (cons 67 0)
                  (cons 10 ym)
                  (cons 40 50))) ;Çap 50
      (setq L (+ L  1))
   )
)

08.05.2013 11:32    

ozkul
Alıntı
ehya :
Kod:

(ssget "X" (list (cons 1 "P1")))

komutu ile dosyadaki tüm p1 leri seç. Seçilen nesneler hafızaya alınacaktır.
TCIRCLE komutunu çalıştır ve seçim isterken P yazıp enter yap.
Alt komutlardan Circle yada Rectangle seçerek bu yazıların etrafına istediğin çizimi yaptır.




Üstad komutu command satırına yapıştırıp enter yaptığım zaman

Command: (ssget "X" (list (cons 1 "P1)))
((("_>

Bu şekilde çıkıyor. Burada ne yapmam gerekli?


komutu Command: (ssget "X" (list (cons 1 "P1"))) P1 in sonuna tırnak koyarak denediğim zaman
<Selection set: 8120>

Çıkıyor. halbuki 35 adet falan bulması lazım. yanlış mı uyguluyorum acaba?

08.05.2013 11:40    

Travaci
Evet sonunda tırnak olucak (ssget "X" (list (cons 1 "P1"))) şeklinde
ordaki selection set seçim sayısı değildir ona takılmayın selection set yazısını gördükten sonra anlatımın devamını uygulayın.

08.05.2013 11:48    

ozkul
Şimdi oldu üstad. hemde harika oldu. Çok sağolasın.

08.05.2013 11:51    

ozkul
Alıntı
Travaci :
Kod:

(defun c:Ara (/)
   (setq pn (getstring t "\nAranacak text: "))
   (setq B (ssget "x" (list (cons 1 pn)))
         N (sslength B)
         L 0)
   (while (< L n)
      (setq eleman (entget (ssname B L))
               Ym  (cdr (assoc 10 eleman)))
      (entmake (list
                  (cons 0 "CIRCLE")
                  (cons 67 0)
                  (cons 10 ym)
                  (cons 40 50))) ;Çap 50
      (setq L (+ L  1))
   )
)






Bunuda denemek istedim. Lisp editöre yapıştırıp komutu (ARA) çalıştırdım. nesneleri bulduğunu söyledi. Buradan sonra yine Tcircle komutu ile Ehya hocamın anlatımını aynen uygulayacakmıyım?

08.05.2013 12:01    

Travaci
Hayır komutu çalıştırdıktan sonra aranacak kelimeyi yazıp enter la komutu bitiriyoruz, aradığınız yazı varsa hepsini circle ile işaretliyor. (cons 40 50))) ;Çap 50; bu kısımdan çapı arttırabilirsiniz.

08.05.2013 12:09    

ozkul
Buda tamamdır. Eyvallah üstad.

> 1 <
Copyright © 2004-2022 SQL: 0.897 saniye - Sorgu: 68 - Ortalama: 0.01319 saniye