陈伯雄 发表于 2002-6-13 09:58:00

[原创]论电脑设计

本帖最后由 陈伯雄 于 2002-6-13 9:58:32 编辑

把Computer(计算机)称为“电脑”,从产生的过程看,可能是受到港台地区习惯用语的影响,好像很大众化。甚至连央视这样的“标准”媒体也是时而“电脑”,时而“计算机”。
而实际上,这代表一种典型的概念错误。
既然人脑是“吃化学制品”的大脑,那么“电脑”就是“吃电的大脑”了?非也!
(1)        脑
在广漠无边的,产生于原始大爆炸的宇宙中,据说只有地球这唯一的绿洲。
恰好的质量,造成恰好的引力,保留住厚度恰好的大气层,挡住致命的紫外线;恰好有铁质的核心,造成了强度合适的磁场,屏蔽了致命的太阳风。这些一起为生命提供保护;
恰好的日-地距离,恰好有水和合适的温度,为生命的起源提供了温床和合适的能源来源;
恰好就产生了植物,它们会将太阳的能量初次转换为可用的能源,为我们和动物提供了食物链的底层;
还是恰好,在生命进化中,鬼使神差,竟然从神经节进化出了大脑;
更为恰好的,一种超智能的生物——人,从中脱颖而出,成为地球上(也可能是我们的宇宙中)唯一最高级的生命形式!!
这都是谁编写的程序?实在是“太”凑巧了,人类着孤独的心情,花费巨资搜寻另一个世界中的亲兄弟,想验证自己的种种推测,可结果是空手而归…
        而在这一系列凑巧的结果中,“脑”是其中最不可理解的、最神奇的、最令人钦佩,也是最为凑巧的东西。即使是一只蟑螂的脑,也比人类最近制造的“智能机器”强上百倍,因为它真的会“思考”。
(2)        人脑
        在一系列的“脑”中,人类的脑不知为什么就比其它的脑存在着质的不同。例如对艺术的欣赏和理解能力,这可不是因为后天的教育、种族、地域等因素造成的… 更因为人脑会创造,而且具有着无、穷、无、尽、的创造力。
        大猩猩比人类的历史长得多,但今天它还是大猩猩。而人类在仅有几千年文明史,今天的人类在应用技术上是古人完全不能相比的。
        爱因斯坦“想”出来一个可能:在强引力场作用下,时空的弯曲将引起光线弯曲。而在一次日全食的观测中,证明他是对的。
阿基米德“想”出来几何定律,虽然的我们生存的世界中并不存在相关的实例,而且我们今天还在用这些定律。
爱迪生“想”出来了电灯,使我们摆脱了黑暗。
我们使用的计算机,其根本原理竟然是始起源于中国的古老数学——八卦…
        这些不是对自然的模仿,纯粹是“想”出来的新鲜玩艺。直到现在,人类还在这样“想”着,而计算机就是一个典型结果。
        想,这就是“创造”。
        会想,这就是人脑的奇迹所在。
        笔者常常感到困惑的是:在思维上,几千年来人类可能没多少进展,例如:现在的世界还是沿用战国时期就建立的那些策略(可是当时人类的思维是怎样“突变”的呢?);在应用技术上,几乎是按照几何级数在飞跃,例如:十年前的计算机和今天的计算机是多么不同,甚至有这样的感觉:那时候的计算机实在名不副实…
