会议重新开始。
陆怀民敲下回车键,屏幕上,绿色线条开始浮现。
先是一个代表涡轮盘局部的圆环,接着,几道复杂的空间曲线开始旋转、延伸,逐渐形成一个带着微妙扭转角度的叶片榫头轮廓。
时间有限,模型很粗糙,曲面是用许多小平面的棱线来近似表示的,但在当时条件下,能呈现出如此空间结构和相对位置,已属不易。
“这是根据吴总工提供的二维图纸,构建的简化三维模型。”陆怀民说着,敲入旋转指令。屏幕上的图形开始缓慢转动,从正面转到侧面,又从侧面转到背面,各个角度一览无余。
原本靠在椅背上的几位专家,不自觉地坐直了身子。
陈老摘下眼镜擦了擦,又重新戴上,眯着眼盯着屏幕。吴思源总工则身体前倾,手指在桌面上轻轻敲着,一言不发。
“现在,模拟叶片装入轮盘的过程。”陆怀民输入命令。
屏幕上,代表叶片的线框开始向代表轮盘的线框缓缓靠近。
一点,一点,像是一把钥匙正在插入锁孔。装配进行到大约八成,一切正常。
但就在叶片即将完全“落位”的瞬间——
屏幕猛地一滞!
紧接着,绿色的线条开始不规律地闪烁、扭曲,像是信号受到了强烈干扰。
代表榫头与榫槽配合区域的几条关键棱线,突然纠缠成一团乱麻,然后——
“嘀!”一声短促刺耳的蜂鸣从主机箱传来。
屏幕中央,弹出一行刺眼的红色英文错误提示:
“ERR: BOOLEAN OPERATION FAILED– GEOMETRY CONFLICT DETECTED.”
(错误:布尔运算失败——检测到几何冲突)
程序进程彻底停止,光标在错误信息下一动不动。
DJS-130的硬盘灯还在规律闪烁,但屏幕上的模型就这样凝固在那儿了。
会议室里的空气,仿佛也在那一瞬间凝固了。
然后议论声响了起来。
“稳定性好像出了问题,是算法问题吗?”
“系统的稳定性确实令人担忧……”
“看来离实用,还有很长的路要走……”
吴思源总工身体缓缓向后,靠在了椅背上,有些失望地摇了摇头。
主位上,钱大昌的脸色看不出什么变化,但他下意识地端起搪瓷缸,缸子举到嘴边,却没有喝,又轻轻放下了。
坐在他旁边的郑主任侧过头,低声说了句什么。
钱大昌微微摇头,没有接话。
就连主位上的陈老,都露出明显失望的神色。
演示的时候出现这种意外,陆怀民不禁也有些汗流浃背。
但他很快冷静下来,面向会议桌,微微欠身,说道:
“各位领导,各位专家,演示过程中出现意外中断,非常抱歉。程序在特定数据极限下报错,可能暴露了系统在处理极端工况时的某个边界问题。请求允许给予几分钟时间,进行初步的现场排查和分析。”
陆怀民的话让一些议论声低了下去。
有人微微点头,至少,这个年轻人没被吓住,好像还有点胸有成竹?
看上去,似乎还有戏。
而且,遇到问题解决问题本就是科研的常态,做项目最重要的就是解决问题的能力,正好,也可以趁机见识一下这个本科二年级的学生究竟能耐如何。
刚刚面露失望之色的陈老立刻微微颔首,至少是对陆怀民的态度相当满意的:
“不慌不乱,能直面问题,这个态度是对的。那就给你时间,查。看看是程序自己的毛病,还是真撞上了什么我们没料到的问题。”
“谢谢陈老!”陆怀民再次微微躬身,随即不再多言,立刻转身,开始排查问题。
赵远航也立刻起身,站到他身后边,眯眼看着屏幕。
“错误发生在这个模拟子程序,调用‘BOOLEAN_INTERSECT_CHECK’函数时。”陆怀民一边快速浏览,一边低声对身旁的赵远航说:
“赵老师,看这里,触发错误的两个面ID:Face_2037和 Face_1098。对应的是……”
赵远航立刻翻开吴总工提供的图纸,手指快速在复杂的标注和剖面线间移动。
“面2037……找到了,是……,1098是……,公差分析模块加载的是……”
陆怀民点头,调出报错瞬间的系统缓存数据,将那两组面的有关数据,一一提取显示在屏幕另一侧。
几分钟后,陆怀民露出振奋的神色,他和赵远航低声交流了两句,随后站起身来,转向会议桌。
“各位领导,各位专家,初步排查完成。程序报错的原因已定位。并非核心算法逻辑错误,也非建模过程失误。”
他顿了顿,看向吴总工:
“具体来说,在进行最小实体装配模拟时,系统检测到了一个在给定二维图纸尺寸和公差范围内,理论上无法在三维空间实现物理闭合的装配状态……”
“……”
“这个冲突,在传统的二维投影视图和人工尺寸链分析中,极难直观发现。因为人脑在处理这种多维、非线性的空间关系时,很容易忽略某些极限组合下的‘死角’。程序报错,恰恰说明它严格地执行了我们设定的规则,体现了计算机辅助设计的优越性。”
吴思源总工听完,先是怔了一下,随即眉头锁得更紧,断然道:
“这不可能。这套‘太行’发动机涡轮部件的图纸,是我们六零三所核心设计室的心血,经过所里‘设计-校对-审核’三级严控,关键尺寸链我亲自用计算尺和放大镜校核过不止三遍。你确定不是你的程序对复杂曲面的数学描述不够精确?或者算法有问题?”
陆怀民胸有成竹:
“吴总工,程序对复杂曲面的数学描述是线性逼近,存在近似,这我承认。但对于空间位置关系的逻辑判断,特别是判断两个刚体之间是‘分离’、‘相切’还是‘相交’,算法是严格基于解析几何的,只要输入数据准确,结论是可靠的。”
陆怀民又展示出一组数据:
“不过,为求谨慎,我们可以抛开程序,仅就错误所涉及的这一组尺寸,按照图纸规范,进行手算复核。看看在图纸允许的最极限公差下,这两个曲面之间的最小间隙,到底是不是负数。”
吴思源总工盯着屏幕上陆怀民点出的那串数据,一观察,确实发现了有点不对劲,心里不由地咯噔一跳。
他深吸一口气,伸手从公文包里拿出了自己随身携带的计算尺,又抽出一支红蓝铅笔。
他不再多言,就着陆怀民指出的那组参数,埋头演算起来。
会议室里,霎时间鸦雀无声。
所有的目光都聚焦在吴总工身上。
时间一秒一秒过去,显得格外漫长。
吴总工初始的笔迹很快,但渐渐地,他的速度慢了下来。
铅笔在某一行算式下停顿,他蹙着眉,用尺子比划着,重新审视那个空间夹角的关系。
他的眉头越皱越紧,额角甚至沁出了一层细密的汗珠,那支红蓝铅笔在某个数字上反复点了好几下,最终,他写下了一个数值。
然后,他盯着那个自己刚刚算出来的代表理论最小间隙的数字,沉默了。
足足沉默了十几秒。