|
Pro/Engineer平臺的菜單系統(tǒng)十分龐大,,層次,、結(jié)構(gòu)也相當(dāng)復(fù)雜,,如何構(gòu)建應(yīng)用軟件的菜單以方便,、快捷地實(shí)現(xiàn)設(shè)計(jì)意圖成為Pro/Engineer平臺上進(jìn)行二次開發(fā)的關(guān)鍵技術(shù)之一,。Pro/Engineer提供了功能強(qiáng)大的二次開發(fā)包-Pro/Toolkit,。它以C語言為依托,,封裝了許多針對Pro/Engineer底層資源調(diào)用的庫函數(shù)與頭文件,借助第三方的編譯集成環(huán)境進(jìn)行調(diào)試,。Pro/Engineer平臺上的菜單開發(fā)信息是以菜單資源文件為載體(以.mnu和.aux為后綴),。菜單資源文件有其規(guī)范的格式,具體如下: 菜單標(biāo)識名→菜單標(biāo)識文本8 B6 h: c5 z4 a7 B) H) S
#& s2 j) V6 @: \5 w7 U) v' w# U2 O
#
, N; h' j1 y: ~( y4 d 選項(xiàng)名 [覆蓋選項(xiàng)名] →菜單選項(xiàng)顯示文本; p' s! m7 H* a; g* N# g; r H: J" o
(提示信息) →鼠標(biāo)劃過或停留在菜單項(xiàng)時顯示的提示文本' I& _+ B* Z9 k2 s2 M# k- g
[覆蓋提示信息]
4 ?8 {0 m5 ^1 n- d; T 選項(xiàng)名 [覆蓋選項(xiàng)名] O+ T8 T% ~' Q6 m
…& I1 o, W# v! b& O4 S
1 X. A, `! T- [5 y1 t4 |# d. o 所有菜單資源文件均需菜單載入,、菜單項(xiàng)定義,、完成動作定義三個基本流程,才能在Pro/Engineer菜單系統(tǒng)中注冊,,然后通過庫函數(shù)進(jìn)行激活等相應(yīng)操作,。菜單項(xiàng)可相互激活,由主及次構(gòu)建成所需層次式菜單系統(tǒng)。上述菜單開發(fā)機(jī)制能快速定義出菜單系統(tǒng)的架構(gòu),,然后根據(jù)實(shí)際需要將[覆蓋選項(xiàng)名]和[覆蓋提示信息]加上,,以替換原選項(xiàng)名和原提示信息,十分靈活地實(shí)現(xiàn)設(shè)計(jì)意圖,,而程序源代碼無需修改,,極大地提高了開發(fā)效率。4 w8 N: l7 _- l, C7 H; ? l. u
; f6 z: W F7 \ e3 `
一,、Pro/Engineer菜單分類
9 [/ f' i1 d* N e3 A+ `- I
- u! r! J- q0 v; e! n5 Q- q- m3 L, Z' S 依據(jù)新建菜單與Pro/Engineer原始菜單的相互關(guān)系,,菜單可分為如下兩大類:" o, a% [) J# `0 ^
x% r; g2 \: D1 U
主菜單:完全獨(dú)立于原有菜單,層次結(jié)構(gòu)完備,,對應(yīng)于后綴名.mnu的菜單資源文件,,用以構(gòu)建新的應(yīng)用系統(tǒng)。# i) ?% @% d) l3 A% L" t% ]; c$ z
# N' o, B1 f* ^ e
輔菜單:對Pro/Engineer原有菜單項(xiàng)的增加和修改,,依托于原有的菜單體系,,對應(yīng)于后綴名為.aux的菜單資源文件,是對Pro/Engineer原有功能的補(bǔ)充和修改,。6 ?' Y. C# \4 v1 w7 L5 t
8 D0 z+ ]; c9 c4 C# a. m$ O
以對鼠標(biāo)點(diǎn)擊動作的不同響應(yīng)和外觀差異,,菜單又可如下細(xì)分:
% v8 G, s1 c: M' o % C5 ~) o s# k. c# I
強(qiáng)制菜單:該菜單彈出后,必須選定其中某一菜單項(xiàng),,否則無法擊活屏幕上其它菜單欄中的任一菜單項(xiàng),。其目的在于減少誤操作的可能性,保證設(shè)計(jì)流程的連續(xù)性和正確性,,廣泛應(yīng)用于設(shè)計(jì)過程中重要參數(shù)和型號的選擇等必不可少的步驟,。
& n! K! I. h& n* o$ `' e4 t , [# L* F* m. q% Z8 |# B7 o4 U
自由菜單:此類菜單彈出后,如果在未點(diǎn)擊其上菜單項(xiàng)的情況下,,擊活了屏幕上另外的菜單,,該自由菜單消失,軟件按另外菜單的定義進(jìn)行響應(yīng),。其目的在于方便設(shè)計(jì)過程中一次要信息的修改和重定義,,以體現(xiàn)設(shè)計(jì)師的突發(fā)靈感。! e0 X, q3 U! J; Z; q2 o8 J& ?
1 b6 D9 Q: ~; H: n4 T 變量菜單:設(shè)計(jì)過程中常常涉及到一些全局性的參數(shù)或變量設(shè)定,,對于這一類設(shè)置有其專用的菜單類別,。這類變量菜單均帶有標(biāo)識框以顯示參數(shù)的設(shè)定,常用于顯示的控制和字體的指定等設(shè)計(jì)環(huán)境的選擇,。 q; j7 J0 n' h
Y. j9 g, c. |) W9 n0 S
復(fù)選菜單:賦值菜單僅返回一個值,,而復(fù)選菜單可返回多個值,且不同類數(shù)值的數(shù)值項(xiàng)在菜單外觀上有區(qū)別,,不易混淆,。其目的在于提供一種參數(shù)類型多,但同一類參數(shù)可選項(xiàng)少的設(shè)計(jì)表達(dá)手段,是復(fù)雜設(shè)計(jì)過程中必不可少的技術(shù)之一,。
6 W" y* w# F% x$ L
, S- I6 b% V1 t. { 賦值菜單:此類菜單對鼠標(biāo)點(diǎn)擊的響應(yīng)是數(shù)值的返回,,而非函數(shù)的調(diào)用。它對應(yīng)于產(chǎn)品設(shè)計(jì)中的參數(shù)和類型選擇,,其菜單項(xiàng)的顯示文本即為返回值或可選擇類型,在標(biāo)準(zhǔn)化零部件的設(shè)計(jì)過程中頻繁出現(xiàn),。9 \) _! U i: ?9 N' d: j4 W
* G3 e! A' g' E2 \1 s
菜單上的菜單項(xiàng),,在特定的領(lǐng)域或設(shè)計(jì)流程中,常出現(xiàn)相互矛盾的情形,,Pro/Engineer通過設(shè)定菜單項(xiàng)禁選屬性來處理這類異常,,并灰顯該菜單項(xiàng),以避免設(shè)計(jì)過程的混亂,,提高系統(tǒng)的健壯性,。而且因劃分標(biāo)準(zhǔn)不同,應(yīng)用軟件的某一菜單可同時屬于多類菜單,。2 w) c+ ^/ D v( |5 [% f* o4 s
! g, P* b9 d8 i9 D4 i: S$ ^" N7 C5 u' d二,、菜單技術(shù)實(shí)踐
* r- }0 i/ Q- w5 N: F ; y2 V. t3 i$ c# c) s" ]- C0 L
筆者開發(fā)的齒輪設(shè)計(jì)系統(tǒng)是Pro/Engineer(V19.0)用戶化設(shè)計(jì)的典型應(yīng)用,本文以此為例對上述菜單技術(shù)進(jìn)行詳細(xì)說明,,下圖為該系統(tǒng)的部分菜單示例: ?) H7 S4 Y" @" K4 i9 f
' S/ X8 U+ N5 b2 @, d; d 菜單①是Pro/Engineer菜單系統(tǒng)中的主控菜單,,其上增加的Gear Design
( J+ c9 i2 J* N; o/ d# E, a' y
* I/ v' @# t' U System菜單項(xiàng)是對主控菜單的自定義補(bǔ)充,點(diǎn)擊該項(xiàng)即進(jìn)入用戶開發(fā)的齒輪設(shè)計(jì)系統(tǒng),,之所以選用輔菜單方式在主控菜單上增加菜單項(xiàng),,其目的是使用戶可方便地切換于開發(fā)平臺和應(yīng)用系統(tǒng)之間,提高設(shè)計(jì)自由度,。* U; L. t9 Y9 q5 W f5 w
$ ^& r# Y" i8 j. X6 {1 o 菜單②是齒輪設(shè)計(jì)系統(tǒng)的主控菜單,,整個設(shè)計(jì)周期中均可見。菜單項(xiàng)的排列參照齒輪設(shè)計(jì)的一般流程,,方便用戶操作,。此菜單完全獨(dú)立于原有菜單體系,為用戶新建菜單,。8 L2 W8 B/ p+ V4 J9 C
4 |5 C: X d. h! o
菜單③是參數(shù)選擇(Parameter Choice)的主控菜單,,在設(shè)計(jì)系統(tǒng)中屬二級菜單,也是對②菜單上Parameter
# Q7 w, G$ A, b0 { + S5 h, _9 `: h! ?
Choice菜單項(xiàng)的響應(yīng),。菜單③的菜單項(xiàng)列舉了齒輪設(shè)計(jì)過程中涉及的重要參數(shù),,并注明了常用的英文簡明表達(dá),以貼近中國人的設(shè)計(jì)習(xí)慣,。. c6 P9 w1 v4 r: }6 M" \. I
4 C' D$ }! i* I+ L* G: r0 |" s 菜單④是變量菜單的典型應(yīng)用,,設(shè)計(jì)要求的千差萬別,令一般菜單難以全面描述,而變量菜單可使用戶在眾多可能項(xiàng)中選取實(shí)際的已知項(xiàng),,拓廣了設(shè)計(jì)系統(tǒng)的應(yīng)用范圍,,也增強(qiáng)了設(shè)計(jì)流程的智能性。菜單項(xiàng)旁的標(biāo)識框說明了已知條件的實(shí)際構(gòu)成狀況,,方便了用戶的復(fù)查,。$ \# F1 `: h+ y" j) |5 t
- m" m, p) D* r. X 菜單⑤是菜單③的下級菜單,用以設(shè)定齒寬系數(shù),。其強(qiáng)制性保證了設(shè)計(jì)的完整,。菜單⑤菜單項(xiàng)的設(shè)置綜合考慮了硬、軟兩種齒面條件下齒輪的對稱,、非對稱和懸臂六種狀態(tài),,充分體現(xiàn)了復(fù)選菜單的靈活性。
6 {. m4 y1 N1 k3 Z ( u! X8 }1 h+ A: X- y& y! ^
菜單⑥是典型的賦值菜單,,在本例中用于齒輪精度等級的選擇,,并通過菜單提示列出各精度等級相應(yīng)的適用范圍和加工要求,以方便設(shè)計(jì),、為增強(qiáng)設(shè)計(jì)的靈活性,,菜單⑥被定義為自由菜單。下附菜單⑥的菜單資源文件,。
1 i" M$ z6 @1 z) g! K* U$ G! UPRECISION#LEVEL ' f+ ?, C( }! h% |" i7 o6 k7 C
#1 w" ^" h1 O$ T3 ]
#! \+ z% ?/ T* A) ]3 B' q8 N
-GRADE#2
8 T- ]/ n9 {( W$ [* |GEAR USED FOR CHECK.HIGH SPEED AND HEAVY LOAD. * J) a" c, W8 T; l. o' N& s& {6 f: X! [. B
# & h6 }; S0 S2 \3 y9 w- E
… ^! u1 h2 p' C. |5 H4 v* k
-GRADE#12 ; z" k7 l, [! B ^' D- j/ x
GEAR USED FOR LOW SPEED.IT’S AN UNIMPORTANT.
! T2 {4 N4 a D0 c- `2 \ T* s. k#
. a; W4 [# o6 J2 y) \. ZQUIT
8 m9 F$ ~0 C7 t0 aQUIT THE VALUE MENU
. \- S6 I2 k& u s: h# |
|