杂谈--CAD技术与“电脑”(上)

2003-1-13 10:43:05【作者】 畅享网 【进入论坛】
本文关键字 理论探讨 PLM
广告

杂谈--CAD技术与“电脑”(上)

陈伯雄



1.从“电脑”说起

这里首先讨论的是一些“虚”的东西,是一些关于CAD软件使用与设计的关系的讨论,其中的观念将贯穿本书的全部内容。这可能是这本书的最明显的与众不同之处。千万不要小看这些观念,这决定了您使用CAD软件进行设计的效果。

把Computer(计算机)称为“电脑”,从产生的过程看,可能是受到港台地区习惯用语的影响,好像很大众化。甚至连央视这样的“标准”媒体也是时而“电脑”,时而“计算机”。而实际上,这代表一种典型的概念错误。
既然人脑是“吃化学制品的大脑”,那么“电脑”就是“吃电的大脑”了?
非也!



在广漠无边的,据说产生于原始大爆炸的宇宙中,到现在为止,据说只有地球这唯一的绿洲。

恰好的质量,造成恰好的引力,保留住厚度恰好的大气层,挡住致命的紫外线;恰好有铁质的核心,造成了强度合适的磁场,屏蔽了致命的太阳风。这些一起为生命提供了必要的保护;

恰好的日地距离,恰好有水和合适的温度,为生命的起源提供了温床和合适的能源来源;

恰好就产生了植物,它们会将太阳的能量初次转换为可用的能源,为我们和动物提供了食物链的底层;

还是恰好,在生命进化中,鬼使神差,竟然从神经节进化出了大脑;

更为恰好的,一种超智能的生物——人,从中脱颖而出,成为地球上(也可能是我们的宇宙中)唯一最高级的生命形式!!

是谁编写的这个巨大、复杂、精彩的进化程序?

人类怀着无比孤独的心情,花费巨资搜寻另一个世界中的亲兄弟,想验证自己的种种推测,可结果是空手而归…

而在这一系列结果中,“脑”是其中最不可理解的、最神奇的、最令人钦佩,也是最为凑巧的东西。

即使是一只蟑螂的脑,也比人类最近的、巨资研制的“智能机器”强上百倍。

人脑

在一系列的“脑”中,人类的脑不知为什么就比其它的脑存在着质的不同。例如对艺术的欣赏和理解能力,您见过几百只猴子,为了一只猴子奇怪的吼声而神魂颠倒么?可人类却常常这样做。

这些可不是因为后天的教育、种族、地域等因素造成的…因为人脑会创造,而且具有着无、穷、无、尽、的创造力。

大猩猩比人类的历史长得多,但今天它还是大猩猩。人类在仅有几千年文明史,今天的人类在应用技术上是古人完全不能相比的。

爱因斯坦“想”出来一个可能:在强引力场作用下,时空的弯曲将引起光线弯曲。而在一次日全食的观测中,证明他是对的。

阿基米德“想”出来几何定律,虽然的我们生存的世界中并不存在相关的实例,而且我们今天还在用这些定律。

爱迪生“想”出来了电灯,使我们摆脱了黑暗。

我们使用的计算机,其根本原理竟然是始起源于中国的古老数学——八卦…

这些绝不是对自然的模仿,纯粹是“想”出来的新鲜玩艺。直到现在,人类还在这样“想”着,而计算机就是一个典型的“想”出来的结果。
想,这就是“创造”。

会想,这就是人脑的奇迹所在。

笔者常常感到困惑的是:在思维上,几千年来人类可能没多少进展,例如:现在的世界还是沿用战国时期就建立的那些策略(可是当时人类的思维是怎样“突变”的呢?);在应用技术上,却几乎是按照几何级数在飞跃,例如:十年前的计算机和今天的计算机是多么不同,甚至有这样的感觉:那时候的计算机实在名不副实…

“电脑”

那么,到底什么是“电脑”?不就是计算机硬件+应用软件么。

但是,它真的可以被称为“脑”么?

评价的标准很简单:会不会“思考”。

最好的结果是:“深蓝”赢了人类象棋大师几盘棋。但我可以肯定,继续下下去,人类将会越来越多地取胜,因为人类能够创造全新的、从未有过的战略战术,而“深蓝”不能。其实,这并不是公平的竞赛,为了教会“深蓝”与“一个人”下棋,有多少个人在写程序…