(3)        “电脑”
什么是“电脑”?不就是计算机硬件+应用软件么。但是,它真的是“脑”么?
评价的标准很简单:会不会像人脑一样“思考”。而这种思考的标志就是创造。
最好的结果是:“深蓝”赢了人类象棋大师几盘棋。但我可以肯定,继续下下去,人类将会越来越多地取胜,因为人类能够创造全新的、从未有过的战略战术,而“深蓝”不能。其实,这并不是公平的竞赛,为了教会“深蓝”下棋,有多少人在写程序…
这样的东西能称为“脑”么?别玷污了“脑”的神圣之光吧。
好多年之前,人类中曾经有这么一伙软件设计师,自认为已经了解了神秘的脑的工作模式,可以用自己的程序模拟脑的处理过程,这就是“人工智能”的研究。他们认为:一个CAD软件,可以在和工程师做了几个设计之后,“学会”工程师的设计思维方法,因此能够与人平等地实施设计过程(并称之为“专家知识库的自学习”功能)。
能么?至少已经发生的事实说明,不能。这伙以为自己也和“上帝”一样能创造“脑”的哥们,终于认识到自己能力之不足,也就不再坚持,该干什么干什么去了…
因为计算机是人脑的衍生物,它只再现了人脑思维中能够表面化的一小部分功能。
因为计算机不是电脑,它无法像人一样思考,像人一样创造。
笔者认为,这应当是一条规律。并且是一条永恒的规律。
(4)        软件
软件做什么?实现一些规则处理的自动化。
什么规则?例如:1+2=3。“加法”是功能,而“1+2=3”是规则。
这样的规则有个特点,必须是明确的、可由程序实现的。这些规则越明确,软件就越容易实现,而不在乎多么庞大。
操作系统软件的规则,几乎完全由软件设计师单方面确立,当然是建立在共同常识的基础上。因此这样的软件相对容易创建,大家都按照既定的规则使用,也容易掌握、很少争议。
专业应用软件(例如CAD),规则(设计构思)几乎完全是用户的已有模式,而且与常识相当地不同。因此这样的软件不容易写好,大家按照自己各自的设计构思(规则)理解和使用软件,掌握起来就不容易了、存在着大量的争议。
1.        关于“规则”
前边提到了规则,必然引发谁确立、谁遵守的问题。
搞清楚这个问题,就能恰当地确定我们自己的位置和对策,把精神头用到合适的地方,以较快的速度掌握软件、较好的效果使用软件。
笔者认为,许多人、在许多年的时间中使用CAD软件,还是不能解决多少实际设计问题,关于规则的概念不清楚,是主要原因。
(1) 谁确立规则?
是软件设计者。
是软件设计者根据从用户中听说的设计需要、经过自己理解和总结之后,结合自己所掌握的数学模型和程序设计技术而确立的。
这里有两个要素:
1〉        数学模型。
这个东西是研究数学的人们创立的。随着技术进步,这个模型也在完善,能力逐渐加强。所以我们看到CAD软件已经比过去“能耐”大多了。但是,这种计算模型只不过是人类的一小部分思维的模仿,完全地、同等能力地模仿人类思维,以前不能,今后也不能。因为这种模仿始终是在人脑后面一步一步地爬行。就CAD软件算法核心而言,创立它的数学家们,与一个一般工程师相比,其规则的符合程度仍然是“相差甚远”。
2〉        软件工程师的理解。
这是最有问题的环节。要不怎么叫“隔行如隔山”!
我从来也没相信过(因为已经发生的事实就是如此),我对于某设计的思考过程,能够被一个软件工程师真正理解。这就麻烦了:CAD使用者的思维,与CAD创立者的思维不一致,但软件运行的规则却是他们说了算!
但这就是事实,找不到办法更改的事实。只有我们自己亲手编写的程序,才可能做到与自己的设计思维基本吻合,而这样的程序笔者在AutoCAD中作了许多…
(2) 谁执行规则?
是软件使用者。
是软件使用者按照自己的设计需求,依据软件提供的规则(如果提供了),来完成自己的使用过程。这些使用规则,在没有CAD软件之前就早已确定了,而且不可能依据软件能否做到而明显改变这些已有规则。这一点在CAD类软件使用中尤为明确。
这里还有一个实际上确实存在的问题:使用者是不是明确了自己的规则?
笔者遗憾地看到,相当一部分CAD软件的使用者并不明确自己的规则,就是说,他们的设计能力尚未达到合格工程师的水平(虽然可能毕业于名牌大学)。因此,他们只好从软件中寻求“设计思维”的规则,这就是一种糊涂对糊涂的糊涂帐。
(3) 谁解释规则?
不甚明确。
在使用CAD软件进行设计的过程中,最常见的现象是人在与软件叫劲,这几乎是永恒的主题了:“你怎么就做不到这个要求呢?!这不是很简单么?!”然后,上火、着急、… 以前的传统设计证明,这个要求并不过分;这个要求下实现的设计已经被制造和使用过程验证过了;从逻辑上说,没有任何问题的… 可CAD软件就是做不成。
谁来解决这个问题?谁来告诉我们怎样实现设计要求的规则?
利用软件的在线帮助?没用,因为只有某个功能的解释,而没有解决设计需求的方法。
书?不好说。实际上许多作者对软件使用的理解还不如读者深透。
问软件商?您把需求和他说明白、他也听明白、这种结果已经很难做到了,他自己也不见的有具体方案,不会花费大量的精力为您解决问题。据我所知,经销商是一些商人,利润是他们唯一的追求。怎样能在最少的投入下取得最近的、最大的利润,就是他们生存的目标。至于能不能给用户提供有效的技术支持,则几乎是最后面的想法,能不能实施可就难说了。
怎么办?没人解释这些规则。可能的方法:自己救自己。
(4) 谁完善规则?
当然是软件开发商。
但是,他们是按照他们的理解,而不完全是用户的意见。
有人说了:我的要求十分有道理的呀,例如中国标准的标准件库。
可您想没想,只有一丁丁点的中国地区销售份额、大量的盗版用户,软件商为什么要投入大笔资金来满足中国用户呢?除非他们傻。
经销商也可能在用户的压力下做一点完善的工作,但是由于不想真正投入,结果也不过是敷衍而已。
所以,规则的完善远不会是我们所希望的那样。这样,有效地使用CAD软件的主要工作,应当是解决我们自己的问题。至少这样做是可能的、是有效的、是由我们自己说了算的、是有希望做到的。
在规则尚不完善的条件下,能用多少就用上多少、能解决一个问题是一个问题,随着软件的完善,能解决的问题将会越来越多。
而尽快掌握软件的定制和程序设计技术,绝对是在规则尚不完善的前提下,扩大我们的使用战果的有效手段。
(5) 软件应用效果的分析比较
为了能清楚地说明问题,用大家都熟悉的Word和AutoCAD进行比较。
项目        Word        AutoCAD
所涉及的知识范围        常识        比较专业
软件设计者对未来使用的理解        到位        不太到位
软件功能与用户需求的关系        相当对应        需要自己对应
需要用户定制的部分        很少        很多
普通百姓掌握使用技术的难度        简单        比较难
现有参考书的指导作用        很大        很小
通常的使用效果        好        一般
还有一个比较,来说明专业基础与CAD软件使用效果的关系。
例如用Word写文章,打印结果相当好,文字整齐,几乎与印刷品一样。用AutoCAD绘图输出也有同样的效果。
但是如果您的文笔并不好,或者心中空荡荡的,就算文章打印出来很漂亮,可读起来却味同嚼蜡。用AutoCAD绘图也一样,图再好看,设计出来的东西不行,不是白好看了么?
可见,使用任何应用软件,用户的专业水平实在是结果好坏的第一要素。除非您在玩游戏。其实玩游戏也有专业背景,例如玩三角洲部队的两人对攻,我就常常取胜,因为当兵的时候经过完整的战术技术训练,利用地形地物、隐蔽自己、进攻敌人… 这些“作战”的专业能力上,比一般的工程师肯定强不少。
2.        怎样有效地使用CAD软件?
前面罗列了现状和笔者的分析。
笔者认为,这里有许多是我们这些使用者不能改变的事实。
我们的一切对策应当以此为基础,才会是可行的方案。
解决我们自己的问题,这就是出路。而首先是观念问题。
但无论如何,CAD软件是一个重大的技术进步,对于提高我们的设计质量、设计能力、设计效率,起到了前所未有的推动作用。所以我们才要使用这种技术方法。
(1)        从一种典型的观念说起
有相当多的人在研究,如何在CAD软件中创建渐开线齿轮,为了能“看一看”,至少已经听到几十次这样的说法。也就是:仅仅是为了完成造型。我认为,这是一个普遍的CAD软件的应用误区。不是不能完成,实际上能相当精确地完成齿轮造型。这里的关键是“为什么要这样做,做完之后又想怎样”。如果说“看一看”,似乎找真的一个齿轮零件看看更好。
天下没有“仅仅为了”的事情,每一件事情都有它的前因后果。对于CAD技术中的原始模型的创建,更没有“仅仅为了”的事情。
从二维CAD技术来说:设计总要绘图,是迫不得已。因为一个工程师无法记住自己的设计(那怕是较简单)中的全部细节,图形表达就是唯一可能的方法。这些图首先是给设计者自己看:为了记住、研究和配凑设计自己的构思。其次是给别的工程师看,为了互相讨论交流,共同合作完成设计;最后是为了给制造者看,为了将设计意图在制造车间变成实际零件。可见,我们绘制工程图,实际上是设计思维的表达手段,从来也没有“仅仅是为了绘制这个图”的可能。
时至今日,软件已经有了质的飞跃,但是在多数用户那里,一提起CAD,人们仍然先想到代替手工绘图,而不是有效的全面辅助设计。以至于许多机械设计部门的领导问我,过去我们用纸绘图,现在用计算机了,这两者有什么不同?从设计过程来看,真的没多少不同。在纸上不好办的事,现在仍然不好办;图纸画得规范、漂亮,而设计质量却没有提高多少;仅从绘图来看,提高了一些效率,可考虑到软硬件的投资,日常消耗品的投资,这点效率似乎很不够,你很难说清楚这笔投资的回收期多长,能否在系统技术折旧到期之前有盈利... 所以,仅仅是计算机辅助绘图,并不能够提高设计质量,解决技术创新中的关键问题。
使用CAD软件之前要有两个基本的标准:我用这个东西,要解决什么问题?怎样评估我要解决的问题是否已经解决?否则就是相当盲目的。
回到一开始的讨论,在CAD软件中创建齿轮,既不必进行装配啮合仿真,也没有必要用什么软件进行这种啮合过程的应力分析。我曾经与一位研究生争论过这个问题。他说想用这种方法研究渐开线蜗轮付的啮合过程干涉。我说:“您有这样的信心么?就是说,你能够在CAD软件的支持下,找到经典的齿轮设计理论和设计标准中的漏洞么?”。结果是清楚的:不能。那您还做齿轮干什么!
如果是用来做“演示”,那就完全是另外一回事了。即便在AutoCAD中也能很好地完成,因为所有的轮齿的轮廓都可以简化为圆弧!
实际上,这种观念认为,CAD软件只不过是一些二维或三维的电子图板,也只能做一些代替原来的手工绘图,做些“形状表达”之类的事情。究竟CAD软件会对我们的设计有什么样的辅助作用?这就要从设计的过程和计算机软件的基本概念开始讨论。
(2)        计算机软件和数据库
所有的计算机软件都是“数据库”。
一谈到数据库,人们就会联想到dBase、Access之类的软件,就象一说到CAD,想到的就是“电脑绘图”一样。这确实是相当普遍的现象。普遍,不见得正确。普遍如果不正确,就有必要讨论了。
计算机的软件有没有非数据库一类的呢?没有,全都是数据库。因为,目前计算机能够处理的任何东西,都是、也仅仅是可以数字化表达的东西,除此之外的东西,计算机都不会处理,所以我主张别把计算机称为“电脑”,计算机与“脑”的差别何止千万里。
只能处理数据,这就是目前我们使用的计算机的性能。就是说,要想在计算机上处理某物,必须有表达此物的方案(数据结构)、必须有存放此物的容器(数据库)、必须有操作此物的工具(处理方法)、必须有填充数据的方法(输入功能)、必须有结果处理的功能(输出功能)等,这是一般的道理。所以,所有的计算机软件都必须有数据库功能,是当然的结果。
再看实际的软件,从操作系统到游戏,无一不是以数据库和数据处理为核心功能的,只是外在表象上,不见得直接说自己是数据库(也没有必要这样说)。相比之下,CAD软件必须有更高级的数据库作为基础设施
作为数据库,根据其具体容纳的数据结构之不同,数据关联关系之不同,分成许多专用类型。作为CAD软件的底层,除了要具有常见数据库的数据结构之外,还必须带有几何图形数据库结构,因为这是它要处理的主要对象。这是超出一般数据库的地方。为了能精确表达几何数据,CAD软件的数据表达精度一般都能超过十万分之一毫米。
作为数据的输入,一般数据库是直接(文件或者键盘)输入原始数据。而CAD软件的几何数据库,就必须有良好的、容易掌握的、足够精度的方法,输入用户的数据,这就是一系列的绘图功能和图形状态下的交互操作界面。而生成图线的过程,就是在填充这个图线的几何数据库的纪录,这是必须具备的图形输入。这又是超出一般数据库的地方。
作为数据提取,一般数据库是以某些关键字之类的代码进行检索。而对于CAD软件,这样的检索功能就太单调了,因此,CAD软件数据库的检索功能相当复杂和完美,例如:指定图线的透视显示影像,也能找出关联的数据库记录,就像我们用手指点一个物体,与他人进行交流一样,而且这种功能还在继续丰富和提高。这也是超出一般数据库的地方。
总之,任何一个CAD软件,其数据库从结构到功能,在设计数据处理方面,都超出了那些通用的数据库软件。当然,对于一般数据库所具有的,CAD软件也是必须具有的基础功能。
这是一个重要的基本估计。就是说,使用CAD软件的原因,就是因为能够建立和使用比较完整的设计数据库。
(3)        设计表达的数字化
设计过程,是一种人类大脑所特有的创造性过程,决不是“电脑”所能理解或掌握得了的技术。为了表达和记忆自己的设计思维,不得不借助工程图,而现在,也有可能借助软件,使用三维模型进行了。但无论如何,对这些表达的建立和结果的解释,还必须由经过专业训练、成熟的工程师(人)进行。大量的设计构思,需要在这样的解释下才能展开和讨论。可见,图形与数据之间,需要人的介入、记忆、解释,才能真正有用。这就是传统设计中对于“设计构思图形化”的处理规则。
前边说到,计算机不能处理没有被数字化的东西。而传统设计中的表达却不是这种数字化的东西。如果直接按照传统设计的习惯使用CAD软件,因为离不开具体某人的解释,就会出现许多困难,也就是说,并没对设计过程有多大的提升作用:
例如:就是经过几个人的审校,漏标尺寸的事仍时有发生。而且设计师在这个设计中独创的地方越多,审校的人对这个设计的构思越熟悉,漏尺寸、漏图线就越难防止。正是:不识庐山真面目,只缘身在此山中。
例如:最基本的设计过程中,基于装配关系的、各个结构之间的配凑,需要人进行把握,稍有不慎,就会在现场装配中出错,于是,就需要重新设计和制造。
例如:设计的更新与修改问题。传统的二维设计是一锤子买卖。如果要更新或修改,就要重新绘图,一般规定不可以打补丁(多数设计部门是这样要求的)。尤其是多视图零件,在修改设计时,零件的表达和它的有关设计参数无法完全放在一起,当然也没有直接的关联,这些技术资料的保存和更新都十分麻烦。虽然二维图形在AutoCAD中有较方便的修改方法,但是由于是对表达“图线”的修改而不是对设计“概念”的修改,仍然是相当麻烦,相当不可靠的。
例如:设计工程管理问题。这里所说的是对设计的管理,不仅仅是对图纸的管理。我们一些CAD用得好的单位,已经有几千个DWG文件,而且在继续增多。这些文件中除了图形信息外,还会有大量的设计参数等非图形信息,它们按装配层次关系有一种复杂而有序的关联。能否将传统设计中的管理模式用在CAD系统中?
……
原因是因为在使用CAD软件的过程中,您完全没有准备在二维/三维构造过程中表达充分的原始设计数据,也没有对设计数据进行关联和使用,进而使设计构思的“数字化”。
要知道,传统的二维工程图表达本来就不是设计构思的完整表达,也不是设计构思的真实表达。这样的图样必须由经过专业训练的人(熟记表达规则)才能读懂,数据的提取必须由读图的人按照许多规则进行解释,他才能了解绘图人的意思。
在传统设计的基础上,按照“CAD软件不仅仅能绘图,更是有效的设计数据库,因此必须做到设计构思的数字化表达”这样的观点进行软件使用,将尽量完整的设计构思记入CAD软件的数据库之中,将这些数据的关联关系描述清楚… 就可能解决上述问题。这就是说,在所有的CAD软件使用过程中,应当始终以“构建和使用设计数据库”的基本概念操控软件,就能产生源于传统设计、高于传统设计,切实发挥CAD软件支持能力的好结果。这就必然涉及到参数化设计技术。
在CAD软件的专业应用上,一直存在两种相当不同的技术风格。
“造型派”认为:只要看起来象,创建的方法是否合理,设计数据怎样构建都无所谓。例如:造型派们甚至可以使用CorelDraw生成二维机械工程图,用3DSMax生成三维机械模型,并认为这没什么不对劲的地方。造型派也用参数,但主要目标是使结果“看着像”,而不是为了设计数据的正确表达。因此,他们用Inventor/MDT或其他三维软件,经常处在欠约束的状态,也不认为基于装配的参数关联设计有多大的意思。例如:他们要求能够实现600零件的装配,想想看,600个零件,谁能在一张装配图上表达600个零件的装配关系?别的不说,600个零件的明细表可怎样铺开?!
“设计派”则认为:看起来象是必然,因为我的模型正确。但是,整个的模型必须有充要的参数驱动、装配关联和设计数据表达。基本的要求是:在设计参数的范围内,模型不会被“拉散”、“扭曲”,而且能够根据设计配凑的需要进行方便的修改调整和设计数据的提取。因此设计派认为用CorelDraw生成工程图是无法理解的荒唐做法。
实际上,这个“参数化/变量化设计”并不是CAD软件带给我们的新设计模式,仅仅是对传统设计过程的提炼和抽象,为的是能够将我们的设计过程在计算机软件中处理。当然,这可就不是“电子图版”和“电脑绘图”这种概念下的结果了。
(4)        绘图/建模是设计构思的工具,而不是设计的结束
CAD的D是“设计”,而不仅仅是“绘图”或者“建模”,这一点必须十分清楚。设计者,创建、策划、构思之谓也。设计是个相当复杂的、只有经过训练的、有一定天赋的人脑才能实现的过程,设计中各个相关要素(在装配下的零件、在零件上的结构、在结构中的形状和尺寸…),在设计全过程中要反复调整、配凑,这是设计全过程中始终存在的动作。
D的过程中,会发生了许多困难,我们当然想有人A我们一下。而现在,由于计算机技术和软件技术的飞速发展,C可能就是A我们进行D的人。这就是CAD技术。
我们发现,无论是何种CAD软件,最基本的功能就是构建二维或三维的模型,为什么呢?因为这是CAD软件的及格线。可见,绘图、建模,是设计的起点和过程中的动作,是辅助手段。认为目前的工程图绘制或者三维模型的表达完成,设计就结束了,这显然是极其错误的。下面就是几个关键概念:
1〉        零件可能被单独设计出来么?
不能。即使是标准件的螺丝钉。
因为,从来没有任何零件可能被“单独”使用的。
任何零件被设计的唯一目的就是“被使用”。
还有个例子:热水器开关上的字。开关装在离地2m的高度上,设计师将文字(例如:进水、混流、断水)的字高度设计成5mm,连我这专看远物的老花眼都看不清楚。文字和谁装配?和使用者的视力。其实这个设计完全没必要用罗里罗唆的文字,用符号既简单又清楚。
必须与相关零件配合进行设计,才可能是正确的,这是任何设计师都应当理解和掌握的。
可见,无论使用什么样的CAD系统,无论用三维软件还是二维软件,使用中都必须始终把握“基于装配的关联设计”这样一种基础的数据结构和流程。由于CAD软件提供的功能之限制,这样的关联可能由使用者控制、可能用数据表控制、也可能有软件提供的某种功能实现…但无论如何,独立的零件设计实际上是不可能实现的,除非您是“描图员”,照着已经设计好的底子抄图,或者照着已经设计好的底子建模。但这可不是“设计”的意思了,因此您的动作实际上就不是CAD。在“抄图”的基础上讨论任何技术方法,实际上没有意义。因为抄图不是设计。
可见,设计的全过程必须、也总是,以“装配中的关联关系”为基础进行的。
2〉        为什么必须实现关联?
设计过程粗略地讲,是一个不断配凑的过程,虽然结果的表达是工程图或者三维模形,而实质上还是“一系列设计参数的关联”。例如:螺旋桨的安装孔与发动机输出轴之间的设计关联,就是以输出轴作为设计基准,对孔做关联设计。如果我们有办法在CAD软件中建立这种关联,就有可能在系列设计中,一旦更换了发动机,螺旋桨上的相关结构就能自动更新,完全避免了传统设计中可能的错误。这就是参数化设计模式的出发点,也就是对实际设计思维的比较完整的表达。
笔者想强调,这种“关联”,不是某些CAD软件所带来的“新的设计思维”,而是把工程师设计过程共性的规则“模拟实现”而已,是更精确地模拟了我们的设计思路。所以,我常说一句不太好听的话:您得先是一个设计师,然后才能真正理解CAD。这就是参数化设计所要做的,基本的规则是:实现基于装配的设计参数关联。
3〉        设计就是模拟加工、模拟装配
设计过程中,自始至终充满了“假如… 因此… 于是…”这样的思维推理过程。就是说,实际上工程师是在脑子里模拟自己设计的东西未来的样子。可见,一个不懂相关的工艺、测量、装配、调试技术的工程师,无法进行真正的设计,至少不能完成优秀的设计。
于是:“你怎么设计,我怎么测量;你怎么测量,我怎么加工;你怎么加工,我怎么造型”,就成为粗略的规则。反过来说,设计方案的确定,就必须与被设计对象未来的加工、测量、装配过程紧密相关,不可脱节。
于是:在CAD软件中尽量完整地再现这样的思维过程,甚至因此出现了各种专门的“仿真”软件,在计算机上进行过去生产现场才能完成的过程… 这种目标成为CAD系列软件永恒的追求。
于是:我们就设法在现有的软件功能基础上,尽可能多地实现这种“再现”、或者说规则的对应。眼前能够解决的,也是最需要解决的,就是“基于装配的关联设计”,这是最可能实现的,也是最急需实现的。
4〉        设计数据库的作用?
到了设计数据库的阶段,就突破了传统工程图设计表达,因此也会有许多“新”的技术方法。注意:这些技术方法不是“新设计思路”,而是源于传统设计、高于传统设计。
即使有了完整的设计数据库技术,设计过程也不可能脱离工程师的智慧。不同的是,人需要记忆和分析的问题会逐渐减少,更多的、有规则可循的事情将逐渐转给软件去处理;腾出来的思维空间,用作更大规模的创造。
无论如何,有了设计数据库的概念,至少会解决这样一个问题:一个设计数据,只有一个人说一次。在CAD技术使用不当的用户那里,一个数据常常是几个不同部门的人分别说几次。别的不谈,这几个同名数据的差别,谁去检查?谁去认定?谁去协调?因此,设计结束,制造结束,在装配时才发现不对了…
由于不同的CAD软件,设计数据库的规模和能力之不同,人需要操心的事情也不同。例如:AutoCAD/MDT/Inventor三者,设计数据库的性能逐渐提高,人需要操心的事情逐渐减少;另一方面,灵活性逐渐下降;但是,都能在很大的程度上完成基于装配的关联设计,而且人在使用中的思路完全是相同的。
5〉        设计需要与CAD软件
设计过程的结束,是在所有零件都被确认的时候,标志是所有零件工程图、机器总装配图、设计说明书、零件和装配工艺都已经确认。
设计的操作有两大块:几何设计和工艺设计。
几何设计:
基于装配关系,进行形状、结构、大小、配合… 参数的确定
工艺设计:
基于几何形状和工况,进行材料、热处理、加工可实现性、安装可实现性、工艺结构… 参数的确定
一般的CAD系统,工艺设计能力较差。在其它软件的协助下,也仅仅能够在材料的选择上进行辅助。因此,CAD系统的设计结果仍然是不完整的,传统设计中的过程并不能完全接过来。可见,即使在高级的CAD系统支持下完成了设计,仍然需要修改或调整。而这种修改或调整,常常是以某个零件为切入点。
可见,在后期设计调整中,基于装配的关联关系,仍旧十分关键。
另外的需求是CAD-CAM,比例虽然不大,也是很典型的。这种需求与一般的设计不同,是为了给后边的CAM准备数据。
当然,原始设计数据应当来自真正设计的结果。但是相当偏重于“造型”,当然,这种造型也不是“仅仅为了”,也有基于装配的味道。这里的装配,是模型与CAM系统之间的装配,与CAM系统现有条件之间的装配。
3.        二维设计和三维设计
在二维参数化软件前景不甚明确的背景下,基于特征的三维参数化/变量化软件开始进入。

