第7章 计算机辅助设计0909.docx
- 文档编号:11397607
- 上传时间:2023-05-31
- 格式:DOCX
- 页数:69
- 大小:314.01KB
第7章 计算机辅助设计0909.docx
《第7章 计算机辅助设计0909.docx》由会员分享,可在线阅读,更多相关《第7章 计算机辅助设计0909.docx(69页珍藏版)》请在冰点文库上搜索。
第7章计算机辅助设计0909
第7章计算机辅助设计
内容提要:
本章学习内容包括:
计算机辅助设计概述;选矿厂计算机辅助设计的研究现状;计算机程序设计基础(方程求解、数据处理等);选矿工艺计算编程基础(工艺流程的表达、模块和结构矩阵计算编程、工艺设备的计算编程);计算机绘图基础(Autocad软件包常用命令及接口编程);选矿工程图设计基础(选矿工艺流程图的表达和绘制,工艺设备配置图的绘制)。
7.1概述
7.1.1计算机辅助设计概述
计算机辅助设计,即ComputerAidedDesign(CAD),是指采用计算机作为主要技术手段,运用各种数字信息与图形信息进行产品或工程设计。
通俗地说,就是利用计算机完成方案设计、数据计算和工程绘图等设计工作。
计算机辅助设计(CAD)的应用,有利于缩短设计周期、提高设计工作效率和设计产品质量。
由于计算机具有快速、准确运算及自动绘图等功能,一方面,能在较短的时间内完成产品设计和更新,使得设计工作效率显著提高,提高了产品的市场竞争能力,加快了工程建设进度,从而可显著地增加经济效益。
另一方面,计算机能方便快速地完成设计过程中重复繁琐的数据计算、结果分析、方案比较和优化等工作,使设计者能将精力放在产品或工程设计的创造性工作中,这无疑有利于提高设计的整体质量。
7.1.2计算机辅助设计系统的硬件及软件
计算机辅助设计系统由硬件和软件两部分构成。
(1)硬件组成
一般的计算机辅助设计系统的硬件由图7-1所示几部分组成。
①主机:
这是CAD系统的核心部分,它控制和指挥整个系统。
大、中、小型或微型计算机均可采用。
具体采用什么类型计算机,应根据CAD系统要完成的任务复杂程度确定。
目前,由于微型计算机体积小、功耗低,价格便宜,因此,微型计算机CAD系统的应用较为广泛。
②输入设备:
这是向计算机输入数据、程序及图形数字信息的设备。
主要包括键盘、鼠标器(Mouse)、数字化图形输入板、光笔、扫描仪及数码成像设备等。
③输出设备:
这是将计算机的计算结果及绘制的工程图形,以“硬拷贝”形式输出各种纸质文件的设备。
主要包括绘图仪和打印机。
④外存储器:
这是存放大量原始数据、计算结果、计算机程序和图形文件的装置,主要指硬盘、软盘、U盘、存储卡及光盘存储器等。
图7-1CAD系统硬件组成
(2)软件组成
一般计算机辅助设计(CAD)系统的软件主要包括以下三大类:
①通用商业化CAD系统软件。
这类软件具备了完善的图形处理、图形输入和输出及用户接口等功能,具有很强的通用性,可用作众多工程领域的图形处理及开发环境。
其中,最著名的主要有AutoCAD软件包、3DSStudio等。
②程序设计语言。
利用程序设计语言,用户根据不同目的,编制出各种工程计算和图形处理的应用程序,并通过接口编程,实现与商业化CAD系统软件的通讯,以完成不同工程领域的特殊设计任务。
这些程序设计预言主要包括BASIC、FORTRAN、PASCAL、C语言、VisualBasic、VisualC、Lisp及各种数据库语言等。
③应用程序。
用户根据各自工程领域的设计要求,利用高级语言开发出的软件,或基于商业CAD软件包的各种实用接口程序等。
用户可直接利用这些程序完成相应的工程设计任务。
对于不同工程设计领域,开发出功能强大的应用程序是计算机辅助设计研究工作的主要任务。
7.1.3选矿厂计算机辅助设计的现状与发展趋势
(1)选矿厂计算机辅助设计研究现状
选矿厂设计领域的计算机研究主要集中在以下4个方面:
①工艺流程、工艺设备的计算方法和数学模型的研究;
②选矿厂设计管理工作的研究;
③部分标准、非标准设备等的图形绘制软件的研究;
④选矿厂设计专家系统的研究;
其中,第一个方面的研究工作较为充分,第二个方面的研究工作则相对很少,第四个方面研究刚刚起步,大部分的注意力都放在第三个方面的研究工作上。
归纳起来,选矿厂计算机辅助设计的研究工作可分为以下4个阶段:
①AutoCAD绘图软件包的初级应用阶段。
这一阶段主要是集中于AutoCAD绘图软件包内部功能的应用研究。
其特点是利用AutoCAD软件包的绘图、编辑和图形建块的功能实现设备或配置图的绘制。
这里计算机只是充当制图工具,其图形库的建立方法为静态机制,即建立固定的设备或机组的图块。
因此,建库的工作量大,设计的速度慢、灵活性差。
②专用图形库与参数化绘图相结合的研究阶段。
在对AutoCAD绘图软件包应用研究不断深入的同时,结合选矿厂设计的具体特点,对球磨机、分级机等标准设备利用建立专用图形库的方法(静态实现机制)完成,对各种钢结构件等非标准设备利用高级语言编程的方法(即动态实现机制)完成。
其特点是显著地减少了图形库的建库工作量,使得设计的速度和灵活性有所提高。
③参数化绘图的研究阶段。
将选矿厂设计中的所有设备分成不同的类型,并按其各自的特点编制相应的绘图子程序,并按各类设备的不同型号规格建立设备的几何特征点的数据库,从而实现了全参数化绘图(全动态实现机制)。
这种方法的显著特点就是完全抛弃了静态实现机制,使得设计的灵活性和速度都有显著的提高,但是,由于大的编程量和数据库的建库工作量,使得系统的维护和使用不太方便,且数据库的维护和管理工作量大。
④人工智能技术(专家系统)应用于选矿厂设计的研究阶段。
目前进行了碎磨流程方案选择专家系统和破碎厂房工艺设计专家系统,以及磨浮工艺设计专家系统的研究等。
(2)选矿厂计算机辅助设计研究发展趋势
与其他领域的专家系统发展相比,选矿厂设计的智能CAD技术的应用才刚刚起步。
尽管已对破碎厂房工艺设计及磨浮工艺设计的专家系统,以及对智能CAD技术在选矿厂设计中的应用进行了研究。
但与其他行业相比,专家系统及智能CAD技术在矿业工程设计中应用的研究工作还很不够。
根据选矿厂设计的特点,计算机辅助设计必须解决好数据计算、图形设计和设计规范及设计经验知识的运用的三个问题,按这一标准来衡量,已有研究工作不足:
①已有的CAD方面研究主要是面向于数学模型的基础研究。
包括计算方法、计算数学模型和基本图形处理三个方面,对设计中涉及的规范和经验等知识的应用问题尚未考虑。
②设计专家系统方面的研究则着重于设计规范和设计经验知识应用问题。
对数据计算、图形处理等方面则未曾考虑或考虑不够充分。
③所有的研究工作都未曾涉及到三维图形的处理问题,而这一点则是选矿厂计算机辅助设计的主要发展趋势。
7.2程序设计基础
7.2.1程序设计基本过程及要求
程序设计是借助各种计算机程序,按一定规范编写计算机能够直接或间接识别并执行的程序的过程。
程序设计的基本过程大致包括几个步骤:
①针对需要解决的实际工程问题,建立相应的数学模型。
②根据解析所建立的数学模型的逻辑过程,设计程序编制的框图。
③借助各种高级语言,采用适当的算法编写程序源代码。
④对所编写的源代码程序进行调试、修改和编译,最终形成功能完善的程序。
程序设计的基本要求是:
①计算结果的精度和误差要满足不同工程领域的要求;②在完成相同计算和绘图功能的前提下,程序的运算量要小,速度要快;③程序运行对计算机内存资源的占有量要小;④程序的结构必须清晰、简明,便于阅读、理解和修改。
7.2.2方程组求解
方程求解是选矿工艺流程计算过程中的关键问题。
根据选别工艺流程计算的特点,方程求解主要包括:
线性方程组和矛盾方程组求解。
(1)线性方程组求解
线性方程常用的求解方法很多,高斯主元素消元法是最常用的解法之一。
高斯主元素消元法的基本思想是:
对方程组AX=B进行一系列的初等变换,以减少方程中的变量数,直到将原线性方程组AX=B转化为等价的倒三角形线性方程组AnX=Bn,然后通过回代求解未知数。
即
a11x1+a12x2+a13x3+...+a1nxn=b1
a21x1+a22x2+a23x3+...+a2nxn=b2
a31x1+a32x2+a33x3+...+a3nxn=b3
:
:
:
:
an1x1+an2x2+an3x3+...+annxn=bn(7-1)
将方程式7-1中的常数项移至等式左边,则其增广系数矩阵为:
a11a12a13...a1nb1
a21a22a23...a2nb2
a31a32a33...a3nb3
:
:
:
:
an1an2an3...annbn(7-2)
将式7-2中第2~第n行分别减去第1行×aij/a11,可得:
a111a112a113...a11nb11
0a122a123...a12nb12
0a132a133...a13nb13
:
:
….:
:
0a1n2a1n3...a1nnb1n(7-3)
再将第3~第n行分别减去第2行×aij/a22,...如此变换至第n行止,可得:
a111a112a113...a11nb11
0a222a223...a22nb22
00a333...a33nb33
:
:
:
:
000...annnbnn(7-4)
变换过程中,令R=ak-1ik/ak-1kk,则式7-4中元素可用以下通式表示:
akij=ak-1ij-Rak-1kjbki=bk-1i-Rbk-1k式中,k为消元次数;i为行数;j为列数。
对式7-4采用回代法即可求出方程的解。
即
n
xn=bkn/aknnxk=(ak-1k,n+1-Σak-1kjxj)/ak-1kk
j=k+1
式中,k=n-1,n-2,...,3,2,1
以上求解过程中,如果出现aiii=0时,计算将无法进行,因此,在实际计算过程中,常采用选主元素消元法。
即在消去xk的一些系数之前,先从其对应的列中选出绝对值最大的系数为主元素,交换第k行和此主元素所在的行,然后按上述消元法消去xk的一些系数(k=1,2,...,n),只要方程组的系数行列式不等于零,逐步选出的主元素都不等于零,消元过程一定能进行到底。
高斯主元素消元法的C语言函数参考源程序如下:
a[i][j]:
线性方程组的系数增广矩阵
x[i]:
线性方程组的解
N:
线性方程组方程式个数
voidgauss(void)
{inti,j,p,k;
floatT,R,eb;
for(i=0;i for(k=0;k p=k;eb=a[k][k]; for(i=k;i if(abs(a[i][k])>abs(eb)){eb=a[i][k];p=i;} for(j=0;j T=a[k][j];a[k][j]=a[p][j];a[p][j]=T;} for(i=k+1;i {R=a[i][k]/a[k][k]; if(a[i][k]==0)continue; for(j=k;j a[i][j]=a[i][j]-a[k][j]*R; } } x[n-1]=a[n-1][n]/a[n-1][n-1];/*回代过程*/ for(k=n-2;k>=0;k--){ for(j=k+1;j x[k]=(a[k][n]-x[k])/a[k][k]; } return; } (2)矛盾方程组求解 一般线性方程组,通常未知数的个数与方程式的个数相等。 如果方程式的个数多于未知数的个数时,数学上就无法得到唯一确定的解,这样的方程组就称为矛盾方程组。 在工艺流程指标计算中,对单金属的浮选流程计算,由物料平衡所得到的线性方程的个数等于未知数的个数,并借助选矿常用公式,可得到满足线性方程组的解。 但对于多金属浮选流程的计算,由物料平衡所得到的线性方程的个数大于未知数的个数,因此,得到的联立方程组为一矛盾方程组,因而得不到满足方程组的解。 利用最小二乘法原理,对矛盾方程组进行变换,即能求出使各线性方程式近似成立的最优解。 对矛盾方程组: m ∑aijxj=bi(i=1,2,...,n)其中n>m(7-5) j=1 按最小二乘法原理,利用各方程式误差的平方和: nnm Q=∑R2i=∑[∑aijxj-bi]2(7-6) i=1i=1j=1 作为衡量一个近似解的近似程度(或优劣程度)的标志。 则可定义: 如果xj(j=1,2,...,m)的一组取值,使得误差的平方和Q达到最小值,则这组值为矛盾方程组式7-5的最优近似解。 误差平方和Q可以看成m个自变量xj的二次函数,因此,求解矛盾方程组式7-5的问题归结为求二次函数Q的最小值问题。 由于二次函数Q是连续函数, n 且Q=∑R2i≥0,则一定存在一组x1,x2,...,xm使得Q达到最小值。 i=1 将式7-6两边对xk求偏导(k=1,2,...,m): Qnm ──=∑2[∑aijxj-bi]aik xki=1j=1 nm =2∑[∑aijaikxj-aikbi] i=1j=1 mnn =2[∑(∑aijaik)xj-∑aikbi] j=1i=1i=1 令Q/xk=0,则有: mnn ∑(∑aijaik)xj=∑aikbi(k=1,2,...,m)(7-7) j=1i=1i=1 式7-7是具有m个未知数,m个线性方程式的线性方程组,该方程组存在m个解。 式7-7所示方程组为矛盾方程组(式7-5)的正规方程组,其解为矛盾方程组的最优近似解。 对于经变换后得到的正规方程组(式7-7)的求解,仍可采用高斯主元素消元等方法进行。 矛盾方程组最小二乘法变换的C语言函数参考源程序如下: /*G[i][j]: 矛盾方程组系数矩阵*/ /*G1[i][j]: 变换的中间矩阵*/ /*BB[i]: 常数矩阵*/ /*M: 矩阵的行数*/ /*L: 矩阵的列数*/ voidchange(void) {inti,j,k; floats; for(i=0;i<=M;i++)/*转置矩阵*/ for(j=0;j for(j=0;j for(k=0;k for(i=0;i<=M;i++)s=s+G1[j][i]*G[i][k]; G[j][k]=s;} } for(i=0;i for(j=0;j<=M;j++)s=s+G1[i][j]*BB[j]; BB[i]=s; } return; } 7.2.3实验数据处理 设计过程中,许多参数之间的关系很难用一个确定的理论公式来表达,只有根据试验测得的一组离散数据来表达它们之间的关系。 在程序设计中,对于这些数据的处理主要有两种方法。 一是根据这些离散数据建立对应的经验公式,作为计算的数学模型,称之为数据的公式化。 二是直接将试验数据编入程序,供设计计算时检索和调用,称之为数据的程序化。 7.2.3.1数据公式化 数据公式化,就是利用曲线来拟合试验测得的一组离散数据点,从而获得一组离散点通过的近似函数表达式。 通常用一个m次多项式来拟合一组离散数据(xi,yi),i=1,2,3...,n。 即用Pm(x)=a1+a2x+...+am+1xm近似地表达这组离散数据之间的函数关系y=f(x)。 用m次多项式拟合离散点就是确定待定常数a1,a2,...,am+1,确定待定常数的方法有平均法和最小二乘法。 (1)平均法 用平均法确定待定常数时,假定一组数据相对于拟合曲线正负偏差出现的机会相等,则要求离散点与拟合曲线偏差的代数和最小。 平均法确定待定常数的步骤是: ①选定拟合方程。 通常选一次或二次多项式,次数越高,解线性方程组的计算量越大。 ②将n组数据代入多项式,得n个线性方程式。 ③根据拟合方程的形式(即次数m)确定待定常数(a1,a2,...ak)的个数k(k=m+1,且k必定小于n),然后将n个线性方程式分成k组。 ④将每组的方程式相加,可把n个线性方程式合并为k个线性方程式。 ⑤联立k个方程式求解,得k个待定常数(a1,a2,...ak),从而获得具体的拟合方程。 (2)最小二乘法 用平均法确定待定常数时,有时因正负偏差相互抵消,因而不能保证很好地拟合离散点。 最小二乘法能较好的解决这一问题。 最小二乘法确定待定常数是假定离散点与拟合曲线偏差的平方和为最小。 最小二乘法确定待定常数的步骤是: ①选定拟合方程的形式; ②设y'i=a1+a2xi+...+am+1xim是根据已定常数a1,a2,...am+1计算的函数值,则各离散点与曲线之间偏差的平方和为 n Q=∑(y'i-yi)2 i=1 ③根据偏差平方和最小原则,计算待定常数a1,a2,...am+1,即可获得拟合曲线的方程。 最小二乘法多项式拟合的C语言参考源程序如下: /*a[i][j]: 线性方程组的系数增广矩阵*/ /*x[i]: 线性方程组的解*/ #include #include voidgauss(); floata[60][10],x[10]; intN,M;/*N0,N: 多项式的次数;M: 实测数据点个数*/ main() {inti,j,k,N0; floats[10],b[10],P[60],Gama[60],x[10],t[60],y[60]; printf("输入N0,M: \n");scanf("%d,%d",&N0,&M); for(i=0;i printf("输入t[%d],y[%d]: \n",i+1,i+1); scanf("%f,%f",&t[i],&y[i]);/*输入实测点数据*/ } N=N0+1;/*M*/ for(k=0;k<2*N-1;k++){/*计算Σtinn=1,2,...,2*N-1*/ s[k]=0;/*i=1*/ for(i=0;i } for(i=0;i for(j=0;j for(k=0;k b[k]=0; for(i=0;i a[k][N]=b[k];/*形成增广矩阵*/ } gauss();/*见高斯主元素消元法子程序*/ for(i=0;i P[i]=0; for(j=0;j Gama[i]=fabs(P[i]-y[i]); } for(i=0;i } 7.2.3.2数据程序化 将原始数据编入程序中有两种方法: 一种是把数据以数组形式,结合数据检索直接编在程序中。 二是将数据存储在数据文件中,供计算程序运行时根据需要检索和调用。 在数据检索中,如果参数值介于已知数据之间时,就不可能直接得到要求的原始数据,此时,应采用函数插值法解决。 函数插值的基本思想也是构造一个函数y=P(x)作为离散点(xi,yi)的近似表达式,然后按x值来计算P(x)的值,作为离散点(xi,yi)的近似值。 常用的插值方法有线性插值、拉格朗日插值和分段插值三种,下面主要介绍前两种插值法。 (1)线性插值 线性插值(即为两点插值),是通过两点的一直线来近似表示两结点参数间函数关系。 所以,两结点间任一点函数值为: y=yi-1+(yi-yi-1)(x-xi-1)/(xi-xi-1) 线性插值仅用到两个点的信息,因此,计算精度较低。 (2)拉格朗日插值 拉格朗日插值是(n-1)次多项式插值。 它是通过n个结点,用n-1次多项式来近似表达参数间的函数关系。 其公式为: (x-x1)(x-x2)...(x-xi-1)(x-xi+1)...(x-xn) y=Σ─────────────────────yi (xi-x1)..(xi-xi-1)(xi-xi+1)...(xi-xn) nn(x-xj) =Σ(Π────)yi i=1i=1(xi-xj) j≠i 当结点数n=2时,为线性插值: P2(x)=y1(x-x2)/(x1-x2)+y2(x-x1)/(x2-x1) =y1+(y2-y1)(x-x1)/(x2-x1) 拉格朗日插值计算的C预言参考源程序如下: #include #defineDN20/*数据点个数*/ main() {inti,j,k,N; floatx[DN],y[Dn],Y,X,T; printf("输入插值多项式的次数: \n");scanf("%d",%N); printf("输入插值点已知变量的值: \n");scanf("%f",&X); printf("输入已知插值结点(x,y)的值: \n"); for(i=0;i printf("输入(x[%d],y[%d]): \n",i+1,i+1); scanf("%f,%f",&x[i],&y[i]); } Y=0; for(k=0;k T=1; for(j=0;j if(j! =k)T=T*(X-x[j])/(x[k]-x[j]); Y=Y+T*y[k]; } printf("Y=%f\n",Y); } 7.2.4、曲线处理 曲线是函数的另一种表达方式,它的特点是直观,能够清晰地看出函数的变化趋势,但曲线本身无法直接参与计算机运算,计算时,参与运算的是根据曲线图查得的有关数据,因此,需要将曲线转换成相应的数据形式或数学表达式,供程序使用。 实现曲线的程序化分为两步: 第一步是将曲线变成相应的数表,即将曲线数表 化;第二步是将数表按前面介绍的方法公式化或程序化。 7.3选矿工艺计算编程基础 选矿工艺计算主要包括工艺流程计算和主要工艺设备计算。 工艺流程计算包括破碎和磨矿流程、选别流程和脱水流程。 工艺设备计算包括破碎、筛分、磨矿、分级、选别及脱水等设备。 其中,工艺设备计算均有相应的经验公式或图表数据,采用7.2节中介绍的方法可以得到求解。 因此,本章重点介绍选矿工艺流程计算的程序编制。 7.3.1破碎及磨矿流程计算 根据第四章可知,破碎和磨矿流程主要由以下五种单元的流程组合而成,如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第7章 计算机辅助设计0909 计算机辅助设计 0909
![提示](https://static.bingdoc.com/images/bang_tan.gif)