0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用Pro/ENGINEER開(kāi)發(fā)工具進(jìn)行UI界面的設(shè)計(jì)

電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2018-09-05 10:05 ? 次閱讀

1.引言

Pro/ENGINEER是PTC公司設(shè)計(jì)開(kāi)發(fā)的基于參數(shù)化、特征設(shè)計(jì)的三維實(shí)體造型設(shè)計(jì)軟件,其強(qiáng)大的功能一直受到業(yè)界用戶的好評(píng)。

雖然Pro/ENGINEER的功能強(qiáng)大并且通用性良好,但是在具體使用過(guò)程中不可能滿足各種各樣的特定要求,為使軟件能夠滿足特定使用者的多樣化需求,則需在該軟件已有功能的基礎(chǔ)上進(jìn)行二次開(kāi)發(fā)。

本文是基于Pro/E Wildfire 4.0版本的設(shè)計(jì),PTC公司推薦使用Visual Studio.NET 2005平臺(tái)進(jìn)行開(kāi)發(fā)。

2.Pro/ENGINEER開(kāi)發(fā)工具的對(duì)比分析

Pro/ENGINEER軟件在提供強(qiáng)大的設(shè)計(jì)分析與制造功能的同時(shí),也為用戶提供了多種二次開(kāi)發(fā)工具,常用的方式有Pro/Program(內(nèi)置)、Pro/TOOLKIT、VB以及J-Link等。

在Pro/ENGINEER軟件中,對(duì)于每一個(gè)模型都有一個(gè)Pro/Program,用于記錄模型的主要涉及步驟和參數(shù)列表,其語(yǔ)言結(jié)構(gòu)類(lèi)似于BASIC高級(jí)語(yǔ)言。用戶可以根據(jù)模型的設(shè)計(jì)要求來(lái)編輯該模型的程序,通過(guò)運(yùn)行程序,系統(tǒng)可以通過(guò)良好的人機(jī)交互的方法來(lái)控制系統(tǒng)參數(shù)、特征是否顯示、特征尺寸的大小等。該方式多用來(lái)開(kāi)發(fā)齒輪、鏈輪、蝸輪蝸桿等復(fù)雜零件。

VB.NET是完全面向?qū)ο蟮?a target="_blank">編程語(yǔ)言,在它的完全模式下,實(shí)現(xiàn)了監(jiān)聽(tīng)Pro/ENGINEER軟件本身發(fā)出的各種消息的接口,因此也支持調(diào)用Pro/E的函數(shù),向添加菜單、按鈕等。

J-Link是Pro/ENGINEER軟件自帶的基于JAVA語(yǔ)言的二次開(kāi)發(fā)工具,是一種面向?qū)ο螵?dú)立于操作系統(tǒng)平臺(tái)的應(yīng)用程序接口,它封裝了許多針對(duì)Pro/E底層資源調(diào)動(dòng)的類(lèi)庫(kù)和程序包,用戶可以使用來(lái)擴(kuò)展Pro/E功能。

Pro/TOOLKIT是PTC公司專(zhuān)門(mén)定制的開(kāi)發(fā)工具包,它提供了應(yīng)用程序接口,使客戶具有擴(kuò)展Pro/E功能的能力。Pro/TOOLKIT使用面向?qū)ο箫L(fēng)格的C語(yǔ)言編程,并且提供了用于底層資源調(diào)用的函數(shù)庫(kù)和頭文件,外部應(yīng)用程序可以通過(guò)這些函數(shù)來(lái)訪問(wèn)Pro/E.另外,還可以利用Pro/TOOLKIT提供的UI對(duì)話框、菜單以及VC的可視化界面技術(shù),設(shè)計(jì)出方便、實(shí)用、美觀的人機(jī)交互界面,從而大大地提高了系統(tǒng)發(fā)的使用效率。

3.Pro/TOOLKIT工作模式的對(duì)比分析