人在设计零件时的原始冲动是三维的,是有颜色、材料、硬度、形状、尺寸、位置、相关零件、制造工艺等等关联概念的三维实体,甚至是带有相当复杂的运动关系的三维实体。如果能直接以三维概念开始设计,在现有的软件支持下,这个模型至少有可能表达出设计构思的全部几何参数,整个设计过程可以完全在三维模型上讨论,对设计的辅助就很容易迅速扩大的全过程,设计的全部流程都能使用统一的数据。
这样就有可能比较容易地建立充分而完整的设计数据库,并以此为基础,进一步进行应力应变分析、制件质量属性分析、空间运动分析、装配干涉分析、NC控制可加工性分析、高正确率的二维工程图生成、外观色彩和造型效果评价、商业广告造型与动画生成等一系列的需求都能充分满足,是对设计全过程的有效的辅助,是有明确效益的CAD。
但是,从现场实际设计需求讨论,似乎还有些问题,而这些问题同样是在实施过程中发生的,这些将提醒我们冷静地思考未来的方向。
(1)        对工程师的“洗脑”问题。
任何软件都不可能完全按照使用者的想法做事情,人和软件功能的相互整合、双方现有规则的对应,是使用软件必然的、永恒的主题。这个过程随着软件的越来越先进、人的技术准备越来越充分,也会越来越短,但不会是零。在三维软件的培训和实施中,表面看的结果,并不是所有的工程师都能理解和掌握三维设计方法。比起二维设计软件的掌握,合格的人数大打折扣。为什么呢?这就是“洗脑”的过程的难度所致。
对于一个成熟的设计师来说,进入三维设计最大的障碍不是软件应用技术,而是自己的对设计表达的方法。由于多年来习惯于二维工程图表达,习惯于一系列规则的使用,对于描述三维模型上各个特征的类型和相互关系,从思考方法上已经生疏。在这一方面,甚至不如一个新毕业的大学的生接受能力。把自己的思维模式“返朴归真”,是一个必须经历的过程。
在表达方法上解决了之后,适应软件的规则是另一个问题。人的想法需要经过软件的相关功能实现,如果软没有提供直接对应的功能,就需要“按照”软件之可能,拐它几个弯完成。这也是一种“洗脑”的过程,这一点始终在干扰我们有效地使用三维软件。
无法使软件设计师完全理解某专业工程师的思路,所以总有些矛盾。由于软件提供的功能不够“专业”,用起来就有些摸不着头脑,这个整合过程也是“洗脑”。
洗脑的过程很漫长,以至于一些三维软件的高手,在碰到具体问题时,也得一试再试。同样的问题,在二维设计中就相对简单而明确。
必须洗脑的根本原因是,目前的三维软件还不能做到与工程师设计规则完全整合。这种现象恐怕要在相当长的时间内存在。软件设计者对设计过程理解的程度、算法核心所提供的能力、表面程序可实现性、有效而正确地抽象工程师的设计思维… 这些可不是短期内能解决的,另外,“隔行如隔山”,软件工程师在理解专业设计思维上的障碍,真是很不容易突破,我可是多次体会到了。
平心而论,在软件的使用过程中,前期常常是人在与软件“斗法”,这里确实有人的想法不正确的问题,主要原因是设计能力问题;而更多的是软件功能和算法的限制(这种限制将永远存在)。这本书中的许多讨论,就是在解决这些限制,使读者在与软件斗法的过程中,能顺利一些。
(2)        掌握软应用技术的效率问题
基于传统二维设计的软件很容易掌握,因为这是一些基于已有知识的内容,软件规则与人的现有规则大多数是符合的。而三维软件就不行了,大量的新的规则,与人的现有规则并不完全一致,怎样结合已有知识掌握好?
掌握软件的效率,对用户来说有个限度。过长,结果就是放弃,这样的实例很多。洗脑的过程越长,掌握软件的效率就越低。
(3)        实际设计的效率问题
同样的设计,需要用多少时间在软件中完成?对于创成设计,三维设计效率较高;而对于检索设计,二维设计效率较高。总之,工程师越熟悉的设计,二维设计的效率就越高。因为许多细节不需要再次配凑,结论已经很清楚了,设计数据的构建和表达也很明晰。
另外,三维表达,对于稍微复杂的结构,就相当难以察看。这不是工程师的习惯问题,而是目前还没有真正“三维显示”的技术,我们在三维软件中看到的是三维物体在二维平面上的投影。在二维表达中,就好得多了,毕竟是我们十分熟悉的规则。
(4)        尺寸与形状问题
从目前的已有软件功能看,参数化的过程以建立和使用驱动尺寸为主要内容之一。但是,究竟怎样理解“尺寸”与“形状”的关系呢?
在人的设计思维中,所有的尺寸大小数据来自于相同的源:形状。在传统设计过程中,所有的尺寸都是对形状的注释,是说明形状的具体数据。因此,即使是在设计草图中,也要标注一些关键尺寸,因为图线不太准确(即使比较准确,也测量不准)。
如果我们认识到CAD软件可能构造设计数据库,而且有足够的精度(十万分之一毫米),就会相信自己在CAD软件中创建的形状是“绝对精确、无误差”的。如果我们了解CAD数据库的数据访问和提取方法,就会省却传统的尺寸标注,因为有了“形状”就相当于已经有了“尺寸”。这样,就只有在最后的工程图中才需要标注尺寸,而在此之前的各个版本的设计图中,完全不必标出尺寸。
另一方面,对于参数化设计中的“参数”,则必然包括“尺寸”。而在参数驱动中,几何关系、装配关系等等,最后还是大部分落实到了尺寸上。这种条件下,尺寸标注这种功能,就不再是“注释”,而是驱动用的“参数”了,可能在CAD软件中看起来两者很像,实际上有本质的不同。
作为参数化的驱动尺寸,是在定量表达设计数据和思维,因为设计数据表达的需要,其具体数据可能大量使用变量与计算表达式,这在工程图的注释型尺寸中绝少见到。而在注释型尺寸中经常出现的公差、线下注释,在驱动型尺寸中则绝少见到。
作为参数化驱动尺寸,更多地注意表达设计的构思,而不是为未来的施工者提供尽可能直接的工艺尺寸注释。这也是一个明显的区别。
从这个意义上说,设计图和工程图应当不是同一个图形文件,两者应当有不少差别。总体说来,工程图数据来自于设计图,是与设计图自动上下关联的子集。
一个有趣的例子:利用AutoCAD设计,需求是想在一个直径110的圆中,放置13个半径相同,互相相切的圆(参见右图)。求这些小圆的半径值。实际上用两个命令就能建立结果数据:

