24.07.2014 04:57    

k005
Merhaba arkadaşlar;

Bir proje içinde ; 150 , 500 ,95 ,120, 360 ,80 ,150, 500, 360 , 170 , 95 ,95 ,95, 180 , 165 , 340, 150 , 152, 184, 165, gibi aynı isimde ve ayrı isimde textler mevcut. ( text obje )

Not: yukarıdaki textler her biri ayrı bir text objedir.

Yapmak istediğim:

Bu textlerin yerleşim noktalarına sayısal isimlendirme yapmak.. aynı textlere aynı numarayı vermek. ayrı textlere de bir sonraki numarayı vermek..

yardımcı arkadaşa şimdiden teşekkürler.

24.07.2014 14:00    

miyatu
Kod:

(defun c:numver (/ liste kisa_liste)
  (setq sset (ssget "X" (list (cons 0 "TEXT")))
slen (sslength sset)
  )
  (setq syc 0)
  (while (/= syc slen)
    (setq liste
   (vl-sort
     (append liste
     (list (cdr (assoc 1 (entget (ssname sset syc)))))
     )
     '<
   )
    )
    (setq syc (+ syc 1))
  )
  (setq syc 0)
  (while (/= syc slen)
    (setq klm (nth syc liste))
    (if (/= kln klm)
      (progn
(setq kisa_liste
       (append kisa_liste (list klm))
      kln klm
)
      )
    )
    (setq syc (+ 1 syc))
  )
  (setq sya 0)
  (setq cnt 1)
  (while (/= nil (setq klm (nth sya kisa_liste)))
    (setq sset (ssget "X" (list (cons 0 "TEXT") (cons 1 klm)))
  slen (sslength sset)
  sya  (+ 1 sya)
    )
    (setq syc 0)
    (while (/= slen syc)
      (setq p1 (cdr (assoc 10 (entget (ssname sset syc)))))
      (if
(and (/= p1 nil)
     (/= "SIRA_NO" (cdr (assoc 8 (entget (ssname sset syc)))))
)
(progn
   (entmake (list
      (cons 0 "TEXT")
      (cons 100 "AcDbEntity")
      (cons 8 "SIRA_NO")
      (cons 100 "AcDbMText")
      (cons 10 p1)
      (cons 1 (rtos cnt 2 0))
      (cons 40 (getvar "textsize"))
    )
   )
)
      )
      (setq syc (+ syc 1))
    )
    (setq cnt (+ 1 cnt))
  )
)


umarim isine yarar...

24.07.2014 16:36    

k005
Alıntı
miyatu :

Hocam çok teşekkür ediyorum, tamamdır.. elinize - yüreğinize sağlık...

Tam yapmak istediğim gibi.. :yes

Saygılar sunuyorum..

28.07.2014 13:41    

Travaci
Kod:

(defun c:txtpoz (/ sl s ls n)
  (setq sl (ssget (list (cons 0 "text"))) s 0 n -1)
  (setvar "cmdecho" 0) (vl-load-com) (command "_.undo" "be")
  (if sl
    (progn
      (repeat (sslength sl)
        (setq ls (append ls (list (cdr (assoc 1 (entget (ssname sl s))))))
               s (1+ s)))
      (while (< (setq n (1+ n)) (length ls))
        (setq ls (append (list (nth n ls)) (vl-remove (nth n ls) ls))))
      (setq ls (vl-sort ls '<) n 0 s 0)
      (repeat (length ls)
        (while (< s (sslength sl))
          (if (= (nth n ls) (cdr (assoc 1 (entget (ssname sl s)))))
            (progn
              (entmake (list (cons 0 "text") (cons 8 "Poz")   
                (cons 10 (cdr (assoc 10 (entget (ssname sl s)))))
                (cons 11 (cdr (assoc 10 (entget (ssname sl s)))))
                (cons 40 (* (cdr (assoc 40 (entget (ssname sl s)))) 1.5))
                (cons 1 (rtos (1+ n) 2 0)) (cons 72 1) (cons 73 2)))
              (entmake (list (cons 0 "circle") (cons 8 "Poz")
                (cons 10 (cdr (assoc 10 (entget (ssname sl s)))))
                (cons 40 (* (cdr (assoc 40 (entget (ssname sl s)))) 1.5))))    
              (setq sl (ssdel (ssname sl s) sl)  s (1- s))    
            )
          ) (setq s (1+ s))
        ) (setq n (1+ n) s 0)
      )
    )
  ) (command "._undo" "e") (if (null sl) (command "._u"))
  (setvar "cmdecho" 1) (princ)
)

31.07.2014 08:52    

k005
Alıntı
Travaci :

Hocam çok teşekkür ediyorum tamamdır, elinize sağlık.. geç dönüş yaptım özür..

> 1 <
Copyright © 2004-2022 SQL: 3.826 saniye - Sorgu: 54 - Ortalama: 0.07085 saniye