这样的东西能称为“脑”么?别玷污了“脑”的神圣之光吧。

好多年之前,人类中曾经有这么一伙软件设计师,自认为已经了解了神秘的脑的工作模式,可以用自己的程序模拟脑的处理过程,这就是“人工智能”的研究。他们认为:一个CAD软件,可以在和工程师做了几个设计之后,“学会”工程师的设计思维方法,因此能够与人平等地实施设计过程(并称之为“专家知识库的自学习”功能)。

能么?至少已经发生的事实说明,不能。

这伙以为自己也和“上帝”一样能创造“脑”的哥们,终于认识到自己能力之不足,也就不再坚持,该干什么干什么去了…

为什么?

因为计算机是(并永远是)人脑的衍生物,它只再现了人脑思维中能够表面化的一小部分功能。

因为计算机不是电脑,它就无法像人一样思考,像人一样创造。

为什么人没能制造出真正的“电脑”?因为人太不了解自己的大脑了,实在是太不了解了。不了解到什么程度?人类对自己大脑的认识,类似于对宇宙的认识。宇宙大爆炸理论是目前的基础,可是,为什么会爆炸?谁点的火?炸药从何处弄来的?
笔者认为,无法真正认识脑的工作过程,这应当是一条规律。并且是一条永恒的规律。

软件

软件做什么?实现一些规则处理的自动化。

什么规则?例如:1+2=3。“加法”是功能,而“1+2= 3”是规则。

这样的规则有个特点,必须是明确的、可由程序实现的。这些规则越明确,软件就越容易实现,而不在乎多么庞大。

操作系统软件的规则,几乎完全由软件设计师单方面确立,当然是建立在共同常识的基础上。因此这样的软件相对容易创建,大家都按照既定的规则使用,也容易掌握、很少争议。

专业应用软件(例如CAD),规则(设计构思)几乎完全是用户的已有模式,而且与常识相当地不同。因此这样的软件不容易写好,大家按照自己各自的设计构思(规则)理解和使用软件,掌握起来就不容易了、存在着大量的争议。

2.关于软件的“规则”

前边提到了规则,必然引发谁确立、谁遵守等一系列问题。搞清楚这些个问题,就能恰当地确定我们自己的位置和对策,把精神头用到合适的地方,以较快的速度掌握软件、较好的效果使用软件。

笔者认为,许多人、在许多年的时间中使用CAD软件,还是不能解决多少实际设计问题,关于规则的概念不清楚,是最为主要的原因。

(1)谁确的立规则?

是软件设计者。

是软件设计者根据从用户中听说的设计需要、经过自己理解和总结之后,结合自己所掌握的数学模型和程序设计技术而确立的。

这里有两个要素:

数学模型的创建和使用

这个东西是研究数学的人们创立的。随着技术进步,这个模型也在完善,能力逐渐加强。所以我们看到CAD软件已经比过去“能耐”大多了。但是,这种计算模型只不过是人类的一小部分思维的模仿,完全地、同等能力地模仿人类思维,以前不能,今后也不能。

因为这种模仿始终是在人脑后面一步一步地爬行。

就CAD软件算法核心而言,创立它的数学家们,与一个一般工程师相比,其规则的符合程度仍然是“相差甚远”。

软件工程师对设计需求的理解

这是最有问题的环节。要不怎么叫“隔行如隔山”!

我从来也没相信过(因为已经发生的事实就是如此),我对于某设计的思考过程,能够被一个软件工程师真正理解。

这就麻烦了:CAD使用者的思维,与CAD创立者的思维不一致,但软件运行的规则却是他们说了算!

但这就是事实,找不到办法更改的事实。只有自己亲手编写的程序,才可能做到与自己的设计思维基本吻合,而这样的程序笔者在AutoCAD中作了许多…

(2)谁来执行规则?

是软件使用者。

是软件使用者按照自己的设计需求,依据软件提供的规则(如果提供了对应的规则),来完成自己的使用过程。

这些使用规则,在没有CAD软件之前就早已被确定和实施了,而且不可能依据软件能否做到而明显改变这些已有规则。这一点在CAD类软件使用中尤为明确。