1〉        用Circle绘制一个圆,半径确定,多大都行,但要记住。例如:1、5、10…
2〉        用Circle-2P绘制与这个圆相切的圆,仍使用确定的半径。
3〉        用Circle-TTR绘制其他五个相切的圆,仍使用确定的半径。
4〉        用Circle-TTR绘制外圈六个相切的圆,仍使用确定的半径。
5〉        用Circle-3P绘制外切的大圆。
6〉        用Scale-R命令放缩全部的圆。
命令: scale
选择对象: all
找到 15 个
1 个不在当前空间中。
选择对象:
指定基点: 〈任意〉
指定比例因子或 [参照(R)]: r
指定参照长度 <1>: qua 于 〈大外切圆直径上的一个像限点〉
指定第二点: qua 于〈大外切圆直径上对应的另一个像限点〉
指定新长度: 110

至此(两个绘图命令用完),实际参数已经存在了。至于提取这个具体得结果参数,就很随意了。例如:Dim/Dist/List… 正确的结果是:R12.32050808mm
AutoCAD(或者合格的其他CAD软件),其基础功能都是CAGD(计算机辅助几何设计),因此,求解几何参数,应当是拿手好戏,当然,仅仅认为CAD是绘图或建模的工具,即使软件有这样的分析功能,也不会去用它,甚至没想到这样用。
作为设计数据的表达,可分为两类:关系和大小。实际上这就是参数化设计的主题。在这个小题目中,我们先是确定了各个零件的装配关系,之后再驱动它们到要求的大小。这实际上是工程师设计过程的抽象和整理,其基础是设计中的思考过程。

陈伯雄 发表于 2002-6-13 20:40:00

请各位圈阅、斧正...

东哥 发表于 2002-6-14 09:08:00

存在的就是合理的

存在的就是合理的。虽然我们会觉得好多存在的东西不合理,就如AUTOCAD,对设计人员来说也许还有很多的不合理。但是它存在着,就有它的合理性。
我们希望能够用上一个尽善尽美的软件,但也只能希望着。如果一个人是设计界的高手(也只可能是某方面而言吧),那么他几乎不可能成为软件界的高手,因为他已经忙得不可开交,而且也已经有了丰厚的回报。如果他是软件界的高手,往往对设计又知之甚少。因为他也已经忙得不可开交,而且也已经有了丰厚的回报。那种对各行各业都十分精通的人才实在是很难找很难找的。所以我们只能期待着。

龙龙仔 发表于 2002-6-14 13:33:00

这就是为甚么别人写的程序(CAD)总不满意,非要改一改才会合用吗!!

快乐贝贝 发表于 2020-5-23 09:25:12

回帖是一种美德!
页: [1]
查看完整版本: [原创]论电脑设计