文档库 最新最全的文档下载
当前位置:文档库 › AutoCAD导出块名和块插入点列表(AutoLISP源码)——好用的AutoCAD块统计工具

AutoCAD导出块名和块插入点列表(AutoLISP源码)——好用的AutoCAD块统计工具

;----------------------------------------------------------------------------------------------------
;错误处理,按处理--程序静静取消。
;----------------------------------------------------------------------------------------------------
(defun *error* (s)
(if (/= s "函数已取消")
(princ (strcat "\n错误: " s))
)
(setvar "cecolor" oldcolor)
(princ)
)
;----------------------------------------------------------------------------------------------------
;说明:随意选择,筛选出选择到的块,导出块插入点和块名称列表。在命令行输入“dck”,输入文件名,程序自动
;将选择区所有块的名称和插入点坐标导入到TXT文件中。形成的文件可以直接贴在excel中进行筛选统计。
;----------------------------------------------------------------------------------------------------
(defun c:dck ()
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(prompt "\n.\n.\n.\n>>>>>>>>>>请选择点实体(程序自动过滤):")
(setq ent_set (ssget '((-4 . ""))))
(setq dc_file (getfiled "选择点坐标文件" "" "txt" 1))
(setq x (open dc_file "w"))
(write-line (strcat "序号" " " "块名称" " " "X-横坐标" " " "Y-纵坐标") x)
(setq xh 1)
(setq set_length (sslength ent_set))
(prompt"\n.\n.\nwait...")
(princ)
(setq count_block 0)
(while (> set_length 0)
(setq list_ent (entget (setq pn_ent (ssname ent_set (- set_length 1)))))
(setq p_list (cdr (assoc 10 list_ent)))
(setq n_block (cdr (assoc 2 list_ent)))
(setq pt_list (strcat (itoa xh) " " n_block " " (rtos (car p_list) 2 6)
" " (rtos (cadr p_list) 2 6)))
(write-line pt_list x)
(setq count_block (+ count_block 1))
(setq xh (+ xh 1))
(setq set_length (- set_length 1))
)
(close x)
(prompt "\n\n>>>>>>>>在百度文库查找“in_city”,下载更多Autolisp程序。")
)
;----------------------------------------------------------------------------------------------------












相关文档