资源描述
中南大学网络教育课程考试
《CAD/CAM技术及应用》试题
考试说明:
1.首先下载试题及《标准答卷模版》,完成答题后,答卷从网上提交。
2.答卷电子稿命名标准:学号.doc。如:.doc。
3.网上提交起止时间:5月15日8:00—6月26日00:00。
试题:(注:一、二、三、四题为必做题,五、六题选做其中一题,在答题纸中写清题号即可。)
一、简明叙述产品数据管理(PDM)基本概念、基本功效、体系结构,并分析在企业实施产品数据管理(PDM)意义。(20分)
二、简明叙述有限元分析基本原理、主要步骤和能够完成主要任务。(20分)
三、某零件三维图以下所表示(从清楚性考虑,给出了两种三维图,尺寸自定)。
(1)分析指出该零件由哪些形状特征组成(绘简图说明)。(10分)
(2)简述用UG实现下列图所表示零件三维造型步骤(分步骤进行文字说明,并配适当简图说明)。(10分)
四、采取立式数控铣床在一长方形毛坯工件上铣削以下列图所表示凸模(尺寸自定),工件材料为铸铁,先使用Φ20mm圆柱平底立铣刀进行底面和侧面加工,再使用Φ12mm球头铣刀进行上表面加工。如采取UG软件进行数控加工编程,简明说明在UG软件环境下编制该凸模数控加工程序步骤(分步骤进行文字说明,并配适当简图说明)。(20分)
五、下列图所表示机构由以下七个零件组成。在UG中已完成七个零件三维建模,如需继续在UG中对其进行装配建模,得到以下列图所表示三维装配模型。试给出建立该机构三维装配模型主要步骤(分步骤进行文字说明,并配适当简图说明)。(20分)
六、某线图五个点以下左图所表示,各点坐标如右表所表示。(20分)
(1)采取最小二乘法进行线性拟合,方程形式为y=ax+b,试绘出求线性方程系数a、b计算机程序流程图。
(2)采取某种计算机编程语言(如C、Basic),编写求线性系数方程a、b源程序。
中南大学网络教育课程考试
《CAD/CAM技术及应用》答卷
本人承诺:本试卷确为本人独立完成,若有违反愿意接收处理。署名________________
学号______________________专业____________________学习中心___________________
一、简明叙述产品数据管理(PDM)基本概念、基本功效、体系结构,并分析在企业实施产品数据管理(PDM)意义。
答:
1.产品数据管理(PDM)概念:
是一门用来管理全部与产品相关信息和全部与产品相关过程技术”。这个定义从广义角度解释了PDM技术。但就现阶段PDM发展情况而言,给出一个较为详细定义:“PDM技术以软件技术为基础,是一门管理全部与产品相关信息(包含电子文档、数字化文档数据库统计等)和全部与产品相关过程(包含审批/发放、工程更改、通常流程、配置管理等)技术。提供产品全生命周期信息管理,并能够在企业范围内为产品设计与制造建立一个并行化协作环境。”
2.PDM主要功效:
PDM为企业提供了一个宏观管理和控制全部与产品相关信息以及与产品相关机制和技术。PDM系统包含多项功效,从面向应用与系统支持功效来看,包含电子仓库(电子数据存放、电子保险箱、电子资料室)、面向应用使用功效,如文档控制、变更控制、配置管理、设计检索与零件库、项目管理等实用化支持功效。从软件功效模块组成来看,包含电子数据存放和文档管理、工作流程管理、产品结构管理、分类与检索管理、项目管理、集成接口、用户化工具等。
3.PDM系统体系结构:
能够分解为以下四个层次内容:
第一层是支持层。现在流行商业化关系型数据库是PDM系统支持平台。关系型数据库提供了数据管理最基本功效。如存、取、删、改、查等操作。
第二层是面向对象层(产品主题化层)。因为商用关系型数据库侧重管理事务性数据,不能满足产品数据动态改变管理要求。所以,在PDM系统中,采取若干个二维关系表格来描述产品数据动态改变。PDM系统将其管理动态改变数据功效转换成几个,甚至几百个二维关系型表格,实现面向产品对象管理要求。
第三层是功效层。面向对象层提供了描述产品数据动态改变数学模型。在此基础上,依照PDM系统管理目标,在PDM系统中建立对应功效模块。一类是基本功效模块,包含文档管理、产品配置管理、工作流程管理、零件分类和检索及项目管理等;另一类是系统管理模块,包含系统管理和工作环境。系统管理主要是针对系统管理员怎样维护系统,确保数据安全与正常运行功效模块。工作环境主要确保各类不一样用户能够正常、安全、可靠地使用PDM系统,既要求方便、快捷,又要求安全、可靠。
第四层是用户层,包含开发工具层和界面层。不一样用户在不一样计算机上操作PDM系统都要提供友好人机交互界面。依照各自经营目标,不一样企业对人机界面会有不一样要求。所以,在PDM系统中,通常除了提供标准、不一样硬件平台上人机界面外,还要提供开发用户化人机界面工具,以满足各类用户不一样特殊要求。
整个PDM系统和对应关系型数据库(如 Oracle都建立在计算机操作系统和网络系统平台上。同时,还有各式各样应用软件,如CAD、CAPP、CAM、CAE、CAT、文字处理、表格生成、图象显示和音像转换等等。在计算机硬件平台上,组成了一个大型信息管理系统,PDM将有效地对各类信息进行合理、正确和安全管理。
4. 在企业实施产品数据管理(PDM)意义:以往计算机技术在工程领域广泛应用主要表现在工具自动化方面。比如在工程部门普遍使用计算机辅助计算、设计、分析、仿真、加工和工艺规划等技术,显著提升了产品设计和制造水平;在管理部门广泛使用计算机办公自动化技术,大大提升了各职能部门劳动生产率;在生产制造部门主动推广计算机实时测量和控制技术,在确保产品质量方面取得显著效果。计算机作为工程自动化技术工具,在各行各业中所起主要作用已经是无可质疑。依照一分为二观点,计算机变手工作业为自动化操作,无疑提升了生产力,同时对原来手工管理体系也带来巨大冲击。不论是制造业,还是各种各样设计院,现有面向纸介质信息管理体系无法适应电子信息时代要求。所以,人们迫切需要一个电子化管理伎俩,改变现行落后生产关系,深入解放计算机技术创造前所未有生产力,巩固和加强企业竞争能力。PDM就是一门计算机管理产品整个生命周期内全部信息电子化管理技术。它对产品开发过程TQCS指标将产生巨大影响,彻底改变一向作坊式产品开发模式和知识私有情况,快速形成团体式产品开发队伍,成倍提升现有劳动生产率,为整个企业信息集成和迈向国际先进行列打下坚实基础
二、 简明叙述有限元分析基本原理、主要步骤和能够完成主要任务。
答:
1.有限元分析基本原理
有限元分析是用较简单问题代替复杂问题后再求解。它将求解域看成是由许多称为有限元小互连子域组成,对每一单元假定一个适宜(较简单)近似解,然后推导求解这个域总满足条件(如结构平衡条件),从而得到问题解。这个解不是准确解,而是近似解,因为实际问题被较简单问题所代替。因为大多数实际问题难以得到准确解,而有限元不但计算精度高,而且能适应各种复杂形状,因而成为行之有效工程分析伎俩。
2. 有限元分析主要步骤
有限元求解问题基本步骤通常为:
第一步:问题及求解域定义:依照实际问题近似确定求解域物理性质和几何区域。
第二步:求解域离散化:将求解域近似为具备不一样有限大小和形状且彼此相连有限个单元组成离散域,习惯上称为有限元网络划分。显然单元越小(网格越细)则离散域近似程度越好,计算结果也越精准,但计算量及误差都将增大,所以求解域离散化是有限元法关键技术之一。
第三步:确定状态变量及控制方法:一个详细物理问题通常能够用一组包含问题状态变量边界条件微分方程式表示,为适合有限元求解,通常将微分方程化为等价泛函形式。
第四步:单元推导:对单元结构一个适合近似解,即推导有限单元列式,其中包含选择合理单元坐标系,建立单元试函数,以某种方法给出单元各状态变量离散关系,从而形成单元矩阵(结构力学中称刚度阵或柔度阵)。
第五步:总装求解:将单元总装形成离散域总矩阵方程(联合方程组),反应对近似求解域离散域要求,即单元函数连续性要满足一定连续条件。总装是在相邻单元结点进行,状态变量及其导数(可能话)连续性建立在结点处。
第六步:联立方程组求解和结果解释:有限元法最终造成联立方程组。联立方程组求解可用直接法、迭代法和随机法。求解结果是单元结点处状态变量近似值。对于计算结果质量,将经过与设计准则提供允许值比较来评价并确定是否需要重复计算。
3.有限元分析能够完成主要任务:
最早应用于航空航天领域,主要用来求解线性结构问题,实践证实这是一个非常有效数值分析方法。而且从理论上也已经证实,只要用于离散求解对象单元足够小,所得解就可足够毕竟于精准值。现在用于求解结构线性问题有限元方法和软件已经比较成熟,发展方向是结构线性、流体动力学和耦合场问题求解。比如因为摩擦接触而产生热问题,金属成形时因为塑性功而产生热问题,需要结构场和温度场有限元分析结果交叉迭代求解,即“热力耦合”问题。当流体在弯管中流动时,流体压力会使弯管产生变形,而管变形又反过来影响到流体流动。这就需要对结构场和流场有限元分析结果交叉迭代求解,即所谓“流固耦合”问题。
三、 某零件三维图(1)分析指出该零件由哪些形状特征组成。(2)简述用UG实现下列图所表示零件三维造型步骤。
答:
1.形状特征:底座圆盘,凸台,加强筋,沉头孔,倒角,圆角
2.步骤以下:
1)用回转实体做出圆盘
2)拉伸实体做出加强筋
3)使用圆形阵列,步骤2加强筋
4)用孔工具做出沉头孔
5)方法同时骤3,圆形阵列沉头孔
6)圆角,倒角修饰下即可
四、采取立式数控铣床在一长方形毛坯工件上铣削以下列图所表示凸模(尺寸自定),工件材料为铸铁,先使用Φ20mm圆柱平底立铣刀进行底面和侧面加工,再使用Φ12mm球头铣刀进行上表面加工。如采取UG软件进行数控加工编程,简明说明在UG软件环境下编制该凸模数控加工程序步骤
答:
1.创建程序并命名。
2.创建刀具直径12和直径6,指定加工几何体和毛坯。
3.创建粗加工方法,用型腔铣(mill—contour—CAVITY—mill)刀具直径12,余量留0.5mm。
4.创建精加工方法,铣凸台,用曲面铣(mill—contour—fixed—contour)刀具直径6。
5.创建精加工方法,使凹面,使用深度加工轮廓(mill—contour—ZLEVEL—profile)刀具直径12mm。
6.最终光底面,采取挖槽,刀具D10,因为这么能够节约换刀时间,这里需要在切削层里面选择仅在范围底部。
六、某线图五个点以下左图所表示,各点坐标如右表所表示。
(1)采取最小二乘法进行线性拟合,方程形式为y=ax+b,试绘出求线性方程系数a、b计算机程序流程图。
(2)采取某种计算机编程语言(如C、Basic),编写求线性系数方程a、b源程序。
答:
1.由定义x=[1 2 3 4 5],y=[1.4 1.5 1.7 2.2 3]得到插补值函数
P(x)=y1l0(x)+y2l1(x)+y3l2(x)+y4l3(x)+y5l4(x)即所求流程图。
2.编程:
xOffset = 1;
if (nargin==2) || ...
(nargin==3 && ischar(varargin{3})) || ...
(nargin==4 && (~ischar(varargin{4}) || strcmp(varargin{4}, 'extrap')));
xOffset = 0;
end
ppOutput = false;
% PP = INTERP1(X,Y,METHOD,'pp')
if nargin>=4 && ischar(varargin{3}) && isequal('pp',varargin{4})
ppOutput = true;
if (nargin > 4)
error('MATLAB:interp1:ppOutput', ...
'Use 4 inputs for PP=INTERP1(X,Y,METHOD,''pp'').')
end
end
% Process Y in INTERP1(Y,...) and INTERP1(X,Y,...)
y = varargin{1+xOffset};
siz_y = size(y);
% y may be an ND array, but collapse it down to a 2D yMat. If yMat is
% a vector, it is a column vector.
if isvector(y)
if size(y,1) == 1
% Prefer column vectors for y
yMat = y.';
n = siz_y(2);
else
yMat = y;
n = siz_y(1);
end
ds = 1;
prodDs = 1;
else
n = siz_y(1);
ds = siz_y(2:end);
prodDs = prod(ds);
yMat = reshape(y,[n prodDs]);
end
% Process X in INTERP1(X,Y,...), or supply default for INTERP1(Y,...)
if xOffset
x = varargin{xOffset};
if ~isvector(x)
error('MATLAB:interp1:Xvector','X must be a vector.');
end
if length(x) ~= n
if isvector(y)
error('MATLAB:interp1:YInvalidNumRows', ...
'X and Y must be of the same length.')
else
error('MATLAB:interp1:YInvalidNumRows', ...
'LENGTH(X) and SIZE(Y,1) must be the same.');
end
end
% Prefer column vectors for x
xCol = x(:);
else
xCol = (1:n)';
end
% Process XI in INTERP1(Y,XI,...) and INTERP1(X,Y,XI,...)
% Avoid syntax PP = INTERP1(X,Y,METHOD,'pp')
if ~ppOutput
xi = varargin{2+xOffset};
siz_xi = size(xi);
% xi may be an ND array, but flatten it to a column vector xiCol
xiCol = xi(:);
% The size of the output YI
if isvector(y)
% Y is a vector so size(YI) == size(XI)
siz_yi = siz_xi;
else
if isvector(xi)
% Y is not a vector but XI is
siz_yi = [length(xi) ds];
else
% Both Y and XI are non-vectors
siz_yi = [siz_xi ds];
end
end
end
if xOffset && ~isreal(x)
error('MATLAB:interp1:ComplexX','X should be a real vector.')
end
if ~ppOutput && ~isreal(xi)
error('MATLAB:interp1:ComplexInterpPts', ...
'The interpolation points XI should be real.')
end
% Error check for NaN values in X and Y
% check for NaN's
if xOffset && (any(isnan(xCol)))
error('MATLAB:interp1:NaNinX','NaN is not an appropriate value for X.');
end
% NANS are allowed as a value for F(X), since a function may be undefined
% for a given value.
if any(isnan(yMat(:)))
warning('MATLAB:interp1:NaNinY', ...
['NaN found in Y, interpolation at undefined values \n\t',...
' will result in undefined values.']);
end
if (n < 2)
if ppOutput || ~isempty(xi)
error('MATLAB:interp1:NotEnoughPts', ...
'There should be at least two data points.')
else
yi = zeros(siz_yi,superiorfloat(x,y,xi));
varargout{1} = yi;
return
end
end
% Process METHOD in
% PP = INTERP1(X,Y,METHOD,'pp')
% YI = INTERP1(Y,XI,METHOD,...)
% YI = INTERP1(X,Y,XI,METHOD,...)
% including explicit specification of the default by an empty input.
if ppOutput
if isempty(varargin{3})
method = 'linear';
else
method = varargin{3};
end
else
if nargin >= 3+xOffset && ~isempty(varargin{3+xOffset})
method = varargin{3+xOffset};
else
method = 'linear';
end
end
% The v5 option, '*method', asserts that x is equally spaced.
eqsp = (method(1) == '*');
if eqsp
method(1) = [];
end
% INTERP1([X,]Y,XI,METHOD,'extrap') and INTERP1([X,]Y,Xi,METHOD,EXTRAPVAL)
if ~ppOutput
if nargin >= 4+xOffset
extrapval = varargin{4+xOffset};
else
switch method(1)
case {'s','p','c'}
extrapval = 'extrap';
otherwise
extrapval = NaN;
end
end
end
% Start the algorithm
% We now have column vector xCol, column vector or 2D matrix yMat and
% column vector xiCol.
if xOffset
if ~eqsp
h = diff(xCol);
eqsp = (norm(diff(h),Inf) <= eps(norm(xCol,Inf)));
if any(~isfinite(xCol))
eqsp = 0; % if an INF in x, x is not equally spaced
end
end
if eqsp
h = (xCol(n)-xCol(1))/(n-1);
end
else
h = 1;
eqsp = 1;
end
if any(h < 0)
[xCol,p] = sort(xCol);
yMat = yMat(p,:);
if eqsp
h = -h;
else
h = diff(xCol);
end
end
if any(h == 0)
error('MATLAB:interp1:RepeatedValuesX', ...
'The values of X should be distinct.');
end
% PP = INTERP1(X,Y,METHOD,'pp')
if nargin==4 && ischar(varargin{3}) && isequal('pp',varargin{4})
% obtain pp form of output
pp = ppinterp;
varargout{1} = pp;
return
end
% Interpolate
numelXi = length(xiCol);
p = [];
switch method(1)
case 's' % 'spline'
% spline is oriented opposite to interp1
yiMat = spline(xCol.',yMat.',xiCol.').';
case {'c','p'} % 'cubic' or 'pchip'
% pchip is oriented opposite to interp1
yiMat = pchip(xCol.',yMat.',xiCol.').';
otherwise % 'nearest', 'linear', 'v5cubic'
yiMat = zeros(numelXi,prodDs,superiorfloat(xCol,yMat,xiCol));
if ~eqsp && any(diff(xiCol) < 0)
[xiCol,p] = sort(xiCol);
else
p = 1:numelXi;
end
% Find indices of subintervals, x(k) <= u < x(k+1),
% or u < x(1) or u >= x(m-1).
if isempty(xiCol)
k = xiCol;
elseif eqsp
k = min(max(1+floor((xiCol-xCol(1))/h),1),n-1);
else
[ignore,k] = histc(xiCol,xCol);
k(xiCol<xCol(1) | ~isfinite(xiCol)) = 1;
k(xiCol>=xCol(n)) = n-1;
end
switch method(1)
case 'n' % 'nearest'
i = find(xiCol >= (xCol(k)+xCol(k+1))/2);
k(i) = k(i)+1;
yiMat(p,:) = yMat(k,:);
case 'l' % 'linear'
if eqsp
s = (xiCol - xCol(k))/h;
else
s = (xiCol - xCol(k))./h(k);
end
for j = 1:prodDs
yiMat(p,j) = yMat(k,j) + s.*(yMat(k+1,j)-yMat(k,j));
end
case 'v' % 'v5cubic'
extrapval = NaN;
if eqsp
% Data are equally spaced
s = (xiCol - xCol(k))/h;
s2 = s.*s;
s3 = s.*s2;
% Add extra points for first and last interval
yMat = [3*yMat(1,:)-3*yMat(2,:)+yMat(3,:); ...
yMat; ...
3*yMat(n,:)-3*yMat(n-1,:)+yMat(n-2,:)];
for j = 1:prodDs
yiMat(p,j) = (yMat(k,j).*(-s3+2*s2-s) + ...
yMat(k+1,j).*(3*s3-5*s2+2) + ...
yMat(k+2,j).*(-3*s3+4*s2+s) + ...
yMat(k+3,j).*(s3-s2))/2;
end
else
% Data are not equally spaced
% spline is oriented opposite to interp1
yiMat = spline(xCol.',yMat.',xiCol.').';
end
otherwise
error('MATLAB:interp1:InvalidMethod','Invalid method.')
end
end
% Override extrapolation
if ~isequal(extrapval,'extrap')
if ischar(extrapval)
error('MATLAB:interp1:InvalidExtrap', 'Invalid extrap option.')
elseif ~isscalar(extrapval)
error('MATLAB:interp1:NonScalarExtrapValue',...
'EXTRAP option must be a scalar.')
end
if isempty(p)
p = 1 : numelXi;
end
outOfBounds = xiCol<xCol(1) | xiCol>xCol(n);
yiMat(p(outOfBounds),:) = extrapval;
end
% Reshape result, possibly to an ND array
yi = reshape(yiMat,siz_yi);
varargout{1} = yi;
%-------------------------------------------------------------------------%
function pp = ppinterp
%PPINTERP ppform interpretation.
switch method(1)
case 'n' % nearest
breaks = [xCol(1); ...
(xCol(1:end-1)+xCol(2:end))/2; ...
xCol(end)].';
coefs = yMat.';
pp = mkpp(breaks,coefs,ds);
case 'l' % linear
breaks = xCol.';
page1 = (diff(yMat)./repmat(diff(xCol),[1, prodDs])).';
page2 = (reshape(yMat(1:end-1,:),[n-1, prodDs])).';
coefs = cat(3,page1,page2);
pp = mkpp(breaks,coefs,ds);
case {'p', 'c'} % pchip and cubic
pp = pchip(xCol.',reshape(yMat.',[ds, n]));
case 's' % spline
pp = spline(xCol.',reshape(yMat.',[ds, n]));
case 'v' % v5cubic
b = diff(xCol);
if norm(diff(b),Inf) <= eps(norm(xCol,Inf))
% data are equally spaced
a = repmat(b,[1 prodDs]).';
yReorg = [3*yMat(1,:)-3*yMat(2,:)+yMat(3,:); ...
yMat; ...
3*yMat(n,:)-3*yMat(n-1,:)+yMat(n-2,:)];
y1 = yReorg(1:end-3,:).';
y2 = yReorg(2:end-2,:).';
y3 = yReorg(3:end-1,:).';
y4 = yReorg(4:end,:).';
breaks = xCol.';
page1 = (-y1+3*y2-3*y3+y4)./(2*a.^3);
page2 = (2*y1-5*y2+4*y3-y4)./(2*a.^2);
page3 = (-y1+y3)./(2*a);
page4 = y2;
coefs = cat(3,page1,page2,page3,page4);
pp = mkpp(breaks,coefs,ds);
else
% data are not equally spaced
pp = spline(xCol.
展开阅读全文