“可咱们现在就需要这个。”沈一鸣说:
“怀民这两天做了一套程序,思路是对的,但缺了最关键的图形处理技术。线框图只能看个大概,真正的三维设计,得能分前后、能看遮挡、能算阴影。这些,咱们一窍不通。赵远航他们来了,正好补上这块短板。”
“当然,解决这次的问题是次要的。若是后续能在这次项目的基础上,做出一个功能完整的CAD系统,这才是大成果。”
韩维义点点头。
他虽然投身生产一线多年,也知道科研上的突破其实是可遇不可求。
……
七月五日,下午两点。
一辆军绿色的吉普车驶入八二七厂大门,在技术办公楼前缓缓停下。
车门打开,先下来的是个三十七八岁的男人。
个子不高,瘦削,穿着一件白色短袖衬衫,袖子挽到肘部,露出精瘦的小臂。
鼻梁上架着一副黑框眼镜,镜片很厚,镜框有些旧了,但很有学者的气质。
他拎着一个黑色人造革提包,站在车边,眯着眼看了看四周的建筑,又抬头望了望天。
山里的阳光很烈,他下意识地抬手挡了挡。
跟在他后面下来的是个二十出头的年轻人,应该是他的学生,同样瘦,戴眼镜,背着一个鼓鼓囊囊的帆布书包,手里还抱着一个用报纸裹着的方形物体,看样子像是一摞书。
韩维义和沈一鸣已经等在楼门口了。见人下车,两人快步迎了上去。
“是赵远航同志吧?”韩维义伸出手,“一路辛苦,我是八二七厂总工程师韩维义。这位是科大精密机械系的沈一鸣教授,项目技术总负责人。”
赵远航伸手握住,他的手心有薄茧,是常年敲键盘留下的。
“赵远航。”他自我介绍得很简洁,带着明显的北方口音,“这是我带的研一学生,刘明。”
刘明连忙上前,微微躬身:“韩工好,沈教授好。”
寒暄了几句,韩维义引着两人往楼里走。
“赵研究员,住处已经安排好了,在招待所二楼,和沈教授他们一层。条件简陋,多包涵。”韩维义边走边说:
“项目的情况,省国防工办应该跟您简单介绍过了。咱们这个项目,时间紧,任务重,您来了,我们心里就踏实了。”
第123章 被震惊的专家
一行人上了二楼,在招待所安顿下来。
“赵研究员,刘同学,你们先休息一下,洗把脸。”韩维义看了看手表,“四点,咱们在楼下小会议室碰个头,沈教授和项目组的几位同志都在,先把情况通个气,您看怎么样?”
“行。”赵远航言简意赅。
下午四点,小会议室。
除了沈一鸣、韩维义,方教授、何教授以及周伟、赵毅诚、唐简几位研究生也在。
陆怀民坐在靠门的位置。
赵远航和刘明准时进来,在韩维义的示意下坐下。
刘明把那包东西放在了脚边。
“赵研究员,情况是这样的。”沈一鸣作为技术总负责人,先开口。
他没有寒暄,直接切入正题,把“六〇一”项目的来龙去脉、目前夹具设计遇到的二维三维转换困境、手工试制周期过长的压力,以及尝试引入计算机辅助设计思路的缘由,条理清晰地介绍了一遍。
“所以,我们向上级打报告,请求技术支援。省国防工办高度重视,把您请来了。”沈一鸣语气诚恳:
“我们在机械和加工上有些心得,但在计算机图形处理这方面,完全是门外汉。后续的攻关,特别是如何将设计意图更好地转化为计算机能处理、能显示、并能进行初步分析验证的模型,就全指望您了。”
赵远航一直安静地听着,等沈一鸣说完,他才推了推眼镜,开口道:
“沈教授,韩工,情况我大致明白了。用计算机辅助复杂机械设计,这个想法本身,很有价值。我在计算所搞了十几年图形学,也接触过类似的项目,对国内这方面的尝试,也一直保持关注。”
他身体微微前倾,继续说道:
“咱们国家在CAD应用上,有过突破,也卡在瓶颈。我举个最典型的例子,1975年,科学院沈阳机床研究所,搞出了咱们中国第一个真正意义上完整的CAD系统,专门用于设计组合机床的多轴箱。”
会议室里的人都竖起了耳朵,连沈一鸣也露出了专注的神情。
这是他们未曾详细了解的领域。
“那个系统,了不得。”赵远航语气里带着由衷的赞赏:
“它实现了从设计计算、到自动绘图、再到输出生产用的工程图纸,整个设计流程的闭环。这是一个里程碑,证明了计算机辅助设计在实际生产中确实能用,而且能提高效率。”
他话锋一转,屈指在办公桌上敲了敲:
“但是,它有个根本的局限就是极度专用。它的所有逻辑、数据库,都是为‘组合机床多轴箱’这一个特定部件量身定制的。离了多轴箱,系统就几乎没法用。”
“而且他是一个完全的二维系统,计算机绘图的优势根本没有发挥出来。所以这个系统用处很有限,宣传的也不多。但他确实是我们国家第一个比较完整的 CAD系统,我们图形学领域和一部分有识之士认为,下一步的目标,必须是从‘专用’走向‘通用’,从二维走向三维。”
“通用的关键,在于底层。要建立一个通用几何造型引擎。就像盖房子,不管你是盖厂房还是盖宿舍,砖块、水泥、梁柱这些基本元素和处理它们的方法是通用的。在这个通用引擎上,才能生长出各种专业的设计工具。”
“而通用的高级形态,就是从二维走向三维实体。”赵远航说的很通俗:
“不再仅仅是处理平面上的点和线,而是要定义有体积、有质量的‘实体’。让计算机真正理解一个零件占据的空间,能对它进行拼接、切割,能自动计算它的重量、干涉情况。这才是现代CAD的核心思想:从‘画图纸’升级为‘建造并操纵数字模型’。”
他看向沈一鸣和韩维义:
“你们现在想做的,正是触碰这个‘通用三维实体’的核心难题。虽然是从一个具体的夹具入手,但解决的问题包括三维描述、干涉检查、参数驱动都是构建通用CAD根基必须面对的。”
“这也是我接到任务后非常感兴趣的原因。这个项目确实很有意义。”
赵远航顿了顿:“我听说,厂里已经有一位同志,在这条路上先走了一步。不知道你们现在的进展如何?”
所有人的目光,齐刷刷地转向陆怀民。
陆怀民站起身,把面前摊开的笔记本合上:
“赵研究员,沈老师,我做的程序还很简陋,只能算是个雏形,叫‘GD-P1’。晚上机房有空的话,如果您方便,可以过去指导一下。”
“方便。”赵远航回答得很快,几乎是脱口而出,“就今晚。我带了点资料,正好可以对照着看。”
……
晚上九点,三号楼地下机房。
日光灯管发出稳定的嗡鸣,将房间照得一片冷白。
DJS-183庞大的机身在房间中央低吼,不断散发热量,但所幸房间里有恒温系统,使得机房反而比外面更加凉爽。
徐海科长已经在了,见到赵远航,态度明显比对陆怀民更恭敬些,毕竟这是上面专门请来的专家。
他详细介绍了机器的使用规范和注意事项。
赵远航听得认真,不时点头。
他进入机房后,先是背着手,慢慢绕着机器走了一圈,随后坐到控制台旁边的椅子上。
“183,好东西。”
他低声说了一句,听不出是感慨还是单纯陈述。
陆怀民已经熟练地开机,进入系统,调出了他的程序。绿色的字符在黑色的屏幕上跳动,最终稳定在输入界面。
“赵老师,这是我写的‘GD-P1’,现在主要做了两块。”陆怀民没有废话,直接开始操作。
他先演示了二维参数化设计部分。
屏幕上出现一个法兰盘的简化轮廓,旁边是几个参数输入项:外径、内径、孔数、孔分布圆直径。
“这是我们夹具里一个连接盘,变种很多。”陆怀民解释着,快速输入了一组数字。
屏幕闪烁了几下,线条开始移动、增减,几秒后,一个新的、符合尺寸的法兰图形显示出来。
他又换了一组参数,图形再次快速响应。
“参数驱动图形重建,基础,但很扎实。”赵远航微微点头,评论简短。
这在他的预期之内,一个聪明的本科生做到这一步,值得表扬,但不算惊喜。
陆怀民“嗯”了一声,手下不停,退出了二维演示模块。
“第二部分,是三维空间占位和初步干涉检查,很粗糙,只是线框。”他说着,敲入另一条命令。
屏幕上,线条开始勾勒,先是几个简单的立方体,代表夹具的基座、支撑块,然后是一些圆柱体,代表定位销、压紧螺杆。
它们以一种笨拙但逻辑清晰的方式组合在一起,形成了一个简易的夹具线框模型。
陆怀民又输入旋转命令。
模型开始缓慢地绕轴旋转,所有线条,包括应该被遮挡在后面的,都一览无余。
在某个角度,两个立方体的线条复杂地交错在一起。
“这里,”陆怀民指着那团“乱麻”:
“实际结构中,这个压紧臂和这个加强筋在空间上是会干涉的。但靠人工看二维图,或者靠这个线框,很难直观判断,尤其在复杂角度。”
陆怀民停顿了一下,然后他停止了旋转,将模型恢复到一个特定视角,然后调出了另一段程序。
“我试过设计算法,”陆怀民继续介绍,“线框看不出遮挡,我就想,能不能让计算机自己判断,哪些部分在‘前面’,应该被看到,哪些在‘后面’,应该被遮住?”
赵远航原本半靠在椅子上的身体,不知不觉坐直了。他推了推眼镜,没说话。
陆怀民运行了那段新程序。
屏幕上的线框模型再次出现,但这一次,在缓慢旋转到某个角度时,一些位于“后方”的线段,突然消失了!
虽然消失得不太稳定,时有时无,而且模型旋转变得异常卡顿,但确确实实,在某些瞬间,显示出来的图形,更像是真实的物体,有了前后层次,而不再是一堆穿透的线条!
“这个算法我叫它‘深度过滤’,”陆怀民解释,眉头微微皱着,显然对效果很不满意:
“算法的大致原理是计算每个点到假想观察点的距离,只显示距离最近的那部分线。但问题太多了,计算量巨大,183算得很慢,而且只对凸体有效,遇到凹进去的结构或者复杂相交,判断就出错,线会闪,会丢。”
他敲了暂停,屏幕上留下一个有些怪异、部分线条缺失的旋转体。
“而且,这只是在线框层面隐藏了后面的线,并不是真正的实体遮挡。所以这个算法需要继续改进,要想真正判断两个零件是不是碰在一起,光看线框不够,得知道它们的‘表面’和‘体积’。”
赵远航此时已经站起身,上半身凑了过来。
他死死盯着显示器上的图形和陆怀民写的程序,眼中的惊讶之色越来越浓,甚至带着些难以置信。
他问道:“你……自己琢磨出‘隐藏线消除’的思路?还试了基于深度的判断?你从哪儿看到的相关资料?”
陆怀民对赵远航的反应有些惊讶,但他还是如实答道:
“在八二七厂的一些文献中见过相关概念,然后自己设计了相关算法。不过这算法笨,问题很多。”
“不,这不是笨。”赵远航打断他,向前跨了一步,几乎要凑到屏幕前:
“思路!关键是这个思路!你直接抓住了‘如何在二维屏幕表达三维空间关系’这个核心思路!并想到了用深度信息作为判断依据!”
他来回踱了两步:
“没错,计算量大,对机器要求高,算法不完善……这些都是问题!但方向是对的!隐藏线消除,实体建模的基石之一!你现在缺的是更高效的算法,比如光线投射的思路,或者更根本的,需要改变物体的表示方式,从线框上升到边界表示或构造实体几何……”
他说到一半,突然意识到自己有些失态,说了太多图形学领域的专业概念,连忙顿住了。