最近折腾了几天autolisp二次开发;做了一个批量统计数据的程序。为方便后期复盘整理,现将整个过程记录如下。
需求和应用场景分析
一个好的产品需求和应用场景分析有助于我们确定目标;排除过程中的很多干扰。但其实就是两件事:
-
产品的功能和目的:
该类程序主要用于批量操作dwg格式文档,自动统计图纸中所需的信息;并将数据放置于excel表格。从而达到提高统计效率,避免手工统计出错的目的。
-
产品的使用情景:
本实例主要用于以下场景: 在项目出图完成之后,整理加工明细过程中;自动统计发包图纸的图号和零件数量并放置于excel表格中。
例如:有一个项目有100张图需要发包,按以往操作需手工统计每张图纸的图号和对应的加工数量放置于excel表格中。而用程序实现则只需要选择该路径下的任意一张图纸;便可批量提取该路径下面的所有文件信息;极大提高效率。
主要功能模块分析
将整个产品拆分为功能模块能让我心里有底,大概了解项目进度。本次完成上述功能可以分以下三步走:
-
读取单张图纸信息:完成对单张图纸的操作;提取所需要的信息。
-
向excel表格中写入数据:完成将autocad中的数据写入excel表格中。
-
批量操作所有文件:对每张文件进行相同的操作;依次自动完成第一步和第二步。
选择开发工具
俗话说“工欲善其事,必先利其器”;一个合适的开发工具能帮助我们更快更好的完成任务。
-
目前常用开发工具:
目前在autocad二次开发领域,开发工具主要有:autolisp、visual lisp、objectarx、vba、.net。每种工具的介绍网上一大堆;这里主要通过下表进行简单的比较:
- 根据目前现状确定开发工具
作为一枚初学者,经过一番了解之后我确定了本次使用Visuallisp作为开发工具。理由如下:
- 没使用过VB、.NET,而VC基本忘完了;目前也不打算捡起来。
- autocad自身支持lisp开发,并内嵌IDE。而其他开发工具都得单独搭建IDE。
资料收集
本次资料收集主要包括三个种类:书籍、视频、帮助文档。就本次学习中觉得比较好的资料主要有:
以上所有资料均已放置于网盘备份:
视频链接:https://pan.baidu.com/s/1vpmbFxpnmsdVZRUSzCqXZw 提取码:u4w6
文档链接:https://pan.baidu.com/s/1A832pFoUbHv1SvfksSq2BQ 提取码:5p0z
编码测试
-
lisp基础学习
当我们带有实际问题学习一项编程工具时,大可不必一步一步的学习。我们只需要针对我们可能会用到的知识进行学习了解。具体到本次编程过程中基础部分主要学习了以下内容:
- 《AUTOCAD完全应用指南 AUTOLISP+DCL+VISUAL LISP程序设计篇》的第一篇autolisp基础;学完基本能玩一些简单的命令;提取一些简单的特征。
- 看了视频教程的前面的两