youngsoo
2008-03-20, 03:45 AM
Plase help me. It is not working.
(defun cross()
(setq pt1 (getpoint "\nSelect object first point"))
(setq pt2 (getcorner pt1 "other point"))
(setq ebl (ssget "c" pt1 pt2 (list (cons 0 "INSERT") (cons 2 bna))))
(setq nl (sslength ebl))
(setq n (- nl 1))
(setq ctts 0)
(while (<= i n)
(setq ed (entget (setq e2 (ssname ebl i))))
(setq bna0 (cdr (assoc 0 ed)))
(if (= "INSERT" bna0)
(progn (setq bna1 (cdr (assoc 2 ed)))
(if (= bna bna1)
(setq ctts (+ ctts 1))
)
)
)
(setq i (1+ i))
)
(prompt (strcat "\nBlock quantity [(Block name "bna")] Total = "))
(prin1 ctts)(prompt " EA\n")
(prin1)
)
(defun c:bcq ()
(setq i 0)
(setq blk1 (car (entsel "\nSelect of object to Block quantity produce")))
(if (= blk1 nil)
(setq bna (strcase (getstring "\nType for Block name : ")))
(setq bna (cdr (assoc 2 (entget blk1))))
)
(setq tex (getkword))
(if (or (= tex "C") (= tex "c"))
(cross)
)
)
(defun cross()
(setq pt1 (getpoint "\nSelect object first point"))
(setq pt2 (getcorner pt1 "other point"))
(setq ebl (ssget "c" pt1 pt2 (list (cons 0 "INSERT") (cons 2 bna))))
(setq nl (sslength ebl))
(setq n (- nl 1))
(setq ctts 0)
(while (<= i n)
(setq ed (entget (setq e2 (ssname ebl i))))
(setq bna0 (cdr (assoc 0 ed)))
(if (= "INSERT" bna0)
(progn (setq bna1 (cdr (assoc 2 ed)))
(if (= bna bna1)
(setq ctts (+ ctts 1))
)
)
)
(setq i (1+ i))
)
(prompt (strcat "\nBlock quantity [(Block name "bna")] Total = "))
(prin1 ctts)(prompt " EA\n")
(prin1)
)
(defun c:bcq ()
(setq i 0)
(setq blk1 (car (entsel "\nSelect of object to Block quantity produce")))
(if (= blk1 nil)
(setq bna (strcase (getstring "\nType for Block name : ")))
(setq bna (cdr (assoc 2 (entget blk1))))
)
(setq tex (getkword))
(if (or (= tex "C") (= tex "c"))
(cross)
)
)