24.06.2020 20:28    

asamet
Merhaba,
Proje üzerindeki blokların merkez noktalarından koordinat alıp listelemem gerekiyor. KLS lispinden daha yararlı bir lisp bulamadım işimi görmek için. Onda da tek tek işaretlemem gerekiyor, 100'lerce blok var. Daha kısa bir yol var mıdır önerebileceğiniz, gözden kaçırdığım bi kolaylık. Sallıyorum blokları yaparken ATT yapsaydın falan yolla çıkarabilirdin tarzında ileriye yönelik tecrübe ettiğiniz tavsiyeler de olabilir. Şimdiden teşekkürler iyi çalışmalar.

25.06.2020 00:30    

Travaci
Evet blocklarını attrib olarak yapabilir tag veya taglerine bloğun koordinatlarını field olarak ekliyebilirsin. Blocklarını taşıdığında koordinatlar otomatik güncellenecek. Sonunda da dataextraction ile ister çizime tablo olarak ister dışarıya exel dosyası vs. yazdırabilirsin.

Kod:

(defun c:Bdata3 (/ obj xls) (vl-load-com)
  (if (setq n 0 obj (ssget (list (cons 0 "insert"))))
    (if (setq xls (getfiled "" "" "xls" 9))
      (progn
        (setq ad (vla-get-activedocument (vlax-get-acad-object))
             xls (open xls "w"))
        (vla-startundomark ad)
        (repeat (sslength obj)
          (setq dat (vlax-ename->vla-object (ssname obj n))
                pnt (trans (vlax-safearray->list (vlax-variant-value
                    (vla-get-insertionpoint dat))) 0 1) n (1+ n))
          (entmake (list (cons 0 "text") (cons 1 (rtos n 2 0)) 
            (cons 10 pnt) (cons 11 pnt) (cons 40 (getvar "textsize"))
            (cons 72 1) (cons 73 1)))
          (write-line (strcat (rtos n 2 0)
            "\t" (rtos (car pnt)   2 3)
            "\t" (rtos (cadr pnt)  2 3)
            "\t" (rtos (caddr pnt) 2 3)) xls)
        )
        (vla-endundomark ad)
        (close xls)
      )
    )
  ) (princ)
)


Yazi yüksekligi için textsize 0 kontrolü için dimzin komutunu kullanin.

Travaci (25.06.2020 10:18 GMT)

25.06.2020 00:53    

asamet
Hocam paylaştığınız bilgiler için teşekkürler yapmayı denicem. Feild konusunda çok eksiğim var. Ufak tefek şeyler yapabilsem de nerelerde kullanılabildiği konusunda pek bir bilgim yok. Sitemizin youtube sayfasında feild derslerini görebilmek ümidiyle..
Bulamadım diyecektim ki siz düzenleyip paylaşmışsınız bile emeğinize sağlık teşekkürler !

> 1 <
Copyright © 2004-2022 SQL: 1.273 saniye - Sorgu: 52 - Ortalama: 0.02449 saniye