久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

機械社區

標題: Pro/ENGINEER二次開發中的關鍵技術 [打印本頁]

作者: sunshine1026    時間: 2008-8-6 14:15
標題: Pro/ENGINEER二次開發中的關鍵技術
Pro/ENGINEER是美國PTC公司研制的CAD/CAM軟件。Pro/TOOLKIT是PTC提供用于對Pro/ENGINEER進行二次開發的軟件包,Pro/TOOLKIT提供了大量的C語言函數,幫助我們利用C語言編程來增加Pro/ENGINEER的功能。在Pro/ENGINEER的二次開發過程中,有以下幾個問題值得注意(筆者使用的是Pro/ENGINEER 2000i)。1 編寫應用程序9 {* `, g0 g( t: b
    可在Visual C++環境下編寫Pro/TOOLKIT應用程序,此應用程序包含Pro/TOOLKIT提供的函數,必須和Pro/TOOLKIT提供的頭文件編譯(Compile)到一起,所以,必須在Visual C++的菜單“Tools→Options→Directories”中添加如下內容 :
1 }/ E) U1 d, `: ?7 ]~\PROTOOLKIT\INCLUDES# g3 F* s" H  x* s% q0 M! \1 S
~\PROTOOLKIT\PROTK_APPLS\INCLUDES
* q6 M) f' _' ?# W/ {, S7 M% o+ \2 S; Z~\PRODEVELOP\INCLUDES; z" O5 J) j: w. K% [+ {* I  n9 O
~\PRODEVELOP\PRODEV_APPLS\INCLUDES+ v/ f/ p3 |- G: W! ~0 @
其中,~表示Pro/ENGINEER的安裝路徑。2 u$ [! ^2 {9 k
2 編譯應用程序+ d2 M. v( @1 ^% P% ^
    編譯(Compile)通過的應用程序,還必須在命令提示符下編譯和連接(nmake),以生成可執行的.exe或.dll文件。
* V7 I0 G' b. Q    nmake命令是由第三方軟件(Micosoft Visual C++)提供的。要在命令提示符下使用這個命令,必須在安裝Visual C++時注冊環境變量(安裝時會有對話框“設置環境變量”提示,將“注冊環境變量”選中),或者在Windows的“設置→控制面板→系統→高級→環境變量→用戶變量”中,選取變量名“path”,在值中添加“ ~:\Microsoft Visual Studio\VC98\bin”,“~”表示Visual C++ 的安裝路徑(適用于 Windows 2000)。而且,運行“nmake”命令所在的路徑為“~/protoolkit/i486_nt/obj”,此路徑下必須要有一個對應于C應用程序的make文件,命令全形為“nmake -f *”,“*”為對應的make文件名。make文件的樣板在“~\proe2000i\protoolkit\i486_nt\obj”下。
2 m' R# P( l) y. S1 e+ P# V) d3 運行應用程序. l! z* ]8 k% Z
    要在Pro/ENGINEER環境中運行自己的應用程序,必須在Pro/ENGINEER中對該程序進行注冊。注冊分為手動注冊和自動注冊兩種。手動注冊就是在Pro/ENGINEER界面上依次選取“Utilities→Auxiliary Application”對話框,加載該注冊文件,自動注冊有以下4個步驟。* z. f8 x: y8 ]5 I) V5 t
    (1)將注冊文件命名為protk.dat,并放在Pro/ENGINEER的啟動目錄下。
$ Y4 I- I7 x+ C/ P3 k    (2)將注冊文件放在Pro/ENGINEER的啟動目錄下,并在啟動目錄下創建一個config.pro文件,其中設置“TOOLKIT_REGISTRY_FILE   * ”語句即可,“*” 就是要注冊的注冊文件名。
6 D% J; G1 O, R4 b7 n- I    (3)將注冊文件命名為“protk.dat”,并放在路徑“〈Pro/ENGINEER〉/〈MACHINE〉/text/〈LANGUAGE〉”下,其中〈LANGUAGE〉是運行Pro/ENGINEER時所選的語言類型。
& g2 O1 b* l' i$ G$ v4 o    (4)將注冊文件命名為“protk.dat”,并放在路徑“〈Pro/ENGINEER〉/text”下。1 w- |" m9 a3 I( q! ^
    這樣,只要運行Pro/ENGINEER就能自動加載該注冊文件,并運行指定的應用程序。注冊文件protk.dat的樣板在“~\proe2000i\protoolkit”下。* v+ e& H+ n( D* y: `$ ]: M2 y& V4 ~' m
4 Config.pro文件的設置# u3 M8 }( T3 M! m
    環境設置文件的內容是以文字形式將選項及參數值存在名為Config.pro的文件內,這些文件均可用一般的文本編輯軟件編輯。: P7 U1 @0 j* l) j+ y
    Config.pro文件可設置系統的操作環境,如工具按鈕設置、模型的顯示方式、視角等。Config.pro文件應放在Pro/ENGINEER的啟動目錄下,當啟動Pro/ENGINEER時,系統會自動加載環境設置文件Config.pro。若應用程序是一個大量組裝零、部件的二次開發程序,下面這個Config.pro將十分有用。; q4 j+ R1 l" l, d, z" ^
BELL  NO3 I' g, `$ K9 y; `- P! k+ N
DISPLAY  SHADE
+ \, q. T& W5 f$ d# GDATUM_DISPLAY  NO9 A& Q  A; V8 c5 q, A" {" F
DATUM_POINT_DISPLAY  NO
  |+ y( Y4 G7 P0 U: yDISPLAY_COORDINATE_SYS  NO
6 k$ o- L" p# M5 f+ XAXIS_DISPLAY  NO3 v6 U  G; \6 |% V! b& S% @. B
SPIN_CENTER_DISPLAY  NO
( \* f+ R9 O# x* WTOOLKIT_REGISTRY_FILE  *
  ]# |$ k- w, q& _0 h# q5 添加自定義菜單
$ \* E. G2 Q/ W    在Pro/ENGINEER的二次開發中,添加用戶自定義菜單是最基本、最常用的技術。
5 I  e+ V6 _" b! o( L1 T    可以在Pro/ENGINEER界面上現有的菜單條和菜單中添加用戶自定義菜單,如在“文件”等菜單條菜單中添加,也可以在Pro/ENGINEER界面上添加菜單條菜單,它和“文件”等菜單條菜單處于同等地位。或者也可以在模式菜單中添加自定義菜單。" @4 S' `8 W% Y4 R1 s# H& `  s
    筆者建議在Pro/ENGINEER界面上添加菜單條菜單,因為Pro/ENGINEER是一個不斷發展、不斷更新的軟件,某個版本下有的菜單條菜單或模式菜單,在另一個版本下可能沒有,因此,如果用戶自定義菜單依賴于某個菜單,很可能在另一個Pro/ENGINEER的版本中不能正常使用。這樣,只能修改應用程序來適應這種變化,軟件的通用性較差。下面這個程序詳細講述如何在Pro/ENGINEER界面上添加用戶自定義菜單條菜單UserMenu以及在菜單條菜單UserMenu中添加按鈕“A”。! y- D* h. ?0 I4 @- n5 m2 h: @
int user_initialize()
" t0 c8 R' N; i, G* |( z. D{ ProFileName  message_file;
$ _  }% Y, t' y' B+ ^* w- Q7 huiCmdCmdId   cmd_id;
) `1 C0 i8 T3 S" {, c3 WProStringToWstring(message_file, "user_msg.txt") ;9 B& r1 A. U8 f' ]; n8 s
ProMenubarMenuAdd("UserMenu","UserMenu", "Help", PRO_B_TRUE , message_file); //添加用戶自定義菜單條菜單UserMenu并放在菜單條菜單“幫助”之后
* ~, @/ ?( i6 @! ]+ t7 ^3 FProCmdActionAdd("A", (uiCmdCmdActFn) Action,uiProe2ndImmediate,NULL,PRO_B_TRUE,; n* {0 `# U# H: b9 M. P6 E' u
PRO_B_TRUE, &cmd_id); //給按鈕A設定動作Action
8 e) m1 U% P) c1 }$ G7 F7 V) KProMenubarmenuPushbuttonAdd("UserMenu", "A", "A","Non-mode-specific Pro/TOOLKIT test - J0 T8 y% V' H' X9 h
commands", NULL , PRO_B_TRUE , cmd_id ,
% s; a' e( I6 I- H, Fmessage_file); //在菜單條菜單UserMenu添加按鈕A
( G) N& G8 `  ?2 n$ Y) x) vreturn(0);}1 b3 q, V# K5 k' i
其中user_msg.txt文件的內容為 :
/ [$ k6 X/ U7 {    UserMenu(換行)UserMenu(換行)#(換行)#(換行)A(換行)A(換行)#(換行)#
+ `$ ^2 C9 u' |; C) \user_msg.txt文件通常放在“~\text\usascii”下,它的路徑對應于protk.dat注冊文件的TEXT_DIR項。1 Y! @( f" X* p  F# p

( {  }$ p0 W; |    Pro/ENGINEER的二次開發功能十分強大,本文主要描述了Pro/ENGINEER二次開發的整體過程(編寫C程序→VC++下編譯→命令提示符下編連→Pro/ENGINEER中注冊)以及所遇到的關鍵性問題,用戶可在此基礎上在Pro/TOOLKIT二次開發程序中通過編寫各種功能函數來實現他的具體要求。




歡迎光臨 機械社區 (http://www.ytsybjq.com/) Powered by Discuz! X3.5