opendcl版的统计属性块数量
;统计属性块数量 2014.1.18 需安装opendcl才能使用(defun c:tjk ()
(command "opendcl")
(setq odcl '("YWt6AyQHAAD2O6cjBuIL7bUxLT9quMF1U/IWTty4++VkT2bLJhZzw1AiZhwC/p5dV/U4ErU7/zx3"
"X6TObulaxg/ddaOGeRZKj+/GqvPQinFODzWcDZ+8WYvi3wqQg9yJGBCYSaGy502h58XHyCT9yhOD"
"RvJCoCHFyQJfoQtP6dUeaH8YTvhstEZAqfN/4r3OsBPguVrYnn8GpXQSrvByCYS23DFo8r05ZPnu"
"6hF0ROQ6OPxrElFVEXjDrJXtTyEY8vfs6Cs7h3jM4zPX2G9N3HtMXV0VLNxY+62MaBI68yzq4BEZ"
"hkjcUTM5C2mTFbJS5M4v/RTciKd3nbceg29XAHJrsh9kQ04BrixpQiMakGwhXyBe0G/BXcBkn2Nb"
"T8BaCPC8m070X8+A+sp3sjVVNndYzl4g5qVqk3gP9WmbIdop9yHfHaP5xF+YUhyVPZTmJwq40zYj"
"snW6bwQy+a3p2hnkwyY6ATiEbbmhKwE0hB2sAS1AxV3bpeR2o6SnnrOzeoqT6zWvXakc8zgeIDko"
"v5LzkBxR9iSt0F05hvzmjRwAK/QPKvQqqxWMcZ3kHmT5QDY32YARlDFLS5gyqw4YtpdkqkI6qqo5"
"atHz5vXKu8/zSW1HoNg/h8dtrFC1T7WMWK5RoTVOsSNgQUqxUpNtVAAr9Qn1ioPquQhEqc6d0bR5"
"YslXWfeJL4LpmrVn9MH1tKBjVIXclmE2oT2VMUXA0JlFm6awZ15gWkA3ki2AAlPFNnEjrWubRoOh"
"iZcBAD6iMCIQuskPs2qPCh1BkeWoxTyEWg/vnFFvmfZ9nBucRboHnDFzwagGq5sdg4QyhwM6FfpF"
"F4NpCSDV8TmJrZlRh8eDKg=="))
(dcl_project_import odcl nil nil)
(dcl_form_show ck_Form1)
(princ)
)
(defun c:ck_Form1_OnInitialize (/)
(setq
bkname (assoc 2 (entget (car (entsel "\n指定要统计的属性块:"))))
)
(setq lst1 nil
lst2 nil
)
(setq ss (ssget (list '(0 . "INSERT") bkname)))
(setq ssn 0)
(repeat (sslength ss)
(setq ss2 (cdr (assoc 1 (entget (entnext (ssname ss ssn))))))
(setq lst1 (append lst1 (list ss2)))
(setq ssn (1+ ssn))
)
(while lst1
(setq lst2
(append
lst2
(list
(list (car lst1)
(- (length lst1)
(length (setq lst1 (vl-remove (car lst1) lst1)))
)
)
)
)
)
)
(setq str1 " ")
(setq str "")
(foreach x lst2
(setq str (strcat str
(setq str2 (car x))
(substr str1 (1+ (strlen str2)) (strlen str1))
" "
(rtos (last x) 2)
"\r\n"
)
)
)
(dcl_Control_SetText
ck_Form1_TextBox1
(strcat "属性值" (setq str1 " ") "数量\r\n" str)
)
(princ)
)
opendcl太麻烦,用的时候还要安装多一个opendcl 不错,我比较喜欢opendcl的 界面了,毕竟比较丰富些 可惜没有纯LISP的属性块统计.................... 不过这个有界面,还是挺好的。值得再扩展 里面的乱码好吓人
页:
[1]