arkadaşlar metraj çıkarama konusunu buldum. autolisp ile hallettim ilgilenenler olusa diye formatınıda veriyorum.
FORMAT.
(defun c:tb (/ secim sayi topboy cizsay say ata ata1 ata2 tip nok1 nok2 uzun ort)
(print " Çizgilerin Toplam Boyu...")
(prompt "Uzunlıkları Toplanacak Çizgileri Seçiniz <Tümü>: ")
(setq secim (ssget))
(if (= secim nil)
(progn
(command "select" "all" "")
(setq secim (ssget "p"))
)
)
(setq sayi (sslength secim))
(setq topboy 0)
(setq cizsay 0)
(setq say 0)
(while (> sayi say)
(setq ata1 (ssname secim say))
(setq ata2 (entget ata1))
(setq tip (cdr (assoc 0 ata2)))
(if (= tip "LINE")
(progn
(setq ata (entget ata1))
(setq nok1 (cdr (assoc 10 ata)))
(setq nok2 (cdr (assoc 11 ata)))
(setq uzun (distance nok1 nok2))
(setq cizsay (1+ cizsay))
(setq topboy (+ uzun topboy))
)
)
(setq say (1+ say))
)
(setq ort (/ topboy cizsay))
(prompt (strcat "Seçilen Nesne: <" (itoa sayi) ">/Çizgi Sayısı: <" (itoa cizsay) ">/ Ortalama Boy: <" (rtos ort) ">."))
(prompt (strcat "Toplam Çizgi Boyu:*<" (rtos topboy) ">*"))
(princ)
)
(princ "Komutu Çalıştırmak İçin TB Yazınız!
bunu lispinize eklerseniz toplam metraj ve bu metrajda kaç layer olduğunu yazıyor.
Nasıl ekleneceğini öğrenmek isteyen varsa onuda anlatabilirim.
saygılar kolay gelsin