这里还有一个实际上确实存在的问题:使用者是不是明确了自己的规则?笔者遗憾地看到,相当一部分CAD软件的使用者并不明确自己的规则,就是说,他们的设计能力尚未达到合格工程师的水平(虽然可能毕业于名牌大学)。因此,他们只好从软件中寻求“设计思维”的规则,这就是糊涂对糊涂的糊涂帐。

(3)谁能解释规则?

不甚明确。

在使用CAD软件进行设计的过程中,最常见的现象是人在与软件较劲,这几乎是永恒的主题了:“你怎么就做不到这个要求呢?!这不是很简单么?!”然后,上火、着急、…

以前的传统设计证明,这个要求并不过分;这个要求下实现的设计已经被制造和使用过程验证过了;从逻辑上说,没有任何问题的…可CAD软件就是做不成。

谁来解决这个问题?谁来告诉我们怎样实现设计要求的规则?

利用软件的在线帮助?没用,因为只有某个功能的解释,而没有解决设计需求的方法。还因为帮助文件的编写者不是软件编写者,可能也没有像用户一样深入地使用软件,其中的错误是不可避免的。

书?实在不好说。实际上许多作者对软件使用的理解还不如读者深透。

问软件商?您把需求和他说明白、他也听明白、这种结果已经很难做到了,他自己也不见的有具体方案,不会花费大量的精力为您解决问题。据我所知,经销商是一些商人,利润是他们唯一的追求。怎样能在最少的投入下取得最近的、最大的利润,就是他们生存的目标。至于能不能给用户提供有效的技术支持,则几乎是最后面的想法,能不能实施可就难说了。

怎么办?没人解释这些规则。可能的方法:自己救自己。

可能还有一种方法:就是仔细研读这本书,或者同类的书。因为这本书是笔者对Inventor的规则与设计需求的规则对应起来、经过实践检验的结论。

在某种程度上,笔者企图做到:“我来解决Inventor的规则应用的解释问题”!

(4)谁去完善规则?

当然是软件开发商。

但是,完善的具体内容和结果,是按照他们的理解,而不完全是用户的意见。

因此,直到现在,Inventor也不能自动处理筋在工程图中的剖切表达,因为他们认为这种要求“不是很广泛的需要”。

有人说了:我的要求十分有道理的呀,例如完整有效的、中国的标准件库。

可您想没想,只有一丁丁点的中国地区销售份额、巨大的盗版用户数量,为什么要投入大笔资金来满足中国用户呢?除非Autodesk傻。

经销商也可能在用户的压力下做一点完善的工作,但是由于不想真正投入,结果也不过是敷衍而已。

所以,规则的完善,远远不会是我们所希望的那样。

这样,有效地使用CAD软件的主要工作,应当是解决我们自己的问题。至少这样做是可能的、是由我们自己说了算的、是有希望做到的。

在规则尚不完善的条件下,能用多少就用上多少、能解决一个问题是一个问题,随着软件的完善,能解决的问题将会越来越多。

而尽快掌握软件的定制和程序设计技术,绝对是在规则尚不完善的前提下,扩大我们的使用战果的有效手段。

(5)软件应用效果的分析比较

为了能清楚地说明问题,用大家都熟悉的Word和AutoCAD进行比较。

项目

Word

AutoCAD

所涉及的知识范围

常识

比较专业

软件设计者对未来使用的理解

到位

不太到位

软件功能与用户需求的关系

相当对应

需要自己对应

需要用户定制的部分

很少

很多

普通百姓掌握使用技术的难度

简单

比较难

现有参考书的指导作用

很大

很小

通常的使用效果

一般

项目WordAutoCAD 所涉及的知识范围常识比较专业软件设计者对未来使用的理解到位不太到位软件功能与用户需求的关系相当对应需要自己对应需要用户定制的部分很少很多普通百姓掌握使用技术的难度简单比较难现有参考书的指导作用很大很小通常的使用效果好一般 还有一个比较,来说明专业基础与CAD软件使用效果的关系。

例如用Word写文章,打印结果相当好,文字整齐,几乎与印刷品一样。用AutoCAD绘图输出也有同样的效果。

但是如果您的文笔并不好,或者心中空荡荡的,就算文章打印出来很漂亮,可读起来却味同嚼蜡。用AutoCAD绘图也一样,图再好看,设计出来的东西不行,不是白好看了么?

可见,使用任何应用软件,用户的专业水平实在是结果好坏的第一要素。

除非您在玩游戏。

其实玩游戏也有专业背景,例如玩三角洲部队的两人对攻,我就常常取胜,因为当兵的时候经过完整的战术技术训练,利用地形地物、隐蔽自己、进攻敌人…这些“作战”的专业能力上,比一般的工程师肯定强些。

小结

您可能会想:这个作者花如此笔墨,是想说明什么?

笔者对Inventor的要求,与对MDT的要求可是相当不同的,笔者是“要”在Inventor中真正完成创成设计。

软件的功能越强大,用户对它的希望就越高,该做而做不成的时候,用户就越加恼火。对于Inventor也是如此。

与中国的软件开发者沟通,前边我说过了体会:难;与美国的软件开发者沟通,难上加难。即使是极具建设性价值的建议,也很难到达“该听的人”的耳中。

Autodesk比起国内的CAD软件开发上,确实是大很多、强很多,但是,所具有的弱点却是雷同的。对工程师来说是太简单的规则,可他们常常就是想不到。

对于大多数有缺憾的规则,应当说“不是不能做,而是不知道该做”。

软件永远是跟在工程是的屁股后面爬行,不管软件工程师听了这话多么恼火,这就是事实。我的梦里曾经多次出现与CAD系统在一起,顺顺利利地做了一个比较复杂的设计,但是这只不过是梦、而不是现实。

当然,我们看到CAD软件的进步是很神速的,可同时也必须看到,人类的设计能力的进步比这还要快。这也是事实。

3.怎样有效地使用CAD软件?

前面罗列了现状和笔者的分析。

笔者认为,我们的一切对策应当以此为基础,才会是可行的方案。

解决我们自己的问题,这就是出路。而首先是观念问题。

但无论如何,CAD软件是一个重大的技术进步,对于提高我们的设计质量、设计能力、设计效率,起到了前所未有的推动作用。所以我们才要使用这种技术方法。

从一种典型的观念说起

有相当多的人在研究,如何在CAD软件中创建渐开线齿轮,为了能“看一看”,至少已经听到几十次这样的说法。也就是:仅仅是为了完成造型。
笔者明确地指出,这是一个普遍的CAD软件的应用误区。

不是不能完成齿轮,实际上能相当精确地完成齿轮造型。这里的关键是“为什么要这样做,做完之后又想怎样”。如果说“看一看”,似乎找真的一个齿轮零件看看更好。

天下没有“仅仅为了”的事情,每一件事情都有它的前因后果。对于CAD技术中的原始模型的创建(包括AutoCAD中的二维图线),当然更没有“仅仅为了”的事情。

从二维CAD技术来说:设计总要绘图,是迫不得已。因为一个工程师无法记住自己的设计(那怕是较简单)中的全部细节,图形表达就是唯一可能的方法。这些图首先是给设计者自己看:为了记住、研究和配凑设计自己的构思。其次是给别的工程师看,为了互相讨论交流,共同合作完成设计;最后是为了给制造者看,为了将设计意图在制造车间变成实际零件。可见,我们绘制工程图,实际上是设计思维的表达手段,从来也没有“仅仅是为了绘制这个图”的可能。

时至今日,软件已经有了质的飞跃,但是在多数用户那里,一提起CAD,人们仍然先想到代替手工绘图,而不是有效的全面辅助设计。以至于许多机械设计部门的领导问我,过去我们用纸绘图,现在用计算机了,这两者有什么不同?从设计过程来看,真的没多少不同。在纸上不好办的事,现在仍然不好办;图纸画得规范、漂亮,而设计质量却没有提高多少;仅从绘图来看,提高了一些效率,可考虑到软硬件的投资,日常消耗品的投资,这点效率似乎很不够,你很难说清楚这笔投资的回收期多长,能否在系统技术折旧到期之前有盈利...所以,仅仅是计算机辅助绘图,并不能够提高设计质量,解决技术创新中的关键问题。

使用CAD软件之前要有两个基本的标准:我用这个东西,要解决什么问题?怎样评估我要解决的问题是否已经解决?否则就是相当盲目的。

回到一开始的讨论,在CAD软件中创建齿轮,既不必进行装配啮合仿真,也没有必要用什么软件进行这种啮合过程的应力分析。我曾经与一位研究生争论过这个问题。他说想用这种方法研究渐开线蜗轮付的啮合过程干涉。我说:“您有这样的信心么?就是说,你能够在CAD软件的支持下,找到经典的齿轮设计理论和设计标准中的漏洞么?”。结果是清楚的:不能。那您还做齿轮干什么!

如果是用来做“演示”,那就完全是另外一回事了。即便在AutoCAD中也能很好地完成,因为所有的轮齿的轮廓都可以简化为圆弧!

这个问题相当典型。我在CAD技术方面已经作了近二十年的工作,这是多年以来,始终在与“一代又一代”的别人讨论这类问题,而不见对方有多少进展。

什么原因?因为对方基本上不知道“设计”的含义,虽然他可能作了多年的工程师。其中的客观条件是,我们的设计部门,多数处于照抄、照搬洋人的设计结果,而很少自己搞产品开发,因此对设计的理解和设计能力都比较差。

现在,WTO之后,这种情况可能要迅速改变了。对以“抄”为主的工程师的需求将会越来越少,“抄”惯了的工程师们,将来的饭碗怎样解决?!

实际上,这种观念认为,CAD软件只不过是一些二维或三维的电子图板,也只能做一些代替原来的手工绘图,做些“形状表达”之类的事情。究竟CAD软件会对我们的设计有什么样的辅助作用?这就要从设计的过程和计算机软件的基本概念开始讨论。

计算机软件和数据库

所有的计算机软件都是“数据库”。

一谈到数据库,人们就会联想到dBase、Access之类的软件,就象一说到CAD,想到的就是“电脑绘图”一样。这确实是相当普遍的现象。普遍,不见得正确。普遍如果不正确,就有必要讨论了。

计算机的软件有没有非数据库一类的呢?没有,全都是数据库。因为,目前计算机能够处理的任何东西,都是、也仅仅是可以数字化表达的东西,除此之外的东西,计算机都不会处理,所以我主张别把计算机称为“电脑”,计算机与“脑”的差别何止千万里。

只能处理数据,这就是目前我们使用的计算机的性能。就是说,要想在计算机上处理某物,必须有表达此物的方案(数据结构)、必须有存放此物的容器(数据库)、必须有操作此物的工具(处理方法)、必须有填充数据的方法(输入功能)、必须有结果处理的功能(输出功能)等,这是一般的道理。所以,所有的计算机软件都必须有数据库功能,是当然的结果。

再看实际的软件,从操作系统到游戏,无一不是以数据库和数据处理为核心功能的,只是外在表象上,不见得直接说自己是数据库(也没有必要这样说)。相比之下,CAD软件必须有更高级的数据库作为基础设施

作为数据库,根据其具体容纳的数据结构之不同,数据关联关系之不同,分成许多专用类型。作为CAD软件的底层,除了要具有常见数据库的数据结构之外,还必须带有几何图形数据库结构,因为这是它要处理的主要对象。这是超出一般数据库的地方。为了能精确表达几何数据,CAD软件的数据表达精度一般都能超过十万分之一毫米。

作为数据的输入,一般数据库是直接(文件或者键盘)输入原始数据。而CAD软件的几何数据库,就必须有良好的、容易掌握的、足够精度的方法,输入用户的数据,这就是一系列的绘图功能和图形状态下的交互操作界面。而生成图线的过程,就是在填充这个图线的几何数据库的纪录,这是必须具备的图形输入。这又是超出一般数据库的地方。

作为数据提取,一般数据库是以某些关键字之类的代码进行检索。而对于CAD软件,这样的检索功能就太单调了,因此,CAD软件数据库的检索功能相当复杂和完美,例如:指定图线的透视显示影像,也能找出关联的数据库记录,就像我们用手指点一个物体,与他人进行交流一样,而且这种功能还在继续丰富和提高。这也是超出一般数据库的地方。

总之,任何一个CAD软件,其数据库从结构到功能,在设计数据处理方面,都超出了那些通用的数据库软件。当然,对于一般数据库所具有的,CAD软件也是必须具有的基础功能。

这是一个重要的基本估计。就是说,使用CAD软件的原因,就是因为能够建立和使用比较完整的设计数据库。

未完待续

浏览:杂谈--CAD技术与“电脑”(下)

如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐
jill.jiang@amteam.org | 021-51096826-112 | 在线联系