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

您的位置:網站首頁 > UG教程下載

微機平臺的UG二次開發技巧

時間:2010-11-15 10:01:36 來源:

  UG/Open通過一個開放的平臺包含一系列的基于UG的應用軟件的柔性集成。其目的是為了計算機集成應用,實現數據共享。它具有開放的體系結構。

  UG/Open提供了一種能夠完成下列工作的應用軟件和工具:1)通過UG/Open API或UG/Open GRIP提供了與UG對象模型(UG Object Model)的接口;2)生成和管理用戶自定義對象(User Defined Objects或Custom Objects),包括管理它們與UG對象的相關性;3)提供反映第三方應用軟件的UG圖形界面本地化方法;4)利用相關產品如IMAN ITK和Parasolid;5)利用和集成新的UG/Open技術并使之成為應用可能。

  UG/Open API是一個允許程序訪問并影響UG對象模型的程序集,并同時提供一個UG所共容的編譯和聯接程序的方式。它支持C/C++語言,頭文件(header files)支持ANSI C。在UG軟件系統中相關的還有:UG/Open GRIP(/NC), UG/Open MenuScript, UG/Open IMAN ITK和Parasolid。

  UG/Open API執行許可證:開發運行一個UG/Open API程序需有UG/Open開發許可證和執行許可證,用戶通過UF_initialize()來訪問并通過UF_terminate()來返還這些許可證。

  例程和UG/Open API頭文件在用戶應用平臺UG安裝目錄下的ugopen目錄里,Windows NT系統是%UGII_BASE_DIR%ugopen,用戶可以訪問并利用這些程序和文件。

  一、UG/Open API在Windows NT操作系統里的安裝

  1.UG(V14.0)要求C編譯器版本為Microsoft Visual C++V5.0以上,本文所述為VC++6.0版本。

  2.定義環境變量(environment variables),定義方法:開始-設置-控制面板-系統,在“系統特性”框里點擊“環境”欄,在“用戶變量”里即可設置。

  必需的環境變量:UGII_USERFCN,該變量指向UG/Open API庫函數所在的目錄。

  其它的環境變量,1)變量:EXCEEDHOME,若欲使用包含UG/Open API Motif程序的prototypes的uf_ui_xt.h頭文件時必須定義;2)變量:EXCEEDLIBS, 在uflink連接時指定應包含哪個eXceed/NT-XDK庫函數時需定義;3)變量:INCLUDE,使C預處理器查找頭文件(.h files);4)變量:LIB,它使C連接器查找對象庫函數并輸入庫函數;5)變量:PATH,它使系統查找可執行文件、DLLs(Dynamic Link Library,動態連接庫函數)和Scripts(命令表)。

  結論,在用戶變量里定義:

  UGII_USERFCN C:ugEds140Ugopen(也可在ugii_env文件中定義)

  EXCEEDHOME C:.ugexceed

  EXCEEDLIBS C:ugexceedxdk

  INCLUDE D:AppVisualStudioVC98Include

  LIB C:ugEds140Ugopenugraf.lib;

  C:ugEds140Ugopenuguser.lib;

  D:AppVisualStudioVC98Lib

  PATH C:ugEds140Ugiiog1;C:ugexceed;

  D:AppVisualStudioVC98Bin;

  C:ugEds140Ugii

  2.在VC++里創建一個UG/Open API Project

  (1)進入Microsoft Visual C++。

  (2)創建Project: File→New→Projects,對于一個Internal UG/Open API程序選Win32 D-Link Library(對于一個Extermal UG/Open API程序選Win32 Console Application);并輸入Project name。

  (3)Configure(配置)Project Settings

  選Project→Settings→Debug,“Category”欄是General,在“Executable for debug session”欄內輸入:C:ugeds140Ugiiugraf.exe(這是為調試Internal UG/Open API program而設置的參量);在“Program arguments :”欄內輸入ogl auto。

  選Project→Settings→C/C++,在“Category:”內選Code Generation;在“Use Run-Time library:”內選Multithreaded DLL。

  選Project→Settings→Link,“Category”欄是“general”;在“Output file name:”文本框內若無缺省輸出文件名就指明;在“Object/library modules:”欄末加上ugraf.lib Xt.lib Xlibcon.lib Xlib.lib(程序為Internal UG/Open API with direct X/Motif references時)。(若程序為External UG/Open API 則加上Uguser.lib;若為Internal UG/Open API without direct X/Motif references則加上ugraf.lib)。

  (4)Configure(配置)Tools Settings

  選Tools→Options- →Directories,在“show directories for:”內選Include files,在“Divectories:”內輸入C:ugeds140ugopen;若是Internal UG/Open API project,因要使用UG附帶的支撐軟件Hummingbird Exceed的include files,故再輸入C:ugexceedxdkinclude。結論是依次輸入:

  C:ugEds140Ugopen

  C:ugexceedxdkinclude

  D:AppVisualStudioVC98Include

  C:ugexceedLIB

  D:AppVisualStudioVC98Mfcinclude

  D:AppVisualStudioVC98Atlinclude

  C:ugEds140Ugiiogl

  C:ugEds140Ugiixwi

  D:AppVisualStudioVintDev98bin

  選Tools→Options- →Directories,在“show directories for:”內選Library files,在“Directories:”內輸入C:ugeds140ugopen,若是Internal UG/Open API project,因要使用UG附帶的支撐軟件Hummingbird Exceed 的庫函數,故再輸入C:ugexceedxdklib。結論是依次輸入:

  C:ugEds140Ugopen

  C:ugexceedxdklib

  D:AppVisualStudioVintDev98bin

  C:ugexceed

  D:AppVisualStudioVC98Lib D:AppVisualStudioVC98Mfclib

  C:ugEds140Ugii

  C:ugexceedLIB

  (5)Add Files to Project

  為把源文件(source file)加到Project里,選Project→Add To Project→New,選文件類型(如C++ Source File),輸入File Name,這樣就可以編寫源文件;或者選File→New,選文件類型(如C++ Source File),輸入File Name,編寫完源文件后,選Project→Add To Project→Files將該文件或其它已存的源文件加到Project里。

  (6)Compile and Link:Compile- →Build- →Execute。

  注:為檢驗上述工作是否正確,可以調出并編譯運行%UGII_BASE_DIR%ugopen中的ucintr.c。

  3.UG/Open API程序

  (1)可執行文件(程序)類型

  從UG/Open API里使用函數來編程可以有兩種不同的模式(mode):Internal和External,這里模式是指產生的可執行代碼的類型,即是一個共享庫(Internal)或是一個獨立的可執行代碼(External)。

  1)Internal UG/Open API的一般形式:

  #include //Prototypes exist in this file.

  //Additional include files as required.

  Void ufusr(char *param, int *retcod, int parm_len)

  { variable declarations

  UF_initialize();

  Function body

  UF_terminate();

  }

  Internal UG/Open API使用ufusr函數(主函數)作為程序運行的入口點,它可以看作是用戶寫的UG子程序/子函數。執行程序時,UG將程序裝入內存并搜索ufusr, 程序從這里開始執行,執行完后由一個return語句返回UG。

  2)Extermal UG/Open API的一般形式:

  #include

  //Additional include files as required.

  Int main(int argc, char **argv)女

  { variable declarations

  UF_initialize();

  Function body

  UF_terminate();

  }

  輸入主函數的參數(arguments)是標準的C參數:argc- argument count, argv-字符串指針。

  (2)幾點說明

  1)頭文件(*.h file) 在程序中除了包含標準的ANSI C頭文件外,還應包含所 使用的UG/Open API程序的頭文件,在這些特定的頭文件里描述了UG所稱的“Types 和Symbols”,即用來定義結構體(structures)、枚舉體(enums)、共用體(unions)和指針(pointers)的“類(type)”和用來定義常量(constants)的“串(string)”。

  2)程序的運行 一般地,可以從在UG圖形界面里來運行,另外地可以從UG/Open MenuScript、User Exits、User Tools和UG/Open GRIP里調用并運行。

  3)函數(Functions)UG/Open API提供的函數形式和ANSI/ISO C標準相一致,即<返回數據類型> <函數名> (變量表)

  (3)UG對象模型(UG Object Model)

  UG使用許多方法為其對象建立模型,根據對象的不同用途及其相互關系,UG對象可以是面向設計(design-oriented)、面向工程圖(drafting-oriented)、面向分析(analysis-oriented)或者面向制造(manufacturing-oriented)的對象。UG開發人員編程的過程實際上就是訪問、修改、植入UG對象從而建立起UG對象模型的過程。

  每一個UG對象都是通過其唯一的標識符(identifier)(如tag)來引用,一個標示符的實際物理表示是一個無符號型整型變量(unsigned integer)。tag 在UG/Open API頭文件uf_defs.h里被定義,它僅僅是把一個UG對象載入內存時的標示符。


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

            国产欧美综合在线观看第十页| 成人av网站免费观看| 日韩限制级电影在线观看| 91视频.com| 91蝌蚪porny成人天涯| 94-欧美-setu| 欧美影院一区二区| 欧美高清视频一二三区| 欧美一区二区三区四区视频| 欧美一三区三区四区免费在线看 | 国产精品一区一区| 国产高清成人在线| aaa亚洲精品一二三区| 26uuu国产在线精品一区二区| 91精品婷婷国产综合久久性色| 欧美日韩国产天堂| 精品少妇一区二区三区在线播放| 久久美女艺术照精彩视频福利播放| 国产免费观看久久| 亚洲自拍与偷拍| 久久99最新地址| 99精品偷自拍| 日韩欧美色电影| 中文字幕中文乱码欧美一区二区| 伊人色综合久久天天| 免费久久精品视频| 99国产精品久久久久久久久久| 欧美人狂配大交3d怪物一区| 久久丝袜美腿综合| 亚洲成年人网站在线观看| 国产精品一区免费在线观看| 欧亚一区二区三区| 国产亚洲精品aa午夜观看| 亚洲六月丁香色婷婷综合久久| 青青草国产成人99久久| 91原创在线视频| 精品久久久久香蕉网| 一区二区三区在线视频观看58| 九色porny丨国产精品| 欧美怡红院视频| 国产精品欧美久久久久一区二区| 偷拍一区二区三区| caoporm超碰国产精品| 日韩亚洲欧美在线| 一区二区三区欧美| www.亚洲人| 久久久久国产精品免费免费搜索| 天堂久久一区二区三区| 色中色一区二区| 中文字幕国产一区二区| 久久成人免费电影| 欧美日韩国产高清一区二区 | 亚洲黄色免费电影| 国产精品99久久久久久似苏梦涵| 精品视频资源站| 综合欧美一区二区三区| 国产成人一区在线| 精品日韩在线一区| 日韩高清一级片| 欧美性生活久久| 亚洲精品视频在线| 91麻豆.com| 亚洲欧洲综合另类| 91色.com| 一区二区三区免费看视频| 不卡免费追剧大全电视剧网站| 久久精品欧美一区二区三区不卡 | 久久人人超碰精品| 日本亚洲视频在线| 欧美裸体一区二区三区| 亚洲一二三四区不卡| 色8久久精品久久久久久蜜| 亚洲欧洲综合另类| 欧美中文字幕亚洲一区二区va在线| 亚洲欧美日韩国产另类专区| 丁香网亚洲国际| 中文字幕在线观看一区二区| 91在线观看地址| 亚洲国产日韩综合久久精品| 欧美日韩另类一区| 蜜桃一区二区三区四区| 久久综合九色综合欧美就去吻 | 丝袜美腿一区二区三区| 91精品国产综合久久久久久| 日韩av一二三| 久久久综合激的五月天| 成人综合婷婷国产精品久久免费| 国产精品久久久久影视| 中文字幕av一区二区三区免费看 | 亚洲国产色一区| 欧美在线|欧美| 婷婷开心激情综合| 日韩写真欧美这视频| 国产一区二区主播在线| 国产精品福利一区| 欧美日韩精品一区二区三区四区 | www.久久精品| 亚洲成人黄色影院| 久久精品亚洲精品国产欧美| 色综合久久久久综合体| 蜜臀a∨国产成人精品| 日本一区免费视频| 欧美日韩aaa| 国产精品456露脸| 亚洲综合丁香婷婷六月香| 精品少妇一区二区三区视频免付费 | 欧美成人激情免费网| 成人自拍视频在线| 亚洲国产精品一区二区www在线| 欧美一区二区播放| 99v久久综合狠狠综合久久| 亚洲国产精品久久久久秋霞影院| 日韩精品中文字幕在线不卡尤物| 成人h版在线观看| 日韩成人免费电影| 日韩一区在线播放| 精品一区二区三区在线播放视频| 国产精品毛片高清在线完整版| 欧美午夜片在线看| 国产aⅴ综合色| 天堂成人免费av电影一区| 中文一区在线播放| 日韩网站在线看片你懂的| 91在线高清观看| 国产美女精品一区二区三区| 三级在线观看一区二区| 亚洲视频中文字幕| 久久久久久久综合日本| 欧美日韩激情在线| 97国产一区二区| 国产精品一级片| 另类小说欧美激情| 亚洲午夜久久久久久久久电影院| 国产蜜臀97一区二区三区| 日韩一区二区三区视频在线| 在线中文字幕一区二区| 成人av网站免费观看| 国产东北露脸精品视频| 久久国产婷婷国产香蕉| 午夜激情综合网| 亚洲自拍都市欧美小说| 成人欧美一区二区三区1314| 国产日韩精品一区| 久久一区二区三区四区| 日韩三级中文字幕| 国产伦精品一区二区三区免费| 午夜精品福利在线| 亚洲一区视频在线| 玉足女爽爽91| 亚洲女人****多毛耸耸8| 综合久久国产九一剧情麻豆| 中文字幕一区二区日韩精品绯色| 国产日韩v精品一区二区| 国产午夜精品理论片a级大结局| 日韩精品一区二区三区四区| 欧美一区二区人人喊爽| 6080亚洲精品一区二区| 欧美日韩国产a| 欧美肥大bbwbbw高潮| 欧美在线视频你懂得| 精品视频在线看| 欧美美女bb生活片| 欧美一区二区三区人| 欧美肥妇bbw| 日韩欧美国产午夜精品| 欧美大黄免费观看| 精品久久久久av影院| 久久久久综合网| 亚洲国产精品av| 亚洲欧洲av在线| 亚洲综合在线五月| 日韩国产精品久久| 激情另类小说区图片区视频区| 韩日精品视频一区| 成人精品高清在线| 在线观看网站黄不卡| 欧美高清视频一二三区| 精品国产亚洲在线| 欧美国产一区二区在线观看 | 亚洲国产精品欧美一二99| 日韩黄色在线观看| 国产一区二区三区四区五区入口| 国产久卡久卡久卡久卡视频精品| 丰满亚洲少妇av| 欧美午夜在线观看| 欧美精品一区二| 亚洲六月丁香色婷婷综合久久 | 日本一区二区三区在线观看| 国产精品欧美一区喷水| 亚洲一区视频在线观看视频| 琪琪一区二区三区| 丁香婷婷深情五月亚洲| 91精彩视频在线观看| 欧美mv日韩mv国产网站app| 国产精品久久久久久久久果冻传媒| 亚洲国产精品一区二区久久恐怖片| 久久99精品网久久| 一本大道综合伊人精品热热 | 美女视频一区二区三区| 成人av网站在线观看免费|