第10章 图块操作
- 格式:ppt
- 大小:319.50 KB
- 文档页数:17
第十章展开钣金图10.1 折叠/展开钣金图本章采用第八章的模型。
模型如图10-1。
图10-1钣金零件模型图点击工具栏内的Fold/Unfold折叠/展开图标,将钣金零件展开,如图10-2。
重新点击Fold/Unfold折叠/展开图标,可以将钣金零件折叠起来。
图10-2钣金零件展开10.2 同时观察两个视图点击工具栏内的Multi Viewer折叠/展开图标,钣金零件被展开。
点击上面菜单条中的“窗口”,选择“水平平铺”,如图10-3,同时在视图区,三维视图和平面展开图同时显示出来如图10-4。
图10-3选择“水平平铺”图10-4同时显示三维视图和平面展开图注意!在一个窗口进行的修改会在另外一个窗口显示,可以方便设计者以最佳的方式进行设计修改。
在展开视图上,所有的尺寸限制都会在几何图形上显示出来。
在一个标准的展开图上,没有Multi-view多视图展开图标。
只有带弯曲的部分才被展开。
切断面和非封闭面不在Multi-view多视图模式显示出来。
10.3 激活/不激活视图仍然使用10.2节的钣金零件。
点击工具栏内的Views Management视图管理图标,出现View视图对话框,如图10-5,有两个选项:o点击“Current 当前”按钮,使平面展开图成为当前视图。
o点击“Deactivate不激活”按钮,将使平面展开图处于不激活的状态。
只有折叠的视图才可以进行这个操作。
此时,如果要进行展开操作,将出现一个消息框,说明展开图处于非激活状态。
要重复上面的步骤,先将展开图激活后,点击对话框内的“激活”按钮,才可以将展开图折叠起来。
图10-5View视图对话框。
第十章代码优化某些编译程序在中间代码或目标代码生成之后要对生成的代码进行优化。
所谓优化,实质上是对代码进行等价变换,使得变换后的代码运行结果与变换前代码运行结果相同,而运行速度加大或占用存储空间少,或两者都有。
优化可在编译的不同阶段进行,对同一阶段,涉及的程序范围也不同,在同一范围内,可进行多种优化。
一般,优化工作阶段可在中间代码生成之后和(或)目标代码生成之后进行。
中间代码的优化是对中间代码进行等价变换。
目标代码的优化是在目标代码生成之后进行的,因为生成的目标代码对应于具体的计算机,因此,这一类优化在很大程度上依赖于具体的机器,我们不做详细讨论。
另外依据优化所涉及的程序范围,又可分为局部优化、循环优化和全局优化三个不同的级别。
局部优化指的是在只有一个入口、一个出口的基本程序块上进行的优化。
循环优化对循环中的代码进行的优化。
全局优化是在整个程序范围内进行的优化。
本章重点:局部优化基本块的DAG表示第一节优化技术简介为了说明问题,我们来看下面这个例子,源程序是:P :=0For I :=1 to 20 doP :=P+A[I]*B[I];经过编译得到的中间代码如图10-1-1所示,这个程序段由B1和B2两个部分组成,B2是一个循环,假定机器按字节编址。
那么,对于这个中间代码段,可进行如下这些优化。
1、删除多余运算(删除公共子表达式)优化的目的在于使目标代码执行速度较快。
图10-1-1中间代码(3)和(6)中都有4*I的运算,而从(3)到(6)没有对I赋值,显然,两次计算机的值是相等的。
所以,(6)的运算是多余的。
我们可以把(6)变换成:T4 :=T1。
这种优化称为删除多余运算或称为删除公共子表达式。
2、代码外提减少循环中代码总数的一个重要办法是代码外提。
这种变换把循环不变运算,即其结果独立于循环执行次数的表达式,提到循环的前面。
使之只在循环外计算一次,上例中,我们可以把(4)和(7)提到循环外。
经过删除多余运算和代码外提后,代码变成图10-1-2。