Pro/TOOLKIT開(kāi)發(fā)方式有兩種工作模式:異步模式(Asynchronous)是在不需要啟動(dòng)Pro/E的情況下,就可以單獨(dú)運(yùn)行Pro/TOOLKIT應(yīng)用程序的方式。但是相對(duì)來(lái)說(shuō)該方式代碼較為復(fù)雜,開(kāi)發(fā)難度大以main()函數(shù)作為Pro/TOOLKIT應(yīng)用程序的接口函數(shù);同步模式(SynchronousMode)必須與Pro/E軟件同時(shí)運(yùn)行,能達(dá)到所見(jiàn)即所得的設(shè)計(jì)結(jié)果,相對(duì)開(kāi)發(fā)比較容易;并且程序執(zhí)行速度較快。在本次開(kāi)發(fā)過(guò)程中,鑒于設(shè)計(jì)者并非專(zhuān)業(yè)程序設(shè)計(jì)人員,所以最終采用同步模式進(jìn)行設(shè)計(jì)開(kāi)發(fā),比較容易上手。

在同步設(shè)計(jì)開(kāi)發(fā)模式中,又分為動(dòng)態(tài)鏈接模式(DLL模式)和多進(jìn)程模式(Multiprocess)兩種。多進(jìn)程模式主要用于程序開(kāi)發(fā)階段以便程序的測(cè)試,但由于DLL模式運(yùn)行比較快,所以程序開(kāi)發(fā)完成后,最后轉(zhuǎn)換為后者。

4.Pro/ENGINEER UI界面設(shè)計(jì)的對(duì)比分析

在本文的零件庫(kù)的開(kāi)發(fā)設(shè)計(jì)過(guò)程中,不僅有菜單的使用,還涉及UI對(duì)話框的設(shè)計(jì)以及零件的可視化表達(dá)等內(nèi)容,因此,主要以Pro/Program和Pro/TOOLKIT作為主要對(duì)象加以對(duì)比分析。

用戶界面對(duì)話框(User Interface Dialog Boxes,簡(jiǎn)稱UI對(duì)話框)是Pro/TOOLKIT提供的一種交互界面設(shè)計(jì)工具。它能夠按界面的布局編寫(xiě)對(duì)話框資源文件;針對(duì)UI對(duì)話框的功能編寫(xiě)相應(yīng)的控制程序。該方式設(shè)計(jì)的UI界面和Pro/E的資源、設(shè)計(jì)風(fēng)格相一致,人機(jī)交互界面風(fēng)格有連貫性。但是這種利用文本文件設(shè)計(jì)的方式不能直觀地反映界面的布局,設(shè)計(jì)、修改和調(diào)試比較困難。

另外采用Visual C++2005.NET與Pro/ENGINEER軟件相匹配,就可以直接使用VC的面向?qū)ο蟮目梢暬勺兂上到y(tǒng),它具有程序框架自動(dòng)生成、類(lèi)別管理方便靈活,代碼編寫(xiě)和界面設(shè)計(jì)的交互設(shè)計(jì),3D控制界面等多種開(kāi)發(fā)程式。MFC是VC++程序的界面設(shè)計(jì)開(kāi)發(fā)方式,實(shí)現(xiàn)界面的可視化設(shè)計(jì)。

本文以直齒圓柱齒輪的參數(shù)界面設(shè)計(jì)為例,來(lái)加以對(duì)比分析。

采用Pro/Program方式,只是需要在【工具】菜單的模型【程序】

的頭部,INPUT和END INPUT程序中間添加以下程序:Z NUMBER“請(qǐng)輸入齒輪的齒數(shù)==”

… …就可以通過(guò)INPUT SEL列表來(lái)選擇需要修改的參數(shù)名稱,并在消息區(qū)根據(jù)提示輸入新的尺寸,完成模型的修改。這種方式實(shí)現(xiàn)比較容易,但是人性化設(shè)計(jì)理念不強(qiáng)。

采用UI對(duì)話框方式進(jìn)行如圖所示的參數(shù)表設(shè)計(jì),仍以齒數(shù)為例,則需要的部分程序如下:

可以看出雖然設(shè)計(jì)的界面更接近于Pro/E常用對(duì)話框的風(fēng)格,但是設(shè)計(jì)語(yǔ)句較為復(fù)雜,實(shí)現(xiàn)難度較大。

使用MFC設(shè)計(jì)的對(duì)話框界面則較為容易,只需要使用Dialog對(duì)話框編輯器中的Static Text進(jìn)行文字說(shuō)明的編寫(xiě),使用EditControl建立示例編輯框,即可完成上圖界面的設(shè)計(jì)工作。需要注意的是,示例編輯框要想進(jìn)行數(shù)值的傳遞,就必須通過(guò)【添加變量】來(lái)進(jìn)行屬性的編輯以及命名。其后的程序修改和調(diào)試工作也相對(duì)來(lái)說(shuō)較為容易,為了實(shí)現(xiàn)齒數(shù)值得傳遞僅需要一下程序:

通過(guò)以上三種方式的對(duì)比分析,可以看到利用MFC實(shí)現(xiàn)對(duì)話框的設(shè)計(jì)以及參數(shù)的傳遞過(guò)程,相對(duì)來(lái)說(shuō)比較容易,而且可視化程度高。

5.結(jié)論

本文通過(guò)市面上常用的Pro/ENGINEER開(kāi)發(fā)方式入手,對(duì)比分析了Pro/Program和Pro/TOOLKIT界面設(shè)計(jì)方式的不同。從以上分析可以看出,雖然MFC的設(shè)計(jì)方式不是最簡(jiǎn)單易行的設(shè)計(jì)模式,但是其優(yōu)秀的面向?qū)ο蟮脑O(shè)計(jì)方式,大大減少了開(kāi)發(fā)的難度,也為更為復(fù)雜的人機(jī)交互方式提供了可能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    6439

    瀏覽量

    110129
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2945

    瀏覽量

    104160
  • 開(kāi)發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    359

    瀏覽量

    40745
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    圖形界面開(kāi)發(fā)工具GUI Guider的使用教程

    GUI Guider是NXP推出的一款功能強(qiáng)大且對(duì)用戶非常友好的圖形界面開(kāi)發(fā)工具。目前最新版本是1.6.1。
    的頭像 發(fā)表于 12-20 09:49 ?1.4w次閱讀
    圖形<b class='flag-5'>界面</b><b class='flag-5'>開(kāi)發(fā)工具</b>GUI Guider的使用教程

    請(qǐng)問(wèn)SigmaStudio圖形開(kāi)發(fā)工具怎么使用

    功能模塊,通過(guò)SigmaStudioHelp.chm文檔查找,但是發(fā)覺(jué)SigmaStudioHelp.chm里面的模塊和SigmaStudio圖形開(kāi)發(fā)工具面的位置不盡相同,比如Reverb這個(gè)模塊
    發(fā)表于 10-22 10:31

    用xml配置文件的可視化工具實(shí)時(shí)模擬仿真UI界面功能

    自定義組合控件的顯示......組態(tài)UI低代碼開(kāi)發(fā)進(jìn)行復(fù)雜UI界面設(shè)計(jì)的工作時(shí), 會(huì)遇到控件功能代碼重復(fù)冗雜以及多控件布局時(shí)重復(fù)
    發(fā)表于 09-01 15:54

    pro/engineer wildfire 快速入門(mén)教程

    pro/engineer wildfire 快速入門(mén)教程 Pro/ENGINEER Wildfire 快速入門(mén)第 1 天Pro/
    發(fā)表于 01-14 16:53 ?0次下載

    Pro- ENGINEER教程

    Pro- ENGINEER教程
    發(fā)表于 03-02 15:36 ?0次下載
    <b class='flag-5'>Pro</b>- <b class='flag-5'>ENGINEER</b>教程

    STM32 VR開(kāi)發(fā)工具

    STM32 VR開(kāi)發(fā)工具
    發(fā)表于 02-17 13:38 ?39次下載

    ARM開(kāi)發(fā)工具解讀

    、評(píng)估板、JTAG仿真器和在線仿真器等,目前世界上大約有四十多家公司提供以上不同種類(lèi)的開(kāi)發(fā)產(chǎn)品。 Realview系列開(kāi)發(fā)工具的英文全稱為Realview Developer Suite,是ARM公司(www.arm.com)為方便用戶在ARM芯片上
    發(fā)表于 10-18 13:29 ?3次下載
    ARM<b class='flag-5'>開(kāi)發(fā)工具</b>解讀

    圖解android開(kāi)發(fā)工具

    要想快速開(kāi)發(fā)一個(gè)Android應(yīng)用,通常會(huì)用到很多工具,巧妙利用這些工具,能讓我們的開(kāi)發(fā)工作事半功倍,節(jié)省大量時(shí)間,本篇經(jīng)驗(yàn)就為大家介紹下這
    發(fā)表于 11-08 17:23 ?1377次閱讀

    實(shí)戰(zhàn)Pro Engineer 2001基礎(chǔ)入門(mén)

    本書(shū)是學(xué)習(xí) Pro/ENGINEER 2001的入門(mén)指南。本書(shū)共14章,第1章至第 2章主要介紹Pro/ENGINEER 2001的系統(tǒng)特性、新增功能、操作
    發(fā)表于 11-24 10:11 ?0次下載
    實(shí)戰(zhàn)<b class='flag-5'>Pro</b> <b class='flag-5'>Engineer</b> 2001基礎(chǔ)入門(mén)

    使用WinForm開(kāi)發(fā)UI界面資料合集

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用WinForm開(kāi)發(fā)UI界面資料合集,在實(shí)際工業(yè)控制上位機(jī)軟件設(shè)計(jì)中可以作為參考。
    發(fā)表于 04-27 08:00 ?6次下載
    使用WinForm<b class='flag-5'>開(kāi)發(fā)</b>的<b class='flag-5'>UI</b><b class='flag-5'>界面</b>資料合集

    利用YOCTO的力量進(jìn)行Linux操作系統(tǒng)移植項(xiàng)目

      隨時(shí)可用的 開(kāi)發(fā)工具:作為 Yocto 用戶,您可以訪問(wèn)各種開(kāi)發(fā)工具,例如應(yīng)用程序開(kāi)發(fā)工具包 (ADT)、ECLIPSE IDE 插件、嵌入式設(shè)備的圖形 UI (Matchbox)
    的頭像 發(fā)表于 06-30 09:05 ?2812次閱讀
    <b class='flag-5'>利用</b>YOCTO的力量<b class='flag-5'>進(jìn)行</b>Linux操作系統(tǒng)移植項(xiàng)目

    Qt Designer中提供的原生界面元素

    Qt是一個(gè)跨平臺(tái)的軟件開(kāi)發(fā)工具,可以使用C++、Python、Qml語(yǔ)言開(kāi)發(fā)項(xiàng)目。在實(shí)際項(xiàng)目開(kāi)發(fā)過(guò)程中,其提供了一個(gè)界面描述文件(xxx.ui
    的頭像 發(fā)表于 01-29 10:42 ?1675次閱讀

    常用的上位機(jī)開(kāi)發(fā)工具

    上位機(jī)的開(kāi)發(fā)工具很多,具體選擇哪種開(kāi)發(fā)工具需要根據(jù)具體的需求和開(kāi)發(fā)經(jīng)驗(yàn)來(lái)選擇。以下是一些常用的上位機(jī)開(kāi)發(fā)工具: 1. VisualStudio:VisualStudio 是一款由微軟
    發(fā)表于 05-09 10:42 ?0次下載
    常用的上位機(jī)<b class='flag-5'>開(kāi)發(fā)工具</b>

    使用Helium開(kāi)發(fā)工具包和Cayenne進(jìn)行GPS跟蹤

    電子發(fā)燒友網(wǎng)站提供《使用Helium開(kāi)發(fā)工具包和Cayenne進(jìn)行GPS跟蹤.zip》資料免費(fèi)下載
    發(fā)表于 06-19 15:33 ?0次下載
    使用Helium<b class='flag-5'>開(kāi)發(fā)工具</b>包和Cayenne<b class='flag-5'>進(jìn)行</b>GPS跟蹤

    Intellij IDEA 開(kāi)發(fā)工具實(shí)例

    。eclipse是老牌的開(kāi)發(fā)工具,可以說(shuō)算是我們的初戀了,熟悉的界面,熟悉的快捷鍵,剛?cè)肟訒r(shí),不知道陪伴了我們多少個(gè)寂寞的夜晚。但是 Idtellij IDEA 的橫空出世,也讓很多人拋棄了初戀,轉(zhuǎn)投新歡。我使用IDEA開(kāi)發(fā)也有
    的頭像 發(fā)表于 09-25 16:21 ?740次閱讀
    Intellij IDEA <b class='flag-5'>開(kāi)發(fā)工具</b>實(shí)例