python办公自动化实例(四):批量生成CAD图纸

场景

在设计院天天加班画CAD图纸,没有太多自己的私人时间?甲方时不时就改需求,还要求设计院图纸又快又好?你是否需要画一批图纸,图纸的设计内容都相同,但需要修改文字内容,比如修改项目名称、图号、出图日期、某个参数等这些琐碎重复的工作?这时候我们就可以使用程序来代替人工处理了。

实现功能

根据图纸模板、excel图纸设计基本数据,使用python程序批量生成一批CAD图纸。

工具特点:  

  1. 协助设计人员绘图,提高工作效率
  2. 降低错误率,提升图纸质量。比如在经纬度、地址等关键信息上,人工绘图往往通过粘贴、键入等方式,难免出现经纬度错误,施工时出现差错的情况。计算机在数据写入的过程中可以极大的降低出错的概率。
  3. 推动设计院的信息化建设。此工具的运用,可以降低未来信息化建设时员工观念等方面的阻力,提前优化生产流程,方便未来管理信息系统的对接。

实现效果

 使用教程

如下图表格所示,为CAD图纸的基本信息,这批图纸使用同一模板,主体内容相同,只需要修改一些文字内容。

批量生成图纸步骤:

步骤其实只有3步:1.填写表格信息,2.编辑模板图纸,CAD图纸模板可根据自身要求增补及修改,3.运行程序,然后就是见证奇迹的时刻了。

  1. 在CAD图纸快速生成工具excel表格内填写所需修改的信息



    其中,浅灰色部分为表头不可修改,分别表示图纸名称和CAD图纸所在空间(模型空间/布局空间),填写需要批量生成的图纸名称以及模板图纸名称,根据图纸所在的空间(模型空间/布局空间),选择下拉框内容,如下图所示,


    黄色部分为自定义替换文字部分,可根据需求自行增添所需修改内容,在CAD图纸中作为替换标签锚点,用于定位替换文本,如下图所示,分别修改各个图框的“工程名称”、“图纸名称”、“图号”、“经纬度”,等信息如图所示,格式统一为”TiXi-替换内容“。绿色部分,为每个项目CAD图纸的所需基本信息。
  2. 编辑CAD模板图纸,根据需求自行设计绘制并添加替换标签锚点,用于定位替换文本。

    CAD模板图纸根据所在的空间分为模型空间和布局空间模型,在填写CAD图纸信息.xlsx表格信息时,要按照模板图纸所在的空间,正确填写。

  3. 填写好基本信息并保存后,启动CAD软件,待软件启动完毕后,双击batchCAD.exe

     
                     
    实现如下效果,

  4. 此时只需等待程序运行完毕即可,注意,程序运行期间,不要操作CAD软件和CAD图纸快速生成工具.xlsx。程序运行过程如左下图,程序运行完后,生成的图纸位置如右下图所示
                     

注意:由于本人电脑里只有2007版CAD,所以,目前尚未在其他版本CAD上测试。

若在使用工具过程中遇到问题,欢迎沟通。

演示视频:

python批量生成CAD图纸

下载链接:

  • 5
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
实现办公自动化最常用的Python库是openpyxl和pandas。以下是一个简单的例子,可以根据Excel表格中的数据生成报告。 1. 首先,我们需要安装openpyxl和pandas库: ``` pip install openpyxl pip install pandas ``` 2. 创建Excel报告模板,包括表头和表格内容。 3. 使用pandas读取Excel表格数据: ```python import pandas as pd df = pd.read_excel('data.xlsx') ``` 4. 根据读取的数据生成需要的报告内容,比如生成表格、图表等。 ```python # 生成表格 from openpyxl.utils.dataframe import dataframe_to_rows ws = wb.active for r in dataframe_to_rows(df, index=True, header=True): ws.append(r) # 生成图表 from openpyxl.chart import BarChart, Reference, Series chart = BarChart() data = Reference(ws, min_col=2, min_row=1, max_col=4, max_row=6) cats = Reference(ws, min_col=1, min_row=2, max_row=6) chart.add_data(data=data) chart.set_categories(cats) ws.add_chart(chart, "A10") ``` 5. 最后保存生成的报告。 ```python wb.save("report.xlsx") ``` 完整代码示例: ```python import pandas as pd from openpyxl import Workbook from openpyxl.utils.dataframe import dataframe_to_rows from openpyxl.chart import BarChart, Reference, Series # 读取Excel数据 df = pd.read_excel('data.xlsx') # 生成报告 wb = Workbook() ws = wb.active # 生成表格 for r in dataframe_to_rows(df, index=True, header=True): ws.append(r) # 生成图表 chart = BarChart() data = Reference(ws, min_col=2, min_row=1, max_col=4, max_row=6) cats = Reference(ws, min_col=1, min_row=2, max_row=6) chart.add_data(data=data) chart.set_categories(cats) ws.add_chart(chart, "A10") # 保存报告 wb.save("report.xlsx") ``` 这只是一个简单的例子,实际应用中可以根据需要进行更多的定制化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值