“自己編程序?”韓維義這下真的震驚了,下意識地看向沈一鳴,“沈教授,這......”
他把後半截話嚥了回去,但臉上的表情已經把意思說得明明白白:這學生是不是有點異想天開了?
畢竟讓一個機械系的本科生在昂貴的軍工計算機上從零開始摸索,也是要擔一定的風險和責任的。
“老韓,”沈一鳴沒有急着解釋,反而問了一個看似不相乾的問題,“你在這行幹了多少年了?”
韓維義愣了一下:“二十一年了。五八年畢業,到現在。”
“二十一年。”沈一鳴點點頭,“那你應該比我更清楚,咱們這行,有多少東西是靠‘想出來的,有多少東西是靠‘試’出來的。”
韓維義沉默了。
“這張圖紙,”沈一鳴指了指韓維義正在研究的繪圖板上那張裝配圖:
“第三版了。每一版我們都覺得想周全了,可一上機牀,問題就冒出來。不是這兒幹涉,就是那兒公差鏈算錯了。爲什麼?因爲人腦能同時處理的變量太少了。空間想象、尺寸鏈、熱變形、受力分析......這些東西攪在一起,
靠圖紙和心算,總有算不到的地方。”
他頓了頓,走回沙發邊坐下,目光誠懇地看着韓維義。
“懷民說的這個東西,國外叫CAD,我們叫計算機輔助設計。我不是計算機專家,但道理是相通的,既然人家已經在幾年前就開始探索這條路了,就說明它不是天方夜譚。咱們現在被卡在這兒,傳統路子走到頭了,不試試新
路,還能怎麼辦?”
韓維義坐在椅子上,手指在桌沿上輕輕敲着,沒說話。
沈一鳴繼續說,語氣裏多了幾分懇切:
“老韓,我不是要你把寶全押在這上面。我們打算兩條腿走路——傳統方案繼續攻關,CAD這邊讓懷民先探探路。一個月,就一個月。如果走通了,哪怕只是把某個零件的三維形狀在計算機裏畫出來,對我們後續的設計驗證
都是巨大的幫助。如果走不通,他立刻歸隊,不耽誤正事。”
他頓了頓,又補了一句:“你只需要每天給他兩三小時的上機時間。兩三個小時,不耽誤廠裏的正常計算任務吧?”
韓維義沉默了很久。
他猶豫了半天,終於,他站起身走到文件櫃前,拉開一個上鎖的抽屜,從裏面取出一個牛皮紙檔案袋。
檔案袋上貼着一張白色的標籤,上面用鋼筆寫着幾個字:“計算機使用登記表(機密)”。
他把檔案袋放在桌上,卻沒有打開,而是轉向陸懷民。
“懷民同志,”他說,“我跟你說幾件事。第一,廠裏的DJS-183,每天的使用時間排得很滿。彈道計算、數據處理、仿真模擬,都是急件。給你每天三-四個小時,只能安排在晚上九點以後。你能不能接受?”
“能。”陸懷民毫不猶豫。
“第二,”韓維義豎起兩根手指,“機房有專人管理,進去要登記,出來要登記。所有操作記錄都要留底。你編的程序、寫的東西,不能帶出機房。這是保密規定,沒得商量。”
“明白。”
“第三,”他豎起第三根手指,語氣更鄭重了些:
“這件事,我不能一個人說了算。我得向廠裏彙報,向省國防工辦備案。不是信不過你,是規矩。用計算機做設計,沒問題,但DJS-183全國都沒多少臺,你要用,上面必須有人知道。”
“韓工,”陸懷民說,“我理解。”
韓維義點點頭,把那個檔案袋打開,從裏面抽出一張表格。
表格是油印的,上面印着“計算機使用申請單”幾個字,下面是一行行空白欄目:申請人、單位、使用時間、使用目的、審批人。
他拿起鋼筆,在申請人一欄寫下“陸懷民”,在單位一欄寫下“科學技術大學精密機械系”,在使用時間一欄寫下“每日21:00-次日01:00”,在使用目的一欄停了一下。
筆尖懸在紙面上方,他抬起頭,看向陸懷民。
“怎麼寫?寫'CAD技術探索?還是寫‘夾具設計輔助計算?”
沈一鳴插話道:
“寫”精密夾具設計輔助計算與驗證。CAD這個概念在國內知道的人不多,容易在審批上引起不必要的麻煩。就說用計算機輔助做一些尺寸鏈計算和空間位置驗證。
韓維義點點頭,在紙上寫下那幾個字。
寫完了,他把表格推到一邊,又從抽屜裏翻出一張信紙,鋪在桌上。
這回他拿起鋼筆,沒有急着寫,而是看着那張白紙沉默了好一會兒。
“老韓,”沈一鳴問,“你這是......”
“給省國防工辦寫報告。”韓維義把鋼筆擰開,筆尖落在紙上,卻沒有動
“沈教授,你說得對。這件事,不光是咱們一個廠的事。如果這個’CAD’真能走通,不光是咱們這個項目受益,整個國防系統的精密加工能力都能上一個臺階。所以——
他抬起頭:
“所以,我不光要申請使用計算機,我還要向上級報告,請求技術支援。”
“技術支援?”沈一鳴眼睛一亮。
“對。”韓維義放下鋼筆,站起身,在辦公室裏了兩步:
“沈教授,你想想。咱們國家搞計算機研究這麼多年,難道就沒人想過用計算機來輔助設計?懷民能想到,那些搞計算機的專家就想不到?我覺得,肯定有人在研究。只是肯定離投產還有一段距離,而咱們又在生產一線,接
觸不到。”
他轉過身,看着沈一鳴:
“如果上面能幫我們找到這方面的專家,哪怕只是給我們指個方向,提供幾本教材、解答幾個關鍵問題,都比我們兩眼一抹黑從頭摸索強得多。懷民是塊好料子,可他畢竟是個本科生,時間又緊。如果有人能帶一帶,哪怕只
是遠程指導,這條路走通的概率就大多了。”
沈一鳴聞言,也很高興,韓維義給出這麼大的支持出乎了他的意料。
他雖然也學過編程,但計算機技術日新月異,如今高端機型已從紙帶編程轉向鍵盤編程,他能給陸懷民在這方面的指導實在有限。
如果有專家指導,陸懷民在這方面的壓力將大大減輕。
“老韓,你這個想法好!”沈一鳴站起身,聲音裏帶着難得的熱切,“對,向上級報告,請求技術支援。這條路走通了,對國家對軍隊都是貢獻。上面應該支持!”
韓維義點點頭,重新坐回桌前,拿起鋼筆。
他開始寫。
報告寫得不長,但每一句話都斟酌了很久。
“關於請求支援計算機輔助設計技術攻關的報告”
“省國防工業辦公室:
我廠承擔的“六○一項目,目前進入精密夾具設計攻關階段。由於該夾具涉及複雜曲面裝配和微米級公差要求,傳統手工繪圖與計算驗證方法效率低,週期長,難以在限定時間內完成任務。
爲解決上述難題,科學技術大學精密機械系陸懷民同志提出,利用廠內DJS-183計算機,嘗試探索‘計算機輔助設計’方法。
該方法旨在通過編程,在計算機上建立零件三維模型,進行虛擬裝配、幹涉檢查和尺寸鏈計算,從而提高設計效率與精度。
鑑於該技術方向在國內尚屬前沿探索,我廠缺乏相關技術儲備與指導力量。
懇請省國防工辦協助,聯繫國內在計算機圖形學、機械設計自動化領域有研究基礎的科研單位或專家,爲我廠提供技術諮詢與指導。
此項目若取得突破,不僅可解決‘六○一項目燃眉之急,更可爲我國精密機械設計方法開闢新路徑,對提升國防工業技術水平具有長遠意義。
特此報告,請予支持。
國營第八二七廠
一九七九年六月二十一日”
寫完了,他把報告從頭到尾看了一遍,確認沒有錯漏,這才摺好,放進一個牛皮紙信封裏,在信封上蓋上了自己的章。
“明天,我先去找廠長彙報。”他拍了拍那個信封,“廠裏同意後,我第一時間讓人送到省裏。”
沈一鳴看着那個信封,忽然覺得心裏那口氣鬆了一些。
“老韓,”他說,“謝謝你。”
“謝什麼?你們是在爲我們廠的項目攻關,應該是我謝謝你們。”
韓維義擺擺手,把信封放進抽屜,又拿起那張計算機使用申請單,在“審批人”一欄簽下自己的名字。
“懷民同志,”他抬起頭,看着陸懷民,目光裏多了幾分期許:
“從明天開始,每天晚上九點以後,你可以去機房上機。拿着這張審批表去就行,會有人給你開門。不過,按規矩,進出機房需要嚴格登記,上機過程中會有人全程陪同,希望你理解。
陸懷民鄭重地點了點頭。
韓維義又在抽屜裏翻了翻,翻出一本薄薄的冊子,遞給陸懷民。
“這是DJS-183的科學計算語言編程手冊。你先拿回去看看。廠裏還有幾本計算機方面的書,明天我讓人送到你宿舍。”
陸懷民雙手接過那本手冊,封面上印着“DJS-183科學計算語言參考手冊”幾個字,書頁還很新。
韓維義的領域不涉及計算機,這本手冊他幾乎沒有翻過,如今正好派上用場。
“韓工,謝謝您。我一定不辜負這個機會。”
韓維義擺擺手:
“時候不早了。你們先回去休息。明天晚上九點,準時到機房。加油!”
沈一鳴也站起身,和韓維義握了握手,沒說太多客套話。
兩人走出總工程師室,走廊裏的燈有些昏暗。
走到樓梯口時,沈一鳴忽然停下腳步。
“懷民,”他轉過身,看着自己的學生,“你壓力大不大?”
懷民想了想,老實說:“大。”
爲這事,八二七廠專門向上打報告申請技術支援,要說壓力不大,那是假的。
沈一鳴點點頭。
“有壓力就對了。”他繼續往下走,“我跟你說個事。當年我在蘇聯留學的時候,導師給我佈置了一個課題。那個課題,他手下三個研究生都沒做出來,丟給我了。我當時也是壓力大得睡不着覺。”
“後來呢?”
“後來——”沈一鳴在樓梯拐角處停下來,月光從窗戶照進來,把他的影子拉得很長,“後來我用了三個月,把那個課題做出來了。導師看了我的報告,說了句話,我記到現在。”
“什麼話?”
“他說:‘沈,你不比別人聰明。但你比別人不怕難。”
他轉過身,看着陸懷民,目光裏有期許,也有信任。
“懷民,你記住。做學問、搞技術,最難的不是解決難題,是面對未知的時候還敢往前走。你今天在會議室裏站起來說‘我有個想法”的時候,我就知道,我沒有看錯人。”
沈一鳴頓了頓,語氣放輕了些:
“當然,即使一時失敗,也不要氣餒。搞科研,成功需要積累,失敗纔是常態。但敢邁出這一步,就已經比站在原地強。”
他拍了拍懷民的肩膀,繼續下樓。
遠處傳來哨兵隱約的口令聲,拖得很長,像是從很遠的地方傳來,又像是從很遠的年代傳來。
第二天一早,項目組照例開會。
沈一鳴首先佈置今天的任務。
“方教授,檢測工裝的方案今天必須定下來。周偉配合,下午之前把關鍵尺寸的誤差分配算清楚。”
方教授點點頭,推了推眼鏡,從桌上抽出一沓草圖。
“何教授,夾具本體第三版修改方案,今天出圖。趙毅誠、唐簡配合,爭取明天送加工。”
何教授應了一聲,把面前那張已經被橡皮擦得有些發毛的硫酸紙拉過來,拿起繪圖尺。
“懷民,”沈一鳴轉向他,“CAD的探索,就暫時交給你,有什麼需要,隨時說。”
“明白。”陸懷民應道。
會議很短,二十分鐘就散了。
大家各歸各位。
陸懷民沒有立刻離開。他坐在原位,把那本BASIC手冊又翻了一遍。
這是他第三次通讀這本手冊了。
事實上,他在實驗室裏跟周偉學過編程,BASIC和FORTRAN語言也學了。
但科大實驗室的那臺DJS-130小型機用的還是紙帶編程,沈一鳴雖然打了報告申請升級,預計今年下半年才能換成鍵盤編程。
所以他的BASIC和FORTRAN語言在平時根本沒有實戰機會,此時要用,難免有些陌生。
而上機時間寶貴,他必須提前做好萬全準備。
此時的BASIC和FORTRAN語言和後世那些高級語言比起來,簡陋得像是原始人的工具。
沒有函數,沒有結構體,連字符串處理都只有最基礎的功能。
圖形顯示靠的是幾個特殊的繪圖語句——PLOT、MOVE, DRAW,只能畫點和直線。
但這就夠了。
點和直線,是構成一切幾何圖形的基礎。
有了它們,就能畫線框。有了線框,就能畫三維圖形。
他翻開筆記本,看着昨晚寫下的那幾頁草稿。
第一頁,是一個立方體的八個頂點座標。
第二頁,是旋轉矩陣的推導。
要把三維圖形投影到二維屏幕上,還要能旋轉,就得用座標變換。繞X軸旋轉、繞Y軸旋轉、繞Z軸旋轉,三個矩陣,他推導了兩遍,確認沒有算錯。
第三頁,是投影公式。
要把三維座標變成二維屏幕上的點,最簡單的辦法是透視投影。公式不復雜,但要考慮視點位置,屏幕分辨率,還得處理座標範圍,不能讓圖形跑到屏幕外面去。
第四頁,是一段還沒寫完的FORTRAN程序。
他試着用僞代碼把整個流程串了一遍:定義頂點數組,定義的連接關係、計算旋轉後的新座標、投影到屏幕、畫線。
邏輯上沒有問題。但實際能不能跑通,得在計算機上試了才知道。
他把筆記本合上,深吸一口氣。
今晚九點,就能見到這個時代中國最高端的計算機了,他的想法究竟有沒有可行性,在今晚就能看見端倪了。