25.10.2018 22:30    

ismaildd
merhabalar alumina hocamızın yazmış olduğu bana göre üst düzey lispte
revizyon yapılabilirmi rica etsem.ben bunun tam tersini yapmak istiyorum.pline tıklayınca program en yakın texti seçicek.şimdiden teşekkür ediyorum.saygılar sunuyorum


(defun c:sl (/ ns sc ss n m p ls) (vl-load-com)
(if (setq ns (ssget ":s" '((0 . "text")))
sc (ssadd) ss (ssget "x" '((0 . "line"))))
(progn
(repeat (setq n (sslength ss))
(setq n (1- n) m (ssname ss n) p (cdr (assoc
10 (entget (ssname ns 0)))) ls (cons (list
m (distance p (vlax-curve-getclosestpointto
(vlax-ename->vla-object m) p))) ls)))
(sssetfirst nil (ssadd (caar (vl-sort ls
'(lambda(a b) (< (cadr a) (cadr b))))) sc))
)
) (princ)
)

26.10.2018 11:58    

alumina
Alıntı
ismaildd :

Kod:

(defun c:sl (/ sc ns ss n m p ls) (vl-load-com)
  (if (and (setq sc (ssadd) ns (ssget ":s"
        '((0 . "lwpolyline")))) (setq ss
            (ssget "x" '((0 . "*text")))))
    (progn
      (repeat (setq n (sslength ss))
        (setq n (1- n) m (ssname ss n) p (cdr
          (assoc 10 (entget m))) ls (cons (list m
            (distance p (vlax-curve-getclosestpointto
              (vlax-ename->vla-object (ssname ns 0)) p))) ls)))
      (sssetfirst nil (ssadd (caar (vl-sort ls
        '(lambda(a b) (< (cadr a) (cadr b))))) sc))
    )
  ) (princ)
)

26.10.2018 12:59    

ismaildd
saolun hocam çok teşekkür ederim :yes:yes

08.11.2018 13:55    

ismaildd
HOCAM MERHABA GEÇEN GÜN YAZMIŞ OLDUĞUNUZ BU LİSP TEK KELİMEYLE MÜKEMMELDİ.
BİLİYORUM SÜREKLİ DEĞİŞİKLİK İSTEYİP DEĞERLİ VAKTİNİZDEN ÇALIYORUZ.
AMA PAYLAŞMAYI YARDIM ETMEYİ SEVEN BİR İNSAN OLDUĞUNUZU GÖRDÜĞÜM İÇİN BİR CESARETLE BİR DEĞİŞİKLİK DAHA RİCA EDİCEM.

ÜSTTEKİ LİSPTE PLİNE OLAN UZAKLIĞA GÖRE TEXT SEÇİLEBİLİRMİ.YANİ PLİNE TIKLAYINCA ÖRNEĞİN 20 CM UZAĞINDAKİ BÜTÜN TEXTLERİ SEÇTİREBİLİRMİYİM.KENDİM BAYAĞI UĞRAŞTIM AMA HER DENEMEMDE SİZİN YAZMIŞ OLDUĞUNUZ PROGRAMI BOZDUM.

ŞİMDİDEN VERECEĞİNİZ OLUMLU YADA OLUMSUZ CEVAP İÇİN TEŞEKKÜR EDİYORUM.İYİKİ SİZİN GİBİ HOCALARIMIZ VAR.

08.11.2018 15:32    

alumina
Alıntı
ismaildd :

Kod:

(defun c:sl (/ sc ns ds ss n m p) (vl-load-com)
  (if (setq sc (ssadd) ns (ssget ":s"
        '((0 . "lwpolyline"))))
    (progn (redraw (setq ns (ssname ns 0)) 3)
      (if (and (setq ds (getdist "\nEnter the distance:"))
            (setq ss (ssget "x" '((0 . "*text")))))
        (progn
          (repeat (setq n (sslength ss))
            (setq n (1- n) m (ssname ss n) p (cdr
              (assoc 10 (entget m))) sc (if (= ds
                (distance p (vlax-curve-getclosestpointto
                  (vlax-ename->vla-object ns) p)))
                    (ssadd m sc) sc))) (sssetfirst nil sc)
        )
      ) (redraw ns 4)
    )
  ) (princ)
)

08.11.2018 15:57    

ismaildd
hocam öncelikle çok saolun
ama bi yerde hatamı yapıyorum
sl enter diyorum

pline seçiyorum
uzaklığı giriyorum
ama seçmiyo.

08.11.2018 16:15    

alumina
Alıntı
ismaildd :

Girdiginiz uzaklikta text nesnesi yada nesneleri varsa secer. Kontrol edin. Hala olmuyorsa ozelden mesaj atin pc nize baglanip bakalim.

08.11.2018 17:00    

ismaildd
alümina hocam yardımlarınız için çok teşekkür ediyorum. problemi çözdünüz saolun varolun

04.02.2020 21:10    

@yQut
Selamlar
Çizgiyi yazıyı seçip yazıdaki değere göre mline çizen bir lisp olabilirmi. Örneğin yaxı L200x15 yazıyor. İkisini seçip 200x15 köşebentin görünüşünü sağlayacak bir lisp. L200x15 değişken
Teşekkürler

> 1 <
Copyright © 2004-2022 SQL: 1.292 saniye - Sorgu: 67 - Ortalama: 0.01928 saniye