Sayimda, blok ismi listede varsa, blok sayisi yanindaki katsayi ile carpilir, yoksa mevcut blok sayisi alinir. Listede ahsap icin 5 ve celik icin 7 katsayilari var. Bu listeye istediginiz malzeme ve katsayilari ekleyebilirsiniz.
Kod:
(defun c:qw (/ bl ns z bn sr ls)
(if (setq bl '(("Ahsap" 5) ("Celik" 7))
ns (ssget '((0 . "insert"))))
(progn
(repeat (setq z (sslength ns))
(setq z (1- z)
bn (cdr (assoc 2 (entget (ssname ns z))))
sr (vl-position bn (mapcar 'car ls))
ls (if sr (subst (list (car
(setq sr (nth sr ls)))
(1+ (cadr sr))) sr ls)
(cons (list bn 1) ls))))
(foreach m ls
(setq sr (vl-position (car m)
(mapcar 'car bl)))
(princ (strcat "\n" (car m)
" = " (rtos (* (cadr m)
(if sr (cadr (nth sr bl)) 1.)) 2 0)))
)
)
) (princ)
)
Sayimda, blok ismi listede varsa, blok sayisi yanindaki katsayi ile carpilir, yoksa mevcut blok sayisi alinir. Listede ahsap icin 5 ve celik icin 7 katsayilari var. Bu listeye istediginiz malzeme ve katsayilari ekleyebilirsiniz.
Kod:
(defun c:qw (/ bl ns z bn sr ls)
(if (setq bl '(("Ahsap" 5) ("Celik" 7))
ns (ssget '((0 . "insert"))))
(progn
(repeat (setq z (sslength ns))
(setq z (1- z)
bn (cdr (assoc 2 (entget (ssname ns z))))
sr (vl-position bn (mapcar 'car ls))
ls (if sr (subst (list (car
(setq sr (nth sr ls)))
(1+ (cadr sr))) sr ls)
(cons (list bn 1) ls))))
(foreach m ls
(setq sr (vl-position (car m)
(mapcar 'car bl)))
(princ (strcat "\n" (car m)
" = " (rtos (* (cadr m)
(if sr (cadr (nth sr bl)) 1.)) 2 0)))
)
)
) (princ)
)