明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 836|回复: 1

[源码] 将指定块的“ATTDEF"信息写入Excel.csv中

[复制链接]
发表于 2019-10-13 15:12:54 | 显示全部楼层 |阅读模式
刚刚开始学,程序很笨了,请各位老师多指点
功能的目的是将图块中增强属性中的文字写入到csv文件中,后面再借助Excel的函数对数据进行处理。
AutoCAD时间长了,接触到一些插件,总觉得不适合自己的使用习惯,也不是说这些插件不好,只是不适合我吧
我是做弱电工程的,需要在图纸上布放大量的点位,这些点位都有独立的标签,根据点位的性质不同,标签包括的信息也不尽相同,大致包括:设备标签及端口、对端标签及端口、IP地址等。要求图纸和标签规划表必须一致,同时与现场施工也要一致,在没接触autolisp以前,花大力气找图纸与表格文本的错误,接触后,发现问题简单多了,尤其是这种简单重复工作,原来是最花时间,却最没价值的工作,终于找到思路了,可以真正做到把时间用在方案优化上了,打算设计一个小插件,大体思路如下:
1、定制标准图块,将标签信息写入到图块的增强属性中;
2、图纸上插入图块;
3、插件根据输入预先设计好的程序对标签进行自动填写;
4、图纸审核后,将所有标签导出的Excel表格中;
5、打印标签,交付施工班组执行;
修改标签的主程序基本成形,只是写的不满意,还要再仔细查查,再上传上来,请各位老师帮忙优化,
先将表格表头制作部分的上传上来,请老师帮优化
  1. (defun Make-Exceltitle (blk_n  / temp0 a ent_type)
  2.     (setq temp0 (strcat "Block_info_" blk_n "_" (itoa (fix (getvar 'cdate)))))
  3.     (findfile temp0)
  4.     (setq a (strcat "保存图块:" blk_n "信息->Excel"))
  5.     (setq path (getfiled a temp0 "csv" 1))
  6.     (setq file (open path "a"))
  7.     (setq a (tblobjname "block" blk_n))
  8.     (setq temp0 "序号,")
  9.     (while (/= a nil)
  10.         (setq ent_type (cdr (assoc 0 (entget a))))
  11.         (if (= ent_type "ATTDEF")
  12.             (setq temp0 (strcat temp0 (cdr (assoc 2 (entget a))) "," ))
  13.             )
  14.         (setq a (entnext a))
  15.         )
  16.     (write-line temp0 file)
  17.     (close file)

  18.     )



发表于 2019-10-14 09:51:29 | 显示全部楼层
自己使用管他笨不笨呢,能整出来用就行了啦,至于优化等自己学多了再优也不迟
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-18 15:54 , Processed in 0.152851 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表