15.03.2023 10:17    

asamet
Merhaba,
LeeMac'in yazmış olduğu bir lisp var "blkcount" diye. Seçilen blokların blok ismini ve adedini görebileceğimiz şekilde bir tablo oluşturuyor.
Ben dwg deki bütün layerları bi çizgi çizerek listelemesini istiyorum. Örneğin 15 birimlik bir line, karşısında da kullanılan line'ın layer ismi. Bu şekilde dosyamdaki bütün layerları tablolayabileceğim bir lisp var mı?

15.03.2023 11:57    

Travaci
Daha önceden yayınlanmıştı, lisp istekleri bölümünde bulabilirsiniz.

15.03.2023 12:22    

ehya
Komut ismi LYL
Kod:

(defun llist ()
(setq ltlay (tblnext "layer" T) listlay '())
(while ltlay
  (setq laytype1 (cdr (assoc 2 ltlay))
        listlay (cons laytype1 listlay)
        ltlay (tblnext "layer")))
(setq listlay (acad_strlsort listlay)))
(defun lciz ( sp ep ly)
  (entmake (list (cons 0 "LINE")
(cons 100 "AcDbEntity")
(cons 100 "AcDbLine")
(cons 10 sp)
(cons 11 ep)
(cons 8 ly))))
(defun yyaz (ip th ts ly)
(entmake (list (cons 0 "TEXT")
       (cons 100 "AcDbEntity")
       (cons 100 "AcDbText")
       (cons 10 ip)
       (cons 11 ip)
       (cons 40 th)
       (cons 73 2)
       (cons 8 ly)
       (cons 1 ts))))
(defun c:LYL (/ pt1 pt2 ypt)
(llist)
(if (setq pt1 (getpoint "\nReferans nokta:"))
    (foreach nn listlay
      (lciz pt1 (setq pt2 (polar pt1 0 15)) nn)
      (setq ypt (polar pt2 0 2.))
      (yyaz ypt 1 nn nn)
      (setq pt1 (polar pt1 (* pi 1.5) 3.))))(princ))

ehya (15.03.2023 12:54 GMT)

15.03.2023 12:31    

asamet
Mehmet hocam çalıştıramadım. Lyl giriyorum, referans noktası tıklıyorum. Komuttan çıkıyor. Bişey de yapıştırmıyor.

15.03.2023 12:54    

ehya
Küçük bir eksiklik vardı. Düzenledim. Kodu yeniden alabilirsiniz.

15.03.2023 13:48    

asamet
Çok teşekkürler

> 1 <
Copyright © 2004-2022 SQL: 2.218 saniye - Sorgu: 69 - Ortalama: 0.03215 saniye