版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
二维下料优化系统设计2-DCuttingStockDesignOptimizationSystem目录摘要IABSTRACT I第1章绪论1开发背景及意义1系统开发工具简介2系统概述2第2章系统模型的建立及求解3模型的建立3线性规划模型的求解4确定初始可行解4确定毛坯价值向量4排样方式的形成5模型的计算机求解步骤6第3章系统的开发及实现83.1设计思想83.2功能模块的划分83.3数据库实现93.4功能与应用背景103.5二维下料优化系统的实现103.5.1添加公共模块113.5.2欢迎模块的实现113.5.3系统主模块的实现133.5.4产品分类模块的实现153.5.5方案图表生成模块的实现163.5.6方案图形生成模块的实现173.6二维下料优化系统特点19结论21参考文献23摘要下料车间切割下料前的手工制图需要花费大量的人力,而且手工制图即使花费很长的时间还很难找到板材资料最大利用率的解决方案,以至于切割时浪费了大量材料。基于上述问题,系统设计主要研究利用背包函数寻求二维排样的最优解决方案,并用VB绘制方案图形。本文介绍了一个快速寻求二维下料最优方案的系统软件,它可以减少企业的人力消耗、提高原材料的利用率,进而提高企业的经济效益。论文首先在调研的基础上分析了车间切割生产的现状,介绍了系统的开发背景和开发工具;然后详细介绍了系统模型的建立、线性模型的求解及模型的求解步骤,论述了算法的正确性和排样方式的生成过程;随后重点介绍了系统的各模块功能的设计过程与实现,并给出了核心模块的主要方法实现过程。论文最后分析了系统的特点,概括了系统的优点,也指出了系统不足之处及改进方法。关键词背包函数,二维排样,最优解方案,线性模型ABSTRACTBeforemanualdrawing,workshopofcuttingmaterialneedstospendalotofmanpowerandthemanualdrawingspendsmuchtime.Butitisverydifficulttofindinformationsheetutilizationofthelargestsolutioncutting,whichcauseswastageofmaterials.Basedontheproblemsmentionedabove,thesystemdesignmainlystudieshowtousebackpacksfunctionfortheoptimalsolutionoftwo-dimensionallayout.AndprogramfiguresaredrawnbyVB.Thispaperintroducesaquicksearchoftheoptimaltwo-dimensionalmaterialssystem.Theprogramcanreducehumanconsumptionofenterprise,improvetheutilizationofrawmaterialsandincreasethebenefitofenterprises.Firstly,thispaperanalyzedcurrentcuttingproductionworkshop,andintroducedthebackground,developmenttoolsofthesystem,thesystemmodelandthelinearmodel.Andthesolutionstepsofthemodelsareintroducedindetail.Secondly,itdiscussesthevalidityofthewaysandtheproductionprocessofcuttingpatterns.Afterthat,itfocusesonthefunctionofthesystemofthemoduledesign,implementation,andthecoremoduleofthemainwaystoachievetheprocess.Finally,thispaperanalyzedthecharacteristicsandtheadvantagesofthesystem.Itpointsoutthedeficienciesandthemeasuresoftheimprovement.Keywordsbackpackfunction,two-dimensionallayout,optimalsolution,linearmodel第1章绪论在当今制造业中,存在着各种各样的浪费现象,其中最多的就是切割下料时造成的浪费。现在计算机在各个行业的应用得到普及,为了减少浪费,提高板材利用率,开发一种软件用来对下料过程进行优化,并能有效的对零件进行管理是十分有必要的。也就是采用计算机辅助排样技术来提高板材利用率。计算机辅助排样,又称为CAN<ComputerAidedNesting>,和计算机辅助设计一样,是广泛应用的计算机辅助技术之一。CAN的作用,就是设计最优排样方案以提高材料分割时的利用率。本系统即基于VB<VisualBasic6.0>开发平台和Access数据库的二维排样优化系统。开发背景及意义现在下料车间板材浪费的主要原因是切割下料技术和下料方式过于旧,基本上还使用传统的手工切割生产方式。随着科学技术的日益发展,计算机在制造业中也扮演着越来越重要的角色。为了提高下料生产率,开发软件用来对下料过程进行优化,并能有效的对零件进行管理是很需要的。即采用计算机辅助排样技术CAN<ComputerAidedNesting>来提高板材利用率。排样问题的类型有:〔1〕一维半排样问题,又称卷材排样问题,是指被分割的材料宽度较小,长度很大。布匹、纸、皮革、塑料、金属网、金属薄板等,都可以以卷材的形式供应。在分割过程中,通常先沿着卷材的长度方向,将其分割成很长的条带,然后再将条带分割成较小的毛皮。〔2〕二维排样问题,又称为板材排样问题,是指将板材分割成各种形状的毛坯。这些毛坯可以是矩形、圆形、扇形等规则形状,也可以是不规则形状。〔3〕三维排样问题,在这个问题中,材料与毛坯都必须按立体形状处理。典型的应用领域包括木材加工业,在那里需要将圆木分割成尺寸较小的方木。现代切割技术有别于传统的手工切割技术,她是基于现代计算机信息技术,针对不同的切割下料设备,对传统切割技术加以改进提升,以余料数据库管理为核心的计算机辅助切割生产和管理软件,以有效提高板材综合利用率,提高切割效率和切割质量,强化企业的切割生产管理。相应而生的现代切割技术。为此对板材二维下料作了初步研究分析,并初步制作了一个有关矩形下料方面的软件。系统开发工具简介在这里使用VB<VisualBasic6.0>作为开发工具,用VB和Access数据库来完成系统的开发。VB是当前Windows平台上的快速开发工具。无论是企业级用户还是个人开发者,都能够利用VB轻松、快捷地构建企业应用。VB具有以下优点:〔1〕VB的语法简单易学,很容易上手。〔2〕VB提供了强大的可视化编程能力,可以轻松地做出漂亮的程序。〔3〕众多的控件让编程变得像搭积木一样简单。系统概述首先进行数学模型分析、建立数据模型并实现计算机的计算求解。实现的逻辑过程步骤如下:〔1〕根据我们的问题建立线性规划模型。〔2〕求解线性规划模型关键即求解背包函数问题。〔3〕寻求几种求解背包函数问题的解法进行方案比较,选取合适的解法。〔4〕用VB语言设计计算求线性规划方程的解的过程。数据库信息管理主要包括:用Access建立毛坯零件数据库;用VB语言及控件毛坯数据库;用VB语言对毛坯数据库数据进行管理分类;VB语言引用毛坯零件数据库数据进行线性规划模型的求解。系统界面设计方面,在窗体上合理布局各个控件以便于用户的使用,为各个控件编程,实现其相应功能。排样图形的生成设计过程,首先对计算结果数据的分析,找其规律进行引用,然后用VB语言的line控件绘制排样图。第2章系统模型的建立及求解二维下料系统有很重要的实际意义,一旦把它用于生产,将会产生巨大的经济效益。目前市场上也出现了各种版本的优化软件,软件质量的好坏取决于优化率和优化速度,归根到底,也就是所采取的计算方法,即优化系统数学模型的建立问题。由此看来,数学模型的建立是本系统开发的关键。二维下料优化系统具有计算速度快 ,利用效率高的优点,这和它优秀的计算方法是分不开的,当然它也有其不足的地方:〔1〕其解也只是一种近似最优解。〔2〕由于是初步研究,目前我们的软件的计算前提是所用板材规格单一,只考虑了矩形毛坯且板材所用数量不限制。下面我们就详细介绍数学模型的建立及计算机求解过程。模型的建立下料问题是把相同形状的一些原材料分割加工成若干个不同规格大小的零件的问题,此类问题在工程技术和工业生产中有着重要和广泛的应用。生产实践中,经常会遇到如钢板、木板等板材的下料问题,即如何根据原材料的长度、零件的尺寸以及需求量确定出使原材料消耗最少的最优下料方案。在生产能力容许的条件下,以最少数量的原材料,尽可能按时完成需求任务,同时下料方式数也尽量地小。由于是初步研究矩形毛坯排样系统的设计原理,我们建立的数学模型:不考虑板材所用数的约束,在讨论生成排样方式时,只考虑单毛坯条带整板直切排样方式,是初步对板材排样系统的开发研究。首先定义如下符号:L 板材长度H 板材宽度m 毛坯种数n――考察排样的方式数li 第i种毛坯的长度,1<i<mhi 第i种毛坯的宽度,1<i<mbi第i种毛坯的需求量,1<i<mBB=[b1,b2,—.,bn]T,bj表示第i种毛坯的需求量,1<i<mX X=[x,x,…乂]t,x.表示第j种排样方式切割的板材数,1<j<n。12 n jCC=[c,c,・・・c]T,c.表示第j种排样方式所使用板材的单面积,12 n j如果只用一种板材,可令Cj=LxH,1<j<n。〈本系统设计只考虑一种板材>Am行n列矩阵,其元素aij表示第j种排样方式每板材含第i种毛坯的数量,1<i<m,1<j<n。矩形毛坯排样的线性规划模型如下:minz=CX <1-1>其中 AX>B X、0线性规划模型的求解根据线性规划理论,模型〔1-1〕可以按照下述步骤求解:确定初始可行解初始令A为单位矩阵,初始可行解为X=B,第i种排样方式只包括第i种毛坯一个,不包括其他毛坯,i=1,2,3,…m。采用这种方式处理后,模型中的排样方式数等于毛坯整数,即m=n。确定毛坯价值向量令V=CA-i=[V],v2,…飞]寻求可能使目标函数改变的排样方式设当前考察的排样方式P=[P],P2,…,Pn]T,Pi表示含第i种毛坯的数量,1<i<m。根据线性规划理论,若LH-VP<0,引入排样方式P可能改善目标函数。寻求排样方式p以便改善目标函数的问题,可归纳为求解如下数学模型:w=max〔£vipi〕 〔1-2〕i=1其中P为可行的排样方式〔1-2〕若LH-w<0,根据线性规划问题求解法则,用排样方式P置换矩阵A中的一列〔设为第k列〕,并令C=LH,转步骤2;否则已不存在可以使模型〔1-1〕k改善的排样方式,当前解为最优解。应该如下确定A中被置换的列的序号:min{xi/pi|pi>0}=Xk/pk <1-3>i<x/pi最小说明以Pi方式切割所剩面积最大,所以置换pi>排样方式的形成〔1〕确定当前毛坯的宽度和价值向量矩形毛坯li,hi对应于两种宽度的条带,其宽度分别为hi和1门=1,2,…,m。用:W=[W1,W2,^W2m], U=[u1,U2,・・・U2m]分别记录当前条带的宽度向量和价值向量 ,用int<x>表示不大于x的最大正整数,则有:w^1=h.,w,=l.;u1=v.*int<L/h.>,u=v.*int<L/l>,i=1,2,…,mTOC\o"1-5"\h\z2i-1i2ii2i-1i i 2ii i〔2〕确定排样方式P设方式P的条带构成由向量Y=[y],y2,…,y2JT反映,yi表示第i中条带的根数,1<i<加。如果已知Y,由于一种条带只包括一种毛坯,就可以经过简单的计算,确定排样方式P。可通过求解如下数学模型得到向量 Y:w=max<西uiyi> <1-4>i=1其中£uiyi<H, 为非负整数,i=1,2,…很山i=1模型〔1-4〕为背包问题,相应的背包函数如下:F〔x〕=max{uiyi;yi为非负整数,wiyi<x}i=1 i=1上述模型可用如下递推公式求解:F<x>=0;Q<x>=0;X<=H时F<x>=max{u1+F<x-w1>,u2+F<x-w2>,…,u2m+F<x-w2m>}如果根据上式,F<x>=u+F<x-w>,则令Q<x>=k,1<k<m,最优解w=F<L>kk这里对于给定的任何x,用Q<x>记录实现F<x>的路径。实现F<x>的路径由x1,x2,…,x=x给出,这里x.’=x.-w,,k=Q<x>,j>2。可以从Q<H>开始,r j-1jk j根据Q<x>进行反向追踪,得到在最优路径众所含各种毛坯的个数。从而决定各决策变量的值。模型的计算机求解步骤根据线性规划理论,模型〔1-1〕可以按照下述步骤求解:〔1〕定义数组分别代:B--B=[bl,b2,…,bm]T,bi表示第i种毛坯的需求量,1-i-mX--X=[xl,x2,-^xm]T,xj表示第j种排样方式切割的板材数,1-j-m°C--C=[c1,c2,…切]t,cj表示第j种排样方式所使用板材的单面积,如果只用一种板材,可令cj=L*H,1-j-m°A--m行n列矩阵,其元素aij表示第j种排样方式每板材含第i种毛坯的数量,1-i-m,1-j-n°此时令n=m,并令A向量为单位矩阵。hi--第i种毛坯的宽度li一第i种毛坯的长度li,hi--对应于两种宽度的条带V一V=C*At=[v1,v2,v3 ,vm]W一[w1,w2,w3 ,w2m],w2i-1=hi,w2i=li, 宽度向量<i=1,2,3…..山〉U一[u1,u2,u3 ,u2m],u2i-1=vi*int<L/hi>,u2i=vi*int<L/hi>,价值向量<i=1,2,3…,m>P--[p1,p2,p3 ,pm] pi=li,<i=1,2,3•••.』>SP一[sp1,sp2,sp3…,spm]spi=hi,<i=1,2,3•••.』>〔2〕利用递推公式求解背包函数:SW一[sw1,sw2•••.sw2m]sw2i=int<L/hi>sw2i-1=int<L/li>F<j>—递推函数 j=<1,2,3……,H>F<j>=max{sw1+F<j-1>,sw2+F<j-2>, ,sw2m+F<j-2m>} j-i<0时,swi+F<j-i>=0Q<j>—所取F<j>函数的位置 j=<1,2,3……,H>间接推出一种中间方式Y--[y1,y2,y3,y4 ,y2m],<i=1,2,3…,m>从而得到寻优排样方式PP--[pp1,pp2 ,ppm],<i=1,2,3…,m>ppi=y2i*int<L/hi>+y2i-l*int<L/li>当L*H-F<H><0,<L--下料板材的长度,H--下料板材的宽度>应将排样方式PP引入,由上述递推公式求解的方法来确定A中应该被置换的列的序号k:min{xl/ppl,x2/pp2, xi/ppi}由最小函数的位置来确定k的值,从而得到:C=[L*H,L*H,…….]C中元素个数为m个A,B,X=ATB。如此递推,直到LH-F<H>>=0,取其上一次的X,B,A,C各向量,其中X中的元素代表此次下料对应于 A中各列〔代表各个排样方式〕所用的板材数。A中各列代表每一板材上的排样,其中的元素代表在一板材上排的各种零件的个数。在这里值得大家注意的是:一板材沿长度方向分割成几种条带,每个条带上排的零件必是同一种 ,且横放竖放一样,这样的排样方式大大方便了切割加工,提高了生成效率的同时又兼顾到板材下料的利用率 ,两者兼得。计算机求解线性规划模型的背包函数问题的过程如图 2-3所示。图2-1背包函数计算机求解过程第3章系统的开发及实现二维下料优化系统的数学模型建立后 ,就可以进行系统的开发了。系统使用VB〔VisualBasic6.0〕作为开发工具,用VB和Access数据库来完成系统的开发。VB是当前Windows平台上的快速开发工具。无论是企业级用户还是个人开发者,都能够利用VisualBasic轻松、快捷地构建企业应用。3.1设计思想系统要实现计算机寻求最优排样方案 ,需要规的毛坯数据信息,因此系统首先要实现对毛坯数据库的管理。依据调研过程中排样方案设计人员的工作流程,对于系统的实现方式可用如图 3-1来表示:图3-1毛坯数据库管理流程功能模块的划分在开发二维下料系统应用程序之前,必须清楚地了解程序需要实现地各项功能,设计出应用程序的结构。根据上述的系统功能分析 ,可以得到如图3-2所示系统功能模块。记詭图3-2系统功能块图数据库实现在二维下料系统中,其中重要的一部分就是毛坯零件信息库的管理。在管理这些数据时,需要对这些数据进行插入、修改和删除等操作。但最重要的是要对这些数据进行分析 ,然后从分析结果中把厚度、材质相同的毛坯零件放在同一个下料任务表中 ,并且要把表中那些长宽相同的加在一起。毛坯零件基本信息实体的E-R图如3-3所示。毛坯零件基本信息关系数据模型由概念模型转化而来,是按照计算机系统的观点来对数据建模的。上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。毛坯零件基本信息表如表3-1所示。表3-1毛坯数据库字段属性字段名类型长度是否为空说明编号数字长整型N长度数字单精度N二维下料零件的长度宽度数字单精度N二维下料零件的宽度厚度数字单精度N二维下料零件的厚度材料文本50N二维下料零件的材料数量数字单精度N二维下料零件的数量名称文本50N二维下料的名称3.4功能与应用背景二维下料优化系统可以对所有的零件进行下料优化,达到提高下料利用率,加快下料速度,降低成本,提高生产率的目的。本优化系统主要的功能有:〔1〕零件库的建立与维护,包括零件的添加、修改与删除等。〔2〕可以加入和删除零件库。〔3〕可以查询和修改常用零件库。〔4〕可以建立常用零件库。〔5〕生成下料图表,直观方便,直接应用于生产。3.5二维下料优化系统的实现VB数据库应用程序有3个部分,即数据库引擎、数据库和应用程序。数据库引擎是数据库驱动程序,使用它,我们可以用统一的格式访问各种文件。使用VB应用程序访问数据库时,Jet引擎被包含在一组动态连接〔DLL〕文件中。运行时,这些文件被引用到VB程序中。Jet引擎将应用程序的请求翻译成对.mdb<Access文件后缀>文件或其他数据库的物理操作。Jet引擎真正读取、写入和修改数据库,并处理所有部的事务。数据库是包含数据库表的一个或多个文件。对于本地Access数据库来说,就是.mdb文件。添加公共模块模块1定义两个函数,以提高代码执行效率:Module1.basOptionExplicitPublicDeclareFunctionCopyFileLib"kernel32"Alias"CopyFileA"<ByVallpExistingFileNameAsString,ByVallpNewFileNameAsString,ByValbFailIfExistsAsLong>AsLong'定义文件复制的API函数'检测文件是否存在FunctionFileExists<FileNameAsString>AsBooleanOnErrorResumeNextFileExists=Dir$<FileName><>""IfErr.Number<>0ThenFileExists=FalseEndIfOnErrorGoTo0EndFunction模块2主要定义两个常用变量,程序中可直接使用以减少重复定义.Module2.basOptionExplicitDimyyyyAsString'主要标识符TypestunumAsStringEndType欢迎模块的实现〔1〕为了使系统美观,开始首先进入欢迎界面,其主体部分用Timer和VScroll控制可以循环显示使界面具有动态美。实现的滚动文字的函数如下:PrivateSubTimer1_Timer<>Timer1.Interval=100制作滚动的文本框b=b+1制作滚动的文本框Ifb>iThenb=0IfVScrolll.Value>=VScrolll.Min+20ThenVScrolll.Value=VScroll1.Value—30ElseVScroll1.Value=VScroll1.MaxDoEventsEndIfText1.Top=VScroll1.ValueText1.Visible=TrueDoEventst=Left<atitle,b>Form5.Caption=tEndSub冷河甫丈学计stei与 IZJ河南大学计算机与信息工程学院:03级毕业设计欧迎进入二维下料优化系统设计语言设计:}(1〕:板材模型的建立及计算程序⑵:排样图形的生成程序(3)r用户界面设计程序〔4:丨坯料数据库信息筲理程序指导老师:张连堂I皆 设计人:王豪图3-4 欢迎模块示例欢迎界面的功能:点击图标,进入二维下料优化设计系统。系统主模块的实现在车床切割期间一次只能使用一种板材,因此在寻求最优排样方案前应先创建本次任务的分批数据库,然后依据板材名称、规格和厚度的不同,把总体下料任务划分为具体的各个子任务,并存放在分批数据库中。在左上角的list用于显示分批数据库中的各个下料任务表名 ,这样用户可以很方便的选择每次要实现的子任务,并进行排样。有时用户需要的下料信息并不是从别的任务派生出来的,这时用户可以通过"新建下料表"自己创建一个具体的下料任务表。表存储在数据库的同时用户也可以在右侧的text文本框里看到新建的表名。当一个任务完成时,点击一下"确认下料表"就可以把表名从text文本框中删除,用户可以方便的了解总的任务完成的进度。为了便于用户及时准确清楚每次的下料数据,此界面添加了一个DataGrid控件。用户不管点击list还是text里的表名,选中表的详细信息就会添加到DataGrid控件中,用户还可以选择其中的记录进行添加、删除、更新等操作。任务表和板材的信息确定后就可以通过"方案图表"来实现最优排样方案,并绘制方案图形。PrivateSubfangantubiao_Click<>为实现排样的函数。核心代码部分如下:w=Form1.Data1.Recordset.RecordCount'记录条数宽度向量ReDimsy<101,2*w+1>'为动态数组变量重新分配存储空间ReDimc<1,w>Fori=1Towc<1,i>=Val<Form1.Text4.Text>*Val<Form1.Text5.Text>'val函数返回包含于字符串的数字,字符串中是一个适当类型的数值Nexti'cj表示第j种排样方式所使用板材的单面积,如果只用一种板材,可令cj=LH,1<=j<=mu=Val<Form1.Text5.Text>'板料宽度价值向量Form1.Data1.Recordset.MoveFirstFori=1Towb<i,1>=Form1.Data1.Recordset.Fields<5>.Value'数量Form1.Data1.Recordset.MoveNextNextiFori=1TowForj=1TowIfi=jThena<i,j>=1'a<>为单位矩阵Elsea<i,j>=0EndIfNextj,iReDimp<1,w>Form1.Data1.Recordset.MoveFirstFori=1Tow'长度'锯缝p<1,i>=Form1.Data1.Recordset.Fields<1>.Value+Val<Form1.Text6.Text>'p<>单个样本长度<比实际长度多一个锯缝>Form1.Data1.Recordset.MoveNextNextiFori=1Towsw<1,2*i-1>=sp<1,i>'sw<>为单个样本宽度长度交替sw<1,2*i>=p<1,i>NextiReDimsu<1,2*w>Fori=1Towsu<1,2*i-1>=Int<Val<Form1.Text4.Text>/p<1,i>>'板材长度/单个样本长度su<1,2*i>=Int<Val<Forml.Text4.Text>/sp<1,i>> 'su◊为单个样本长度倍数、与宽度倍数交替Nexti基于上述功能的实现,运行实例如图3-5所示的。、零件瞬新崔下料表2345678□d6Cd<185■4EG■4EG7493253263ES、零件瞬新崔下料表2345678□d6Cd<185■4EG■4EG7493253263ES19R留总:柯料名称柯料俘度11E123蚊叽史新下料衰里他石IIB恢和书那珈帝IB恆村名称规恪IB板材名海规格IB板材名海规格16鞭材尼協规稻16植胡名帘规梏16狼胡名襦规稻违棱斜名訪规•恪1F.桁対空珠如垃鱼推顶底521112Wi河南丈学计算机与信息工程稱;0^-王衰毕业设计2EOT-05-16 j3.21.5&图3-5系统主模块示例二维下料糸统主界面的主要功能有:〔1〕新建非常规下料任务表,并对其进行添加、删除、修改等操作。〔2丨输入原料的尺寸以及锯缝、材料厚度、名称等数据。〔3〕通过点击"产品数据"来建立常规下料任务表。〔4〕运行计算显示方案图表。〔5〕退出程序。产品分类模块的实现二维下料糸统产品分类界面主要功能:〔1〕添加常规类下料任务表〔自动存储〕。〔2〕对已有的下料任务进行添加、修改、删除等操作。〔3〕这些产品进行分类、并保存到数据库中。〔4丨删除常规类下料任务表。〔5丨所建产品数据库可以随时调用,避免重复输入数据的麻烦。〔6〕每个产品规格表在加入下料表时可以更改其中的数据记录 ,并可设置下料套数。〔7〕只需双击产品规格表就可把数据加入下料任务表中 ,点击"数据分类"就可在主界面自动生成下料任务表。
〔8〕最主要的功能就是数据分析,首先创建一个分批数据库,然后依据名称、规格、厚度的不同下料任务分为不同的下料任务表并保存在分批数据库中。运行实例如图3-6所示。图3-6 产品分类模块示例方案图表生成模块的实现方案图表生成模块主要功能:给出排样方案表中的排样数据以及排样中的条带分布规律并输出板材总的板材下料利用率,每种排样的零料以及此次下料各种排样所用的板材数,还有最后的毛坯零件此次下料的生产差额。运行实例如图 3-7所示。图3-7 方案表生成模块示例方案图形生成模块的实现根据排样方案数据表生成直观的排样方案图,并提供打印功能。PrivateSubTuxishengcheng_Click<>为方案图形生成函数。用数组记录各种排样方式的长、宽以及矩形的条数,然后依据数组具体的大小确定画笔的坐标,逐步绘制各个矩形排版位置,最终绘制整个方案图形。核心代码如下:Ifww>mThenMsgBox"方案图样结束"ww=0ExitSubEndIfCurrentX=0.2*Val<Form1.Text4.Text>CurrentY=0.15*Val<Forml.Text5.Text>x=CurrentXy=CurrentYLine-Step<0,Val<Forml.Text5>>Line-Step<Val<Forml.Text4.Text>,0>Line-Step<0,<-1>*Val<Forml.Text5.Text>>Line-Step<<-l>*Val<Forml.Text4.Text>,0>
Forj=wTo1Step-1Fork=1Tosy<ww,2*j>Ifsy<ww,2*j>=0ThenExitForEndIfLine-Step<0,sw<1,2*j>>,RGB<0,0,255>Line-Step<Val<Form1.Text4.Text>,0>CurrentX=CurrentX-Val<Form1.Text4.Text>CurrentY=CurrentYLine-Step<su<1,2*j>*sw<1,2*j-1>,0>,RGB<0,0,255>Fori=1Tosu<1,2*j>Line-Step<0,sw<l,2*j>*<-l>"i>,RGB<0,0,255>Line-Step<<-1>*sw<1,2*j-Ifi=su<1,2*j>ThenLine-Step<<-1>*sw<1,2*j-Ifi=su<1,2*j>ThenCurrentX=CurrentX+Val<sw<1,CurrentY=CurrentY+Val<sw<1,PrintjCurrentX=CurrentX-Val<sw<1,CurrentY=CurrentY-Val<sw<1,EndIfNexti运行实例如图3-8所示。1>,0>,RGB<0,0,255>2*j-1>>/22*j>*<-1>"<i+1>>/22*j-1>>/22*j>*<-1>"<i+1>>/2口回凶222第2科排弹i下1张1HEP确认怎回、 = 图3-8方案图形生成模块示例3.6二维下料优化系统特点二维下料优化系统具有如下特点:〔1〕系统在VB环境下运行,使用ADODC控件与DataGrid控件绑定,不需编程或只需要写很少量的代码就能访问现存数据库并显示数据。〔2〕将VB语言和ADODC控件配合使用,添加删除纪录,或执行查询等。〔3〕明显提高材料的利用率,取得巨大的经济效益。〔4〕提高工作效率,例如一个由50多种不同规格的零件、成千上万块板料组成的下料工艺设计方案 ,包括全套图纸、表格清单的工作量仅需几分钟即可完成。在生产用料管理、原材料的采购定量预算、成本核算、对市场的反应速度等方面大大增强了企业的竞争能力。〔5〕计算结果用图、表形式表示,直观、简洁。本软件适用于规格板材用量较大的企业单位 ,特别是那些产品规格品种多、产品更新换代较快的厂家。规格板材是指市场上供应的各种规格木板、装饰面板、不锈钢板、玻璃板、塑料板材等。下料是指采用锯切、剪切、冲裁等方法将材料切割成块的加工方法 ,可以有锯缝或无锯缝。目前仅适用于矩形板料的合理套裁问题。设计人员将企业不同产品的用料零件尺寸都输入到数据库
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新品上市!让核酸酶质量和残留控制像测定蛋白浓度一样简单
- 美术公开课课程设计
- 模压课程设计
- 汽车引擎盖课程设计
- 扫雷课课程设计总结
- 部编版五年级下册语文期末考试试卷带答案
- 施工课程设计中北大学
- 蝴蝶找花课程设计
- 汽修专业发动机课程设计
- 牛头刨床课程设计14号
- 口腔颌面部肿瘤概论(口腔颌面外科课件)
- 《义务教育数学课程标准(2022年版)》测试题+答案
- 2024年网上大学智能云服务交付工程师认证考试题库800题(含答案)
- 心血管内科试题库+答案
- 中华民族共同体概论课件专家版2第二讲 树立正确的中华民族历史观
- 运维质量管理体系及保障措施方案
- 特种设备使用单位日管控、周排查、月调度示范表
- 动态心电图分析系统讲解
- (完整版)内部审计工作流程图最新(精华版)
- 证券公司客户交易结算资金第三方存管业务规则
- 【结题报告】《初中数学课堂合作学习的低效成因分析及对策研究》结题报告
评论
0/150
提交评论