一、题目的提出9 Q) a( L9 f& Q6 v; h
# I( t4 d% W! q. b; _
Autodesk Inventor 2011数字样机制造解决方案集成来自产品开发流程所有阶段的设计数据,用以创建单一的数字模型。这个单一的数字模型能够仿真完整的产品,并可以对数字模型进行CAE有限元分析,帮助工程设计职员在制造物理样机前更好地可视化、优化和治理其设计。我们在做大型装配时比较耗资源,某些时候,当打开较大的模型时,Inventor会由于内存不足而退出。如图1所示的“挖掘机”模型,文件比较庞大,零部件数目非常多。用Inventor打开这样的模型,进行修改和编辑,往往需要花费了比较长的时间,假如机器配置不高,可能常出现内存不足的提示。Inventor本身消耗的资源比较大,当碰到大型装配时,资源的消耗将会大大地增加以至内存显示为“黄色”,严重时内存会显示为“红色”,几乎是已经到达崩溃的边沿。 二、计算机的软件优化办法/ S+ B/ n9 _) O7 [! l5 c6 k* b. P
' N+ ?! V6 w s% u# l6 g6 t8 _对运行Inventor的计算机,优化其Windows操纵系统和Inventor软件都应该是一个不错的办法。
5 j+ {, y( ]5 j0 w5 n3 r7 G8 h# Q, q5 [! U
1.操纵系统的优化办法( P1 z7 u! r9 f0 H$ |: _$ N
' e% N2 |/ A3 L! q7 s(1)Inventor 2011完全兼容Windows XP SP3,Windows Vista和Windows7系统,根据用户目前电脑配置情况,一般配置(CPU不低于:Intel P4 2.8GHZ,内存不低于:1GB,独立显卡,硬盘不要低于:40GB)的计算机可采用Windows XP SP3,高于一般配置且内存在2GB或更大的配置,可采用Windows Vista或Windows7系统。) X8 @% Q; c5 O) L f7 L1 L
8 j8 @; c) `/ ~- F- y( ](2)以Windows XP为例,我们在“系统选项”中设置“调整为最佳性能”,这样可以使操纵系统少占用虚拟内存资源。再在“系统选项”中选择“高级”,并对虚拟内存的页面文件大小进行设置。这里建议将虚拟内存设置为物理内存的二倍左右。
! L+ c( G$ F; A7 x# A4 f! Q
" W) H! C8 k% ]1 `1 }. a& Y(3)运行“msconfig”,把Windows操纵系统在开机启动时不需要自动运行的选项勾选往掉,不同的个人电脑,该启动配置和启动执行个数都不一样。该方法既可以节省虚拟内存资源,还可以进步操纵系统的启动速度。6 v; O$ C! n9 _( v
6 B- ^" n8 d# R7 l) z
(4)运行“regedit”,启动注册表编辑器,然后找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\6 b9 t5 V+ v2 {/ }$ N9 W( i5 ?
MemoryManagement\。选择“DisablePagingExecutive(禁止页面文件的执行)”,设置键值为“1”,这样可以从一定程度上改善内存的性能,进步系统的运行速度,究竟内存运行速度比硬盘快得多。
2 }9 K& q6 |4 f* a/ [% `
( g. k( O' p. }; U h/ z/ K3 J/ K2.Inventor 软件的优化办法: k4 i8 S" F- ~- h& R# g3 w! d! o
; {; T- w4 ?& @9 T( o. d1 X
(1)在使用大型部件文件时,请封闭无需打开的所有应用程序,以减少内存与硬盘的页面置换。
6 t' [: [( ~ P s% g$ e! M e
* Z3 I e7 N6 y; Y: e) e2 Q(2)在零件文件中,尽可能封闭标准库零件、螺旋和弹簧等的可见性;在装配文件中,尽可能封闭不需要显示的零件和部件,或在总装配中使其不可见;在工程图中,尽量封闭或最小化工程图中不需要的文件。1 |( F: e& x# A) q3 |
% O5 H" ?% L% l6 l1 ~
(3)进步内存的空闲使用空间。5 t- Y4 k w$ f& ]3 y
& d5 {/ ?0 J) }& H$ q+ d2 _
(4)在装配的过程中,有些时候有重复使用的零件或标准件,我们可以考虑仅放置一个。并且对BOM表和明细栏执行数目替换,以正确捕捉设计中所需的零件或标准件数目。 l+ T5 T2 b( t. w g
; O7 `( T; _ y7 [6 y
(5)在“工具”菜单下点击“应用程序选项”,并打开“工程图”选项卡,往掉“显示线宽”并启用“内存节约模式”,还可以设置预览显示为“所有零部件”或“边框”,如图2所示设置。内存节约模式 (Memory Saving Mode)指Inventor在视图计算之前或视图计算过程中保存性地使用内存,但经常导致性能损失。它通过更改加载和卸载零部件的方式来保存内存。在设计时可以往掉“显示线宽”模式,出图打印时可以再把它设置回来。还可以把“预览显示为”设置成“部分(Partial)”或“边框(Boundingbox)”。除了以上设置,还可以设置“常规(General)”选项卡,在大型装配时,将“撤销文件大小(Undo filesize)”设置为“512MB”,这个设置可根据内存大小和装配用量进行设置。还可以设置“显示(Display)”选项卡,在大型装配时将“显示质量(Display quality)”设置为“粗糙(Rough)”,以减少内存和显存的使用量。 三、Inventor软件轻量化装配的优化办法
5 D: t0 N/ e# Z7 W/ t1 B0 K- ]0 [" O8 @0 S' H" e0 ]
事实上,运用Inventor自身功能对大型装配进行优化(一个装配由零件和子装配构成),可以从优化零件和优化子装配的角度着手。优化的方法有:简化设计的零部件、抑制设计的零部件、衍生设计的零部件、装配替换和衍生装配。, G' B0 j0 [! t! H& N) n. |: V
# T5 h, y: \. O1.简化设计零部件& c* Z+ x5 Q+ s3 `
/ q; `6 R2 _. T* R2 f% M" h零部件越复杂,创建的模型细节的数目越多,文件就越大。而在大型的装配中,会有很多大的零部件文件进行装配,再好的计算机也会被“拖垮”,能不能在不影响装配关系的情况下简化零部件模型结构方法呢?如图3所示,就是齿轮原始结构和经过简化后的文件大小。
9 i* X- d9 F G8 _' A- o2 R0 l' |( @' t4 b4 L: N: {6 L4 o
简化模型通过往除圆角、倒角和渐开线齿,使得简化结构的模型与原始结构模型的文件大小相差341.5KB。因此若从零件角度对装配进行轻量化,就必须对一些复杂零件的特征进行筛选,将零件不影响装配关系的特征做抑制或造型终止处理,使某些结构造型不带进到装配中。如一些零件的工艺倒角、倒圆,退刀槽,齿形和螺纹等。通常,简化特征结构和简化装配有以下几种方法。 (1)抑制特征处理。抑制特征功能既可以对零件模型特征进行抑制,还可以对装配部件进行抑制。在完成零件构建和装配设计后,将某些特征或装配部件做抑制处理。具体的方法是:在模型浏览器中,选择不需要带进装配的特征,将鼠标放置到特征上点击右键菜单并选择“抑制特征”,留意选择的特征必须不是其他特征的父特征。
7 D' X/ x7 }0 _. k0 w4 ? q
. q+ w+ R/ m) w3 C; L: J' X0 K) t$ v(2)造型终止处理。构建零件模型之前,我们可以考虑把倒角、倒圆、退刀槽、齿形和螺纹等模型特征放在模型浏览器(也称“特征树”或“模型树”)的最后构建,而这些模型特征是可以不需要带进到装配中的。在浏览器中,将“造型终止”拖到这些模型特征的前面,这些特征就会被过滤出来,功能和零件抑制特征很相似。
9 |! S+ p. b( y$ h
* t, U4 D* `+ O% y5 ~, s(3)装配环境中的不可见处理。不可见处理和抑制特征处理在作用上有些相似,抑制就相当于把模型从装配中移除掉了;而不可见的模型还存在于装配之中,内存仍然加载该模型,只是把不可见的模型隐躲掉了,这样可以节约显存空间,进步文件打开和文件更新速度。在完成零件构建和装配设计后,将某些特征或装配部件做不可见处理。具体的方法是:在模型浏览器中,选择不需要显示的装配的特征,将鼠标放置到特征上点击右键菜单并选择“不可见”,将零件勾选往掉。" F# D% O+ \ e* `" Z4 g4 S
+ n) a+ \$ T$ s# G: a$ Z7 n0 E) U8 E8 V
(4)装配环境中的启用处理。启用处理和不可见处理在功能上有些相似,不可见就相当于把模型从装配中隐躲掉;而启用是把零部件半透明化地显示在装配中,但模型仍然被装配引用,这样可以进步文件打开和文件更新速度。可以在完成零件构建和装配设计后,将某些特征或装配部件做启用处理。具体的方法是:在模型浏览器中,选择不需要启用的装配特征,将鼠标放置到特征上点击右键菜单并选择“启用”,使零件勾选往掉,如图所示。
. |) ]$ z2 W, D6 e3 g以上介绍的这4种方法是用来简化零件设计的,前面2种用抑制特征处理和造型终止处理来简化模型,区别不是太大,它们都能有效地减小零部件文件大小,节省内存使用空间。后面2种用装配环境中的不可见处理和启用处理,在作用上也没有太大的区别,它们可以节约显卡的显存空间,进步文件打开和文件更新的速度。这4种方法是最常见的轻量化设计办法,我们还可以在某些情况下通过隔离(Isolste)、i Mate图示符可见性(iMate Giyph Visibility)、自适应(Adaptive)和接触集合(Contact Set)等方法来简化零件的设计。8 q" u0 E) I# V. ?
( k& v3 R% Y8 E# D& i+ Z0 V事实上,简化设计零部件也有其一定的局限性,首先,由于对模型特征进行了抑制,也就是改变了模型本来的特征,这必然会改变零件的物理属性。例如零件的质量、中心和表面积等。但这些变化大多数情况下比较微小,可以忽略不计。第二,由于零件的本来特征被改变了,在后期出工程图时也将不能真实反映模型外形。因此在出工程图前还需要解除对简化特征的抑制。而工程图和装配都是和零件关联的,并会随时更新,这就产生了矛盾。因此可以考虑采用装配环境中的不可见处理和启用处理,固然在装配中零部件被处理成不可见或半透明显示,但它们仍然被装配所引用,存在于内存之中。
2.衍生零部件设计3 P: v/ D e6 l% Q
0 `6 I; S9 m; Z+ D& ]" W衍生零件是引用现有零件以关联复制实体、曲面和其他信息(例如草图、定位特征、模型特征和参数)的新零件。衍生部件可以过滤掉我们不需要带进到新零件中的特征方法。当新特征添加到基础零部件或编辑衍生特征时,衍生零件将随这些变化而更新。通过衍生的方式,将子装配转换成一个零件代替原来的子装配装进到总装配中。其中,零件级和装配级文件都可以衍生。( [ h& x, _* P9 K; a% F* N
* q( H. l' N; g8 ]
用户可以将自己所设计的装配文件看成是一个子装配,并将其转换成一个零件。具体的操纵步骤如下:
1 u2 k ?" f8 w. O) o
' h8 R! _* ?5 D2 ]3 g: G(1)新建一个零件,退出默认的草图环境,切换到模型环境并删除“草图1” (Sketch1)。
+ r! U) e7 T) T% j( d5 r* u1 ~- ]' c8 S* g# U; b
(2)在软件面板中选择“治理(Manage)”标题栏,点击“衍生”按钮。选择要衍生的装配文件。
, y( }% N* N9 w4 g- x
5 d" _8 j- u( q(3)系统会弹出“衍生部件”对话框。为了能更好地减少资源消耗,可以在对话框中选择不需要带进到总装配的零件。2 R$ O) Z2 I A$ F: b2 a( b
7 J% `8 Z6 U) f S5 i7 E把没有被变更的子组件和载进的组件、在设计上不需要的特征和派生组件作为一个零件来处理,这样就将一个子装配转换成了零件,而这个零件会与子装配跟随关联。很明显,除了能够减少内存的消耗,衍生(Derived)对子装配也存在一定的影响。
! E; W) x* c6 s- [
7 t6 w, R& }" g8 T(1)对于物理特性来说,子装配的衍生体是一个零件,对于一个零件来说只有一种材料,而子装配中却可能有多种材料。因此衍生体不能在材料特性方面正确地反映子装配。假如在衍生的设置过程中排除了一些零件,不仅材料不完整,而且衍生体的重力和重心等物理特性也都与原来的子装配不同。衍生不能够把本体的“iProperties”带进到衍生体中,因此除了物理特性外,其他的特性也只能手动输进,不能与原子装配关联。
* W. T+ s! Y( Q
+ C g# ~* x* Z, M(2)在工程图方面,子装配的工程图不会改变,而总装配的工程图有一些变化。前面说过,衍生体的“iProperties”与原子装配不能关联,而在总装配明细表中的子装配(即衍生体)的特性是不会随原子装配改变而改变的。正常情况下,将原子装配装进总装配中,在BOM表和明细表中可以显示子装配下的各个零件。而将衍生体装进总装配中,却做不到这一点,究竟它只是一个零件。这对于总装配工程图来说影响并不是很大,由于在大多数总装配工程图中,并不会把子装配的零件标识出来,一般使用明细表的第一级即可。
2 a1 R5 U8 S( B* z j
+ C! D( ^2 O/ a+ w通过上面的分析,衍生功能在轻量化装配中还存在一些缺点。衍生功能只能够把模型大多数几何属性带到新的模型中,而不能把模型的“iProperties”带进到新的模型中,衍生机制不能治理到零件的特征级别,也不能够在衍生的时候抑制零件特征,在使用时要留意扬长避短。, o- J* i8 {7 b3 j: F9 B4 z% \
. h7 X: _: e7 L9 S" U" S: P: G3.装配替换8 ?% x s( V: @% a
6 U _% M b4 t4 g' m
当操纵者不需要访问整个装配图,但必须要查看零部件与装配之间的相互关系时,可以使用新的简化零部件来替换原始零件表示某个装配关系。假如想隐躲大量细节,就可以使用简单的零件来表示装配。也可以使用“衍生装配”(Derived Assembly)工具天生一个替换零件,该替换零件线条简洁,能够精确地表示主装配的位置关系。此外,“衍生(Derived)”功能是一个低内存消耗模式的工具,因此基于衍生零部件的替换零部件消耗的内存更少,自适应更新速度更快。图为把复杂的原始模型替换为简单模型。 “替换(Replace)”和“替换所有(Replace All)”功能可以替换零件和子装配,操纵方法很简单,在模型浏览器中选择某个要被替换的零件或子装配并点击鼠标右键,在下拉菜单中选择“零部件(Component)→替换(Replace)”,之后在出现的装进零部件(Place Component)对话框中选择要替换的文件,接着点击“打开(Open)”,系统会出现一个警告对话框,提示约束可能丢失(Possible Constraint Loss),点击“确定”即可。在这里,操纵者需要重新匹配零件的约束位置,假如匹配找不到或出错,接着又会出现替换零部件对话框,操纵者必须再次对零部件约束进行引导并重新装配约束关系。事实上,替换(Replace)对子装配也存在一定的影响,具体如下。: \/ H! o3 g( l
, j5 ]$ c" e- | z+ i; i- q. E
(1)通过具体等级具体表达控制“替换零件”文件,装配中的其他所有零部件将被抑制并隐躲在浏览器中,“iProperties”仍将反映父装配的主具体等级(Master Level ofDetail)。装配的所有约束、质量属性和材料清单的数据全部保存在主装配中,因此使用装配替换零件不会对材料清单或工程图产生任何影响。
7 U! ^7 B: r( R0 \9 ^2 K( [
; k- u4 f- t4 k(2)创建基于衍生零部件的替换零部件,利用较大的衍生装配减少内存消耗,而该子装配是以零件的身份出现在总装配中,因此被替换的零件在总装配浏览器中没有任何特征节点,因此不便于特征的编辑修改。
2 L2 b2 X, ^+ r0 G' b; V8 u5 E, F, L. D" t5 `8 ?; `' \( _
4.使用“具体等级”对子装配进行修改) |/ [: z2 F' Y2 h0 f, a
* L0 o0 Q. o& | S7 q5 _大型装配中一般会有比较复杂的子装配,而在总装配中,子装配的内部结构对于总装配来说并不是很重要,因此可以采用简化子装配的方法来减少资源的消耗。要简化子装配可以通过“具体等级”来完成,将子装配中的内部零件和不影响总装配的零件抑制或衍生部件。这样在调进总装配时,那些被抑制和衍生的零部件将不会占用很大的内存,从而达到减少消耗资源的目的。另外一个方法就是采用包覆面提取和包覆面替换,这种方法由于能够保存BOM的零部件结构,继续零件的物理特征,因此在装配中被工程师大量使用。! r( f: r& a4 D# J7 t& ]6 F F
& U- [6 E4 I3 J+ F, j, f$ W在浏览器中,选择“具体等级(Level of Detail)”,在右键菜单中选择“新建替换(New Substitute)”。' }' f5 Z r4 S) H- E1 w0 Z ?
* L, G# u( ?# P! j8 [(1)衍生部件(DeriveAssembly)。和前面的衍生一样,不同之处在于,这里的衍生部件只是基于具体等级下进行零部件的衍生来治理零部件装配。具体的操纵步骤为:打开一个装配文件,在浏览器中,选择“具体等级(Level of Detail)”,在右键菜单中选择“新建具体等级(New Levelof Detail)”。这时系统会产生一个新的具体等级,重命名并自动将其激活。在下拉菜单中选择“新建替换(NewSubstitute)→衍生部件(Derive Assembly)”,系统将出现保存更新提示对话框,点击“是(Yes)”,代表对具体等级中的文件进行保存更新,接着出现“新建衍生替换零件(NewDerived Substitute Part)”对话框,操纵者需要对新零件的命名、模板和新文件的位置进行定义,点击“确定(OK)”即可。接下来,就是如上所述的“衍生部件设置”,在此不再赘述。设置完后点击“确定(OK)”并返回到模型环境,系统将自动保存该衍生提取的文件。
8 Z1 N, _: c; \- q
5 _6 r) t1 s8 p8 R& k) T( l, x! k(2)包覆面提取(Skrinkwrap)。包覆面提取是衍生的一个加强机制,也是基于具体等级下进行零部件的衍生机制,该功能在治理零部件装配时比衍生部件彻底,消耗的内存和显存也最小。具体的操纵步骤和上面衍生部件一样,这里不做赘述,只是包覆面提取对话框和前面有所区别。/ D3 E& Y2 q% U- _" I9 _$ M
' G/ y. U5 c0 `- ^$ }(3)选择零件文件(SelectPart File)。选择零件文件是基于具体等级下的对子装配文件的替换,它可以把一个原子装配替换为一个与之不相干的简单零件。具体的操纵步骤与之前的衍生部件操纵一样,操纵者需要执行“选择零件文件”,系统将出现“装进零部件(Place Component)”对话框,选择要替换的文件,接着点击“打开(Open)”系统会出现一个警告对话框,点击“是(Yes)”,系统提示选定的零件将被标记为“替换”——零件标记为“替换”意味着将禁用所有外部参照链接,所有链接都将返回至原始状态。返回到装配级环境,最后保存装配文件即可。
3 \5 r1 ?2 o3 W9 _, l
' [6 A! S, u$ E* I3 T7 H% ]在“具体等级”轻量化装配的3种方法中,采用具体等级的衍生部件处理方法,和前面的衍生零部件设计方法没什么太大区别,它针对整个零部件,衍生后只是一个实体,无法保存零件外表面特征和“iProperties”物理特性,无法直接进进下一级装配,内部结构全部被保存,导致轻量化装配不彻底,且质量属性不能动态关联。我们也可以选择尽不相干的零件来替换(即选择零件文件),但没办法按照原部件方式直接进进装配,而且原部件的外形和物理特性也无法保证,这也是轻量化不彻底的一种方式。而采用包覆面提取(Skrinkwrap)或覆面提取替换(Skrinkwrap Substitute),可以直接进进上一级的装配,不仅便于对零部件的治理,不影响BOM表的数据结构,而且可以进步冷容量的利用和性能,大大节约内存和显存容量,还有就是不影响工程图的表达,是一种比较理想的轻量化处理模式,因而被广泛应用。
u9 h' w9 K9 L% u3 B2 X+ P2 Y7 Z7 C6 `( Y4 Y3 O) b+ E6 x
另外,必须提醒读者留意的是:“包覆面提取(Skrinkwrap)”和“包覆面提取替换(Skrinkwrap Substitute)”在功能上是不一样的。“包覆面提取”产生的是零件级的零件文件,而“包覆面提取替换”和浏览器中新建具体等级的包覆面提取是一样的,产生的子装配为装配文件。, \9 w7 p' l! B
) Q# Y9 k; W8 I4 S/ t1 H五、总结- a6 ]8 ~0 m( _" @+ a
) Y. O$ m {- Y0 I9 X
在前面论述的内容中,笔者介绍了利用调整系统操纵软件和Inventor软件来进步计算机运行速度的方法,以及轻量化装配中的大型装配的优化方法,所有这些都是为了进步系统运行速度和性能,减少模型重建的时间,特别是大规模的装配设计,能够从优化设计角度往进步工程师的设计效率,读者用户可以根据具体情况选择以上的优化方法。 经验证确实可以提高运行速度。
0 X+ s ^7 A! u9 N) P s$ r |