1 問題的提出
通常情況下,為合理正確設計接線盒,要反復查閱設計手冊,查出管接頭之間的最小安裝距離以后,再進行人工換算,有時要反復排列好多次,確認無誤后,再進行繪圖。這種設計方法效率低、準確性差,重復勞動強度大,且裝配圖與開孔圖之間的對應關系難以保證。針對上述情況,我們利用CAD開發(fā)了機床接線盒安裝圖及開孔圖設計軟件。
2 軟件的設計與開發(fā)
在開發(fā)軟件之前,我們首先對接線盒設計的有關資料進行了整理,包括接線盒的規(guī)格,常用兩種型號管接頭D96-4A和D21-1的規(guī)格以及外形,不同規(guī)格接線盒所對應的導軌長度、端子對數(shù),不同規(guī)格管接頭安裝時的最小間距等一系列參數(shù)。 軟件設計思想為:設計員只需通過用戶界面選擇接線盒規(guī)格,輸入各面所要安裝管接頭的型號、規(guī)格及所對應的管號,再選擇裝配圖或是開孔圖,即自動生成圖形。如是裝配圖,自動生成明細表;如是開孔圖,自動標注尺寸及技術要求。軟件還應具有智能判斷功能,如界面輸入管接頭過多,軟件自動提示“管接頭太多,超出最小間距”,相鄰管接頭之間的最小間距及設計手冊內(nèi)所包含的各種參數(shù)要求,應全部在軟件內(nèi)實現(xiàn),整個過程不再需要人工查閱任何資料。 按照上述設想,首先利用Auto CAD 12.0所提供的對話框設計語言(簡稱DCL),設計了如圖1所示的用戶界面。下面介紹接線盒參數(shù)化軟件設計的大致流程和其中部分子程序。
圖1
該軟件是利用Auto CAD 12.0開發(fā)系統(tǒng)(簡稱ADS)進行設計的,編譯環(huán)境為32位Highc 1.71,生成文件為運行在Auto CAD 12.0下保護模式EXP文件,整個軟件包括主程序和22個子程序,主程序流程圖如圖2所示。從主程序流程圖看出,程序開始,首先裝入如圖1所示的對話框,每一欄均對應一回調(diào)函數(shù),通過回調(diào)函數(shù),對話框被激活,且賦初值,列表框內(nèi)已顯示出接線盒一系列規(guī)格。對話框每一欄均對應一關鍵字,程序通過關鍵字建立起與對話框的聯(lián)系,然后通過控制對話框的ADS函數(shù)庫2〗tile(hdlg:“boxlist”,(clientfunc)boxlistcb),其中“CD#*2〗list(hdlg,“boxlist”,listnew,0)來實現(xiàn)的。整個對話框的裝入、顯示、激活、啟動、賦值、關閉等都是通過 ADS來管理。在主對話框打開的同時,亦可打開子對話框。如用戶所用接線盒不在標準規(guī)格內(nèi),則可點自定義USR接線盒尺寸按鈕,軟件將打開一子對話框,由用戶自己來輸入接線盒的尺寸,輸入后暫放在boxlist[]數(shù)組內(nèi)。 boxlist定義如下: static struct boxlist{ char *name; int 1, w, h, hd, jd0, jd1; }boxlist[]={ 。癇0”,100,80,80,35,0,0}, {“B1”,100,100,80,35,0,0}, … 。癇35”,500,400,120,55,450,57}, 。癠SR”,100,80,80,35,0,0}, 。 其中1—接線盒長度,w—寬度,h—高度,hd—開孔距底面的位置,jd0—導軌長度,jd1—端子個數(shù)。接線盒尺寸選定后,開始輸入各面管接頭的管號、型號、規(guī)格。以上頂面為例,如該面沒有,則空白;如有,則輸入的參數(shù)放在toplist[200]數(shù)組內(nèi),參數(shù)輸入后,再選擇是裝配圖或開孔圖,確認后,點選OK,對應OK按鈕的回調(diào)函數(shù)內(nèi),又調(diào)一子程序boxcpd(),該子程序判斷該面管接頭是否能排開,如排不開,則會在對話框的下面出現(xiàn)提示:“管接頭太多,超出最小間距,”提示你重新輸入?yún)?shù)。如程序判斷合理,則關閉對話框,開始執(zhí)行。程序首先確定主視圖的位置,主視圖定下后,開始逐面進行判斷,如 toplist[200]數(shù)組不空,則調(diào)boxtlazt(list, rot, d, a, pt)子程序,由于toplist數(shù)組內(nèi)每一管接頭包含有管號、型號、規(guī)格三個參數(shù),所以首先通過子程序,求出共有幾個管接頭,并將每一管接頭包含的三個參數(shù)分離開來。根據(jù)管接頭的個數(shù),求出平均分布時兩管接頭之間的平均距離boxlist[].l/(n+l)=lnn,將lnn取整。調(diào)第一個管接頭距接線盒邊最小距離子程序subb(),subb()與lnn相比較,取大者即為第一個管接頭在此面的安裝位置,其管接頭安裝高度為boxlist[]. hd。找到第一個管接頭安裝位置后,根據(jù)型號不同,調(diào)subgd96()或subgd21()管接頭外形圖,同時把管號寫入明細表。并通過子程序subg ()獲得與此規(guī)格管接頭相對應的密封圈的型號和規(guī)格,一塊寫入明細表。在寫入明細表時,軟件自動區(qū)分是d96-4a或d21-1,當一列寫滿后,自動另起一行,第一個管接頭到此就處理完畢。接下來處理第二個,與第一個不同的是調(diào)subc(s[i],s[i+1])子程序來確定不同規(guī)格的兩個管接頭之間的最小距離,subc與lnn相比較取大者,即為第二個管接頭在此面的安裝位置。以此類推,直到最后一個管接頭為止,整個過程就結(jié)束了。
圖2
接線盒開孔圖設計程序處理過程與上述相似,不同之處是判定出第一個管接頭的位置之后,根據(jù)其規(guī)格調(diào)對應子程序subd()獲得開孔尺寸,有了孔的尺寸和位置,畫出孔的形狀,同時對此孔進行標注。以此類推,在標注尺寸的同時,亦標上了粗糙度符號,直到四面全部結(jié)束后,自動標上技術要求,填上圖幅比例,整個圖形就算完成了。只需輸入一次參數(shù),前后不到5min,裝配圖與開孔圖全部生成,而且準確無誤。 該軟件開發(fā)的難點之一是接線盒主視圖基點的選擇。由于接線盒大小不一,圖幅比例也不一樣,因此,主視圖基點選擇不好會與接線盒其他各面及技術要求標題欄等位置相沖突,手工選擇又影響效率。通過利用 Auto CAD所提供的系統(tǒng)變量VIEWCTR,找出了對不同接線盒規(guī)格、不同圖幅比例都適合的基點,使問題迎刃而解。另外該軟件與一般參數(shù)化設計最大不同之處在于,它不僅僅是圖形尺寸驅(qū)動的參數(shù)化,而是包含設計、計算和分析的參數(shù)化,比一般的參數(shù)化軟件更難、更復雜。
3 結(jié)論
利用該軟件進行接線盒設計,不僅提高了效率和準確性,而且大大減少了設計員的重復勞動。同時對一些與上述接線盒規(guī)格型號不完全匹配的情況,只要對軟件稍加修改即可使用。如筆者單位在1997年為美國通用汽車公司生產(chǎn)的壓力機是引用日本小松技術,其接線盒與我單位所用D36-2系列不同,同時其安裝方法也不同,通過對軟件稍加修改即投入使用,保證了設計任務的按期完成。 |