Lisp自动画梯形_基于AUTOLISP语言自动排样程序设计.doc

基于AUTOLISP语言自动排样程序设计

基于AUTOLISP语言自动排样程序设计

【摘 要】AutoLISP程序语言是AutoCAD的二次开发软件之一。它应用灵活,语法简单易学,具有强大的函数功能及绘图功能。用户通过Auto LISP程序的编写来强化AutoCAD原有命令或是处理参数式绘图,从而实现大幅度提高绘图效率的目的。基于AutoLISP程序语言编写的自动排样程序比较全面的展示了AutoLISP语言的特点。并且在钣金材料数控切割生产过程中发挥巨大作用,能够最大限度的提高材料利用率及工作效率。

【关键词】AutoLISP AutoCAD 二次开发 数控切割 自动排样 逻辑判断 阵列

1 AUTOLISP程序语言特点

AutoCAD应用于机械设计、土木建筑、地理地图、服装设计等各个行业。但往往在应对各行业相对独特的绘图需要时却力不从心。而Auto LISP就是一种用来扩展AutoCAD功能、定制AutoCAD和开发AutoCAD的程序语言。用户通过AutoCAD提供的程序应用界面,以AutoCAD为平台,利用AutoLISP语言发展特殊的应用程序,实现独有绘图功能。

相比其他程序语言,Auto LISP具有其鲜明的特点:

语法非常简单且风格独特;

功能函数强大,除一般性的功能函数外,还拥有控制配合AutoCAD的特殊函数,并可以直接调用执行所有AutoCAD的命令;

撰写的环境不挑剔,只要一般的窗口文本编辑软件都适用;

直译式程序,不用再作编译,即写即测,即测即用,马上可以在AutoCAD中响应效果。

钣金材料数控切割生产中的自动排样程序较为复杂,比较全面的展现了AutoLISP语言的特点。自动排样程序的设计是为了满足钣金材料的数控切割过程中能够最大限度的提高材料利用率及工作效率的需要。在自动排样程序中将相对规则的零件划分为圆形、三角形、平行四边形、梯形四类。它们排样程序设计的思路与方法大同小异,本文以三角形零件的自动排样为例,介绍其程序设计的思路与方法。

2 程序设计思路与方法

2.1排错主程序PAIYANG

为方便维护与除错,程序共建立了4个模块,分别为:排错PAIYANG主程序、数据处理DATA子程序、初始化判断PANDUAN子程序、阵列ARRAY子程序。

排错PAILIAO主程序中具有进行总程序的统筹、调用功能,另外还具有排错功能。在系统初始化之后,主程序立即进行数据计算及逻辑判断,看材料尺寸是否与零件相匹配。如果不符合排样的最基本要求则返回系统变量输入状态,重新输入变量进行排样,避免程序死循环。流程图见图1。

2.2数据处理子程序DATA

数据处理DATA子程序主要完成零件图形集的数据读取和预处理并输出,为进一步的排样工作做准备。图形预处理如图2所示。

2.3初始化判断子程序PANDUAN

程序采用单排法和旋转混合算法计算出各种排料结果,并进行方案比较。在只采用单排算法时,有两种排样结果,即:横向排样与纵向排样。在材料尺寸和零件尺寸相同的情况下,横向单排与纵向单排的排样总数可能相同也可能不同。程序的方案比较功能会在这种情况下自动的选择排样总数最大、材料利用率较大的一种排样形式进行排样。另外,在实际生产过程中,经常会遇到这样的情况,就是在进行完横向单排或纵向单排以后,材料一边的余量还较大,还可以通过零件图形编辑转换,在材料余量内进行再排样,显然排样结果会使材料利用率更大些。这就要求单排排样与旋转混合排样结合起来,达到最佳的排样结果,使材料利用率尽可能高。能够旋转组合排样是这一程序软件的主要优势之一,但也是该程序编制的主要难点之一。程序流程图见图3。

2.4阵列子程序ARRAY

本段程序采用正排和倒排分别阵列的方式来组成一个完整的排样图形。首先建立正排和倒排的基图,然后根据计算结果阵列正排图形,接着阵列倒排图形。接下来对余量进行排样。在进行完方案比较以后,将我们在前面作好的四种方向的基图进行选择,选择合适的基图,并按事先算出的基点插入图形。当然,如果算出的余量不足以再排样,那么这一步省略。然后进行余量排样,阵列选定的基图。流程图见图4。

从ARRAY子程序流程图中可以看出,这个程序断的逻辑判断多、程序执行的步骤多。但大体上四种排样过程大致相同,主要区别是主次嵌套。

ARRAY子程序主要进行排样的过程,这也是该系统的核心部分。程序思想:采用逐次If嵌套、逐次比较排样的方法。如果排样总数 amass1为四种状况下排样总数的最大值,则进行单排排样赋值准备工作。然后先进行单排,在单排之前先判断需阵列的列数和行数,如果两者至少有一项大于1则进行阵列,否则将不进行阵列。在进行完单排排样之后,判断余量是否可进行排样,如果可以再排样,则进行旋

注意不是书籍,是随书源代码 《autocad完全应用指南.autolisp+dcl+visual lisp程序设计篇》重点讲解autolisp、dcl、visual lisp三合一的autocad二次程序开发技术。《autocad完全应用指南.autolisp+dcl+visual lisp程序设计篇》分为4篇,共35章。第1篇(第1~10章)为autollsp程序设计基础篇,主要介绍了autollsp的基本结构、语法、功能函数、对象属性、循环、判断式、子程序、选择集、符号表、读文件以及写文件等autolisp程序设计的相关知识与技巧。第2篇(第11章)为62个精选实用autolisp程序设计范例,通过精讲62个autolisp程序设计范例,让读者将autolisp知识融会贯通。第3篇(第12~21章)为autolisp与dcl对话框整合应用,主要介绍了dcl的基础知识、dcl对象属性的定义速查、autolisp掌控dcl的关键技巧;还介绍了编辑框、按钮和文字、切换开关、单选按钮、列表框、下拉菜单、图像,图像按钮及滑动条的设计技巧;另外介绍了新手常犯错误分析及应对技巧。第4篇(第22~35章)为visuallisp程序设计应用与整合,主要介绍visual lisp的基本环境、重要函数和程序调试;还介绍了autocad activex对象控制以及visual lisp在e2d、3d、文字编辑、图层管理、块与属性管理、options选项控制、excel及word中的应用;最后介绍了visual lisp应用程序的创建与维护。   《autocad完全应用指南.autolisp+dcl+visual lisp程序设计篇》语言风趣生动,内容全面,是一本不可多得的完全学习指南。它可以帮助读者扎扎实实学好autolisp+dcl+visual lisp程序设计,迅速提升读者的设计效率及绘图品质。《autocad完全应用指南.autolisp+dcl+visual lisp程序设计篇》非常适合autocad的初、中、高级读者使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值