当前位置:论文写作 > 毕业论文范文 > 文章内容

基于AutoLisp的AutoCAD二次开发自动生成系统图

主题:程序员黑餐馆系统 下载地址:论文doc下载 原创作者:原创作者未知 评分:9.0分 更新时间: 2024-03-20

简介:关于本文可作为程序系统方面的大学硕士与本科毕业论文程序系统论文开题报告范文和职称论文论文写作参考文献下载。

程序系统论文范文

程序员黑餐馆系统论文

目录

  1. 1. 软件目标
  2. 2. 实现方案
  3. 2.1 初始设计条件的设置
  4. 2.2 程序运行逻辑
  5. 3. 关键程序片段
  6. 3.1 相对点坐标计算子程序
  7. 3.2 生成直线、文字子程序
  8. 3.3 插入块子程序
  9. 3.4 删除重复块
  10. 4. 结束语
  11. 程序员黑餐馆系统:PDA,条码数据采集器程序系统开发

(国电南京自动化股份有限公司,江苏 南京 210032)

【摘 要】本文主要阐述了应用AutoLisp语言二次开发AutoCAD自动生成系统图的实现方案.

【关键词】AutoCAD;AutoLisp;二次开发;系统图

0 引言

水汽集中取样分析装置主要应用于发电厂水汽系统化学分析样品的预处理、人工取样,监督热力系统设备腐蚀、积盐情况,保证热力系统和发电机组安全、经济运行.由于各电厂工程配置不同,的系统配置也有较大差异,对于该设备的生产厂家,工程设计人员设计时每个工程项目都需要绘制系统图,工作量大,效率低.

如运用集成在 Autocad 软件内部的AutoLisp 语言开发系统图自动生成软件,使得系统图根据初始设计条件由程序自动绘制完成,将大大提高工程设计人员的绘图效率,既方便、又快捷准确无误.

1. 软件目标

应用AutoLisp二次开发AutoCAD程序,在AutoCAD界面中自动生成系统图,并自动生成明细表.

2. 实现方案

程序读取预设的初始设计条件,根据初始设计条件程序自动配置元器件,并在CAD中绘制相应的系统图,其中各元器件以图块形式预设,最后程序统计元器件块的数量,生成明细表.

2.1 初始设计条件的设置

初始设计条件在EXCEL表格中设置,格式如图1所示:

在初始设计条件表格中设置好样点数量、样点名称以及温度压力等参数,并选取元器件、仪表配置,其中“1”代表本项目有该器件,空白代表无需此器件.

程序运行时,读取表格中的参数信息,并以“扩展数据”的形式储存在当前DWG图纸中,以便于后续程序的调用.

2.2 程序运行逻辑

程序读取初始参数后,在当前CAD中打开“初始模板”,该模板中以“图块”的形式存储了各种元器件的图形信息.

然后,程序进行逻辑运算,根据不同条件进行系统图绘制、插入不同的元器件图块,程序逻辑图如图2所示.

程序根据样点总数依次循环绘制,如果样点温度>200℃则进入高温架的预冷装置,配置高温高压阀门,如果200℃>样点温度>50℃则不进高温架的预冷,配置中温中压阀,两者均需进行冷却器降温,减压阀减压后进入低温屏的恒温系统.如果样点温度<50℃,则不进入高温架,直接进入低温屏的恒温系统.之后程序根据样点的仪表配置,逐条绘制该样点仪表线路,以完成单个样点的系统线路绘制.

待所有系统线路完成后,循环结束,程序根据初始条件判断是否生成扩容器、回收箱等元器件以生成该部分,然后再绘制出母管等管线、生成注解说明文字、插入标准图框,完成系统图图纸部分的自动绘制.

接下来,程序首先对系统图进行预处理,删除重复的直线以及重复的图块,再全选图块,根据块名不同统计图块的种类及数量,也就是元器件的种类及数量,在系统图中按从左到右从上到下的顺序生成序号标注,并在空白区域绘制明细表部分以及接口表部分,插入明细表图框,完成全部功能.

3. 关键程序片段

在该程序程序编写中,除了需要有清晰严谨的系统逻辑.子函数的应用也起到决定性作用.

3.1 相对点坐标计算子程序

程序需要大量相对点坐标的精确计算,采用相对x、y轴位移的方法方便程序的编写.

(defun jspt (pt x y),,,点坐标坐标计算(list (+ (car pt) x) (+ (cadr pt) y)))

3.2 生成直线、文字子程序

程序需要绘制大量的线条和文字和图块,采用entmake方式能有有效提高程序运行效率.

(defun makeline (pt1 pt2),,,生成直线(entmake (list &,acute,(0 ."LINE") (cons 10 pt1)(cons 11 pt2))))

(defun maketext1 (txt pt h w),,,生成文字

(entmake (list &,acute,(0 ."TEXT") (cons 10 pt)(cons 40 h)(cons 1 txt)(cons 41 w)))

3.3 插入块子程序

对于元器件图块,可采用entmake方式快速插入图块,对于一些模块化的局部系统图管线,也可在模板中做好图块,插入后炸开.

(defun makeblock (name pt),,,插入图块(entmake (list &,acute,(0 ."INSERT") (cons 2 name) (cons 10 pt))))

程序员黑餐馆系统:PDA,条码数据采集器程序系统开发

3.4 删除重复块

程序运行需要删除重复的图块,以防止统计数量时出错.

(setq ss(ssget&,acute,((0 ."insert")))),,,删除重复块(setq ss1(ssadd))

(setq ss2(ssadd))(repeat (setq i (sslength ss))(ssadd (ssname ss (setq i (1- i))) ss1))

(while (>, (sslength ss) 0)(setq name (ssname ss 0))(setq ent (cddddr (entget name)))

(ssdel name ss)(ssdel name ss1)(repeat (setq i (sslength ss1))

(setq name1 (ssname ss1 (setq i (1- i))))(setq ent1 (cddddr (entget name1)))

(if (equal ent ent1)(progn(ssdel name1 ss)(ssadd name1 ss2)))))(command "erase" ss2 "")等

4. 结束语

应用AutoLisp语言对AutoCAD进行二次开发,可实现水汽集中取样分析装置系统图程序化、参数化自动生成,图纸布局美观.早期设计人员一两天的工作量,现在仅需几分钟就可以完成,极大的提高了工作效率,图纸准确,版面美观.

该程序也可引申为绘制其他工艺流程的系统图,减少重复工作,进行程序化、模块化、智能化绘制图纸,减少工程设计人员的工作量,提高工作效率.

【参考文献】

[1]吴永进,林美樱.AutoLISP &, DCL基础篇[M].北京:中国铁道出版社,2003.

[2]陈伯雄,冯伟.Visual LISP程序设计技巧与范例[M].北京:人民邮电出版社,2002.

[责任编辑:曹明明]

总结:关于免费程序系统论文范文在这里免费下载与阅读,为您的程序系统相关论文写作提供资料。

程序员黑餐馆系统引用文献:

[1] 本科学术论文检测系统检测系统哪个好
[2] 电大学术论文查重系统检测系统哪个好
[3] 英语期末论文检测系统检测系统哪个好
《基于AutoLisp的AutoCAD二次开发自动生成系统图》word下载【免费】
程序员黑餐馆系统相关论文范文资料