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)
)
(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)
)
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.