我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網(wǎng)站首頁 > Proe教程

ProE二次開發(fā)的一些關(guān)鍵技術(shù)

時(shí)間:2011-02-24 09:39:33 來源:

  本文介紹了ProE二次開發(fā)的一些關(guān)鍵技術(shù)。

  Pro/ENGINEER的二次開發(fā)功能十分強(qiáng)大,本文主要描述了Pro/ENGINEER二次開發(fā)的整體過程(編寫C程序→VC++下編譯→命令提示符下編連→Pro/ENGINEER中注冊(cè))以及所遇到的關(guān)鍵性問題,用戶可在此基礎(chǔ)上在Pro/TOOLKIT二次開發(fā)程序中通過編寫各種功能函數(shù)來實(shí)現(xiàn)他的具體要求。

  Pro/ENGINEER是美國PTC公司研制的CAD/CAM軟件。Pro/TOOLKIT是PTC提供用于對(duì)Pro/ENGINEER進(jìn)行二次開發(fā)的軟件包,Pro/TOOLKIT提供了大量的C語言函數(shù),幫助我們利用C語言編程來增加Pro/ENGINEER的功能。在Pro/ENGINEER的二次開發(fā)過程中,有以下幾個(gè)問題值得注意(筆者使用的是Pro/ENGINEER 2000i)。

  1 編寫應(yīng)用程序

  可在Visual C++環(huán)境下編寫Pro/TOOLKIT應(yīng)用程序,此應(yīng)用程序包含Pro/TOOLKIT提供的函數(shù),必須和Pro/TOOLKIT提供的頭文件編譯(Compile)到一起,所以,必須在Visual C++的菜單“Tools→Options→Directories”中添加如下內(nèi)容 :

  ~PROTOOLKITINCLUDES

  ~PROTOOLKITPROTK_APPLSINCLUDES

  ~PRODEVELOPINCLUDES

  ~PRODEVELOPPRODEV_APPLSINCLUDES

  其中,~表示Pro/ENGINEER的安裝路徑。

  2 編譯應(yīng)用程序

  編譯(Compile)通過的應(yīng)用程序,還必須在命令提示符下編譯和連接(nmake),以生成可執(zhí)行的.exe或.dll文件。

  nmake命令是由第三方軟件(Micosoft Visual C++)提供的。要在命令提示符下使用這個(gè)命令,必須在安裝Visual C++時(shí)注冊(cè)環(huán)境變量(安裝時(shí)會(huì)有對(duì)話框“設(shè)置環(huán)境變量”提示,將“注冊(cè)環(huán)境變量”選中),或者在Windows的“設(shè)置→控制面板→系統(tǒng)→高級(jí)→環(huán)境變量→用戶變量”中,選取變量名“path”,在值中添加“ ~:Microsoft Visual StudioVC98bin”,“~”表示Visual C++ 的安裝路徑(適用于 Windows 2000)。而且,運(yùn)行“nmake”命令所在的路徑為“~/protoolkit/i486_nt/obj”,此路徑下必須要有一個(gè)對(duì)應(yīng)于C應(yīng)用程序的make文件,命令全形為“nmake -f *”,“*”為對(duì)應(yīng)的make文件名。make文件的樣板在“~proe2000iprotoolkiti486_ntobj”下。

  3 運(yùn)行應(yīng)用程序

  要在Pro/ENGINEER環(huán)境中運(yùn)行自己的應(yīng)用程序,必須在Pro/ENGINEER中對(duì)該程序進(jìn)行注冊(cè)。注冊(cè)分為手動(dòng)注冊(cè)和自動(dòng)注冊(cè)兩種。手動(dòng)注冊(cè)就是在Pro/ENGINEER界面上依次選取“Utilities→Auxiliary Application”對(duì)話框,加載該注冊(cè)文件,自動(dòng)注冊(cè)有以下4個(gè)步驟。

  (1)將注冊(cè)文件命名為protk.dat,并放在Pro/ENGINEER的啟動(dòng)目錄下。

  (2)將注冊(cè)文件放在Pro/ENGINEER的啟動(dòng)目錄下,并在啟動(dòng)目錄下創(chuàng)建一個(gè)config.pro文件,其中設(shè)置“TOOLKIT_REGISTRY_FILE * ”語句即可,“*” 就是要注冊(cè)的注冊(cè)文件名。

  (3)將注冊(cè)文件命名為“protk.dat”,并放在路徑“〈Pro/ENGINEER〉/〈MACHINE〉/text/〈LANGUAGE〉”下,其中〈LANGUAGE〉是運(yùn)行Pro/ENGINEER時(shí)所選的語言類型。

  (4)將注冊(cè)文件命名為“protk.dat”,并放在路徑“〈Pro/ENGINEER〉/text”下。

  這樣,只要運(yùn)行Pro/ENGINEER就能自動(dòng)加載該注冊(cè)文件,并運(yùn)行指定的應(yīng)用程序。注冊(cè)文件protk.dat的樣板在“~proe2000iprotoolkit”下。

  4 Config.pro文件的設(shè)置

  環(huán)境設(shè)置文件的內(nèi)容是以文字形式將選項(xiàng)及參數(shù)值存在名為Config.pro的文件內(nèi),這些文件均可用一般的文本編輯軟件編輯。

  Config.pro文件可設(shè)置系統(tǒng)的操作環(huán)境,如工具按鈕設(shè)置、模型的顯示方式、視角等。Config.pro文件應(yīng)放在Pro/ENGINEER的啟動(dòng)目錄下,當(dāng)啟動(dòng)Pro/ENGINEER時(shí),系統(tǒng)會(huì)自動(dòng)加載環(huán)境設(shè)置文件Config.pro。若應(yīng)用程序是一個(gè)大量組裝零、部件的二次開發(fā)程序,下面這個(gè)Config.pro將十分有用。

  BELL NO

  DISPLAY SHADE

  DATUM_DISPLAY NO

  DATUM_POINT_DISPLAY NO

  DISPLAY_COORDINATE_SYS NO

  AXIS_DISPLAY NO

  SPIN_CENTER_DISPLAY NO

  TOOLKIT_REGISTRY_FILE *

  5 添加自定義菜單

  在Pro/ENGINEER的二次開發(fā)中,添加用戶自定義菜單是最基本、最常用的技術(shù)。

  可以在Pro/ENGINEER界面上現(xiàn)有的菜單條和菜單中添加用戶自定義菜單,如在“文件”等菜單條菜單中添加,也可以在Pro/ENGINEER界面上添加菜單條菜單,它和“文件”等菜單條菜單處于同等地位?;蛘咭部梢栽谀J讲藛沃刑砑幼远x菜單。

  筆者建議在Pro/ENGINEER界面上添加菜單條菜單,因?yàn)镻ro/ENGINEER是一個(gè)不斷發(fā)展、不斷更新的軟件,某個(gè)版本下有的菜單條菜單或模式菜單,在另一個(gè)版本下可能沒有,因此,如果用戶自定義菜單依賴于某個(gè)菜單,很可能在另一個(gè)Pro/ENGINEER的版本中不能正常使用。這樣,只能修改應(yīng)用程序來適應(yīng)這種變化,軟件的通用性較差。下面這個(gè)程序詳細(xì)講述如何在Pro/ENGINEER界面上添加用戶自定義菜單條菜單UserMenu以及在菜單條菜單UserMenu中添加按鈕“A”。

  int user_initialize()

  { ProFileName message_file;

  uiCmdCmdId cmd_id;

  ProStringToWstring(message_file, "user_msg.txt") ;

  ProMenubarMenuAdd("UserMenu","UserMenu", "Help", PRO_B_TRUE , message_file); //添加用戶自定義菜單條菜單UserMenu并放在菜單條菜單“幫助”之后

  ProCmdActionAdd("A", (uiCmdCmdActFn) Action,uiProe2ndImmediate,NULL,PRO_B_TRUE,

  PRO_B_TRUE, &cmd_id); //給按鈕A設(shè)定動(dòng)作Action

  ProMenubarmenuPushbuttonAdd("UserMenu", "A", "A","Non-mode-specific Pro/TOOLKIT test

  commands", NULL , PRO_B_TRUE , cmd_id ,

  message_file); //在菜單條菜單UserMenu添加按鈕A

  return(0);}

  其中user_msg.txt文件的內(nèi)容為 :

  UserMenu(換行)UserMenu(換行)#(換行)#(換行)A(換行)A(換行)#(換行)#

  user_msg.txt文件通常放在“~textusascii”下,它的路徑對(duì)應(yīng)于protk.dat注冊(cè)文件的TEXT_DIR項(xiàng)。

  Pro/ENGINEER的二次開發(fā)功能十分強(qiáng)大,本文主要描述了Pro/ENGINEER二次開發(fā)的整體過程(編寫C程序→VC++下編譯→命令提示符下編連→Pro/ENGINEER中注冊(cè))以及所遇到的關(guān)鍵性問題,用戶可在此基礎(chǔ)上在Pro/TOOLKIT二次開發(fā)程序中通過編寫各種功能函數(shù)來實(shí)現(xiàn)他的具體要求。