编辑:钻石海 丨出品:电气CAD吧

各位好!
自《图纸生成器》发布以来,至今已接近一年时间。在这段时间里,我们持续进行了多项优化与功能升级,目前该工具已成功应用于十余家中小企业的实际项目中。特别是最新发布的 2.0 版本,我们将面向对象的设计理念引入模板开发中,极大地提升了系统的灵活性与可扩展性。
在本次介绍中,我将以一个实际需求“制作表格”为例,带大家深入了解 2.0 版本中所引入的核心功能,并希望通过这个案例,帮助大家实现举一反三,最终达成自动化出图的目标。
面向对象编程(OOP)的三大核心特性为:
封装、继承、多态。接下来我将逐步展开讲解,并结合《图纸生成器》的具体应用进行说明。

一、创建单元格宏

首先,我们需要定义表格的基本组成单元——单元格。我们建议从宏项目中创建该单元格,以便后续的统一管理。该单元格将成为整个表格构建的最小单位。


该单元格由以下三个部分组成:

  • 一个文本对象,内容为 ?GNWB1
  • 一个黑色实线矩形框;
  • 宏边框;

其中,?GNWB1 是一个以问号开头的占位符属性,用户可根据需要自定义命名,支持中英文字符。
宏边框可通过右键菜单将基准点调整至左上角(虽然默认为居中,但该操作可根据需求进行调整),并在宏名称中指定保存路径即可完成配置。
单元格的初始位置需根据实际图纸布局进行设定,因为生成表格时,默认将以该位置作为起点。

二、配置图纸生成器插件

在使用《图纸生成器》前,请确保已在 EPLAN 中安装插件。如尚未安装,请访问插件商店官网 https://www.cad-bbs.cn/pluginstore/ 下载并安装插件商店,随后从商店目录中加载“图纸生成器”。请注意,该插件需商店会员授权方可使用。
首次启动插件后,界面为空白状态,因此需要点击右上角的“齿轮”图标进行配置:

  • 页属性(Page Properties):勾选决定表格插入目标页的结构属性,例如 <3014>修改保护 属性将影响宏是否可被修改;

  • 待查找的属性(Properties to Search):定义插件检索图纸对象时所使用的属性 ID,如 <20011>功能文本

  • 待修改的占位符(Placeholders to Replace):指定在插入宏时需识别的自定义占位符,如 ?GNWB1。若为自定义名称且未在列表中,可通过“+添加”按钮手动添加;

  • 默认路径(Default Path):指定宏库的存储位置,即第一步中保存的单元格宏所在目录。
  • 模板文件:配置完成后,点击“模板设定”中的“导出模板并启动 Excel”,选择文件保存路径后即可导出 Excel 配置文件进行编辑。

三、构建表格配置文件

在完成基础配置后,我们以一个 5 行 × 5 列的表格为例进行配置。首先在Excel图纸配置文件中选择上一步导出的表格配置.xlsx,点击“预览文件”将打开模板编辑界面。

操作方式与常规 Excel 类似,唯一需要注意的是以下两个属性:

  • <?HSTEP>:水平偏移倍数,基于宏边框宽度进行偏移;
  • <?VSTEP>:垂直偏移倍数,基于宏边框高度进行偏移。
    偏移方向遵循如下规则:向右或向上为正值,向左或向下为负值。

四、面向对象特性应用演示

1. 封装(Encapsulation)

封装是面向对象设计的核心概念之一,它将对象的状态与行为封装为一个独立单元,并对外隐藏实现细节。
在本例中,标题行作为一个完整的逻辑单元,无需每次生成时重复配置。我们可选中相关行,点击工具栏中的“封装”命令,将其保存为独立的宏模块文件(如
标题行.xlsx)。后续使用时,只需拖拽该文件即可快速调用。

2. 继承(Inheritance)

标题行.xlsx 中,我们原本定义了“标题1~5”的文本内容。然而在实际应用中,这些内容可能需要动态变化,如“电机”、“控制”等。为此,我们引入特殊符号 <!>,表示读取父对象的值。
插件会自动读取父对象的文本内容,并拼接后续字符串,从而实现动态继承效果。

3. 多态(Polymorphism)

多态特性允许子对象根据上下文动态决定其行为。例如,在 标题行.xlsx 中,属性 <1200>位置代号<11000>页名 不应被固定,否则表格将只能插入到特定页面。
为实现灵活配置,我们清空这两列的值。插件在检测到空值时,将自动读取父对象所在单元格的值;若单元格有值,则优先使用该值。通过此机制,实现了属性值的动态多态。
最终,
标题行.xlsx 的内容如下图所示:

五、生成表格

完成上述对标题的编辑后,接下来在父配置文件中填写相应内容,即可生成完整的表格。以 5 行 5 列为例,配置文件如下:

点击“开始创建”,系统将根据配置自动生成高度定制化的表格并插入到图纸中。


总结

尽管本次演示的需求较为简单,但它清晰地展示了《图纸生成器》2.0 版本中面向对象设计理念的应用方式。在实际的自动出图项目中,这些特性将被广泛运用,从而显著提升设计效率与模板复用性。
后续我将持续推出更多应用示例,希望能为有自动出图需求的工程师们提供切实可行的参考与启发。
感谢您的关注与支持!


如需进一步定制或技术协助,欢迎随时联系。

发表回复

登录... 后才能评论