iCAx开思网

标题: 应用VC.net实现UG二次开发的环境配置及实例 [打印本页]

作者: miraculous    时间: 2005-4-1 01:48
标题: 应用VC.net实现UG二次开发的环境配置及实例
在看了前人例子的基础上,把VC.net实现UG二次开发的环境配置过程完整地写了出来,并作了个简单的例子,希望能对大家有用,节省些时间。如果有不正确的地方欢迎大家指点
  
Win2000中文版平台:UG NX2英文版 + VC.net英文版
  
1.建立目录application,startup
  在D盘根目录下建立UG目录D:\UG,在里面分别建立application和startup子目录
  D:\UG\application用于放置*.dll,*.ilk文件(用VS.net生成对话框资源)
             或者*.dll, *.dlg(用UG styler生成的对话框资源)
  D:\UG\startup 用于放置*.men文件,实现菜单配置
2.环境变量的设置
  我的电脑->属性->环境变量
  添加变量UGII_YG_DIR,变量值为D:\UG
  添加变量UGII_VENDOR_DIR,变量值为%UGII_YG_DIR%
3.启动VC.net
  New->Project->MFC->MFC DLL
  输入Project名称MyProject,点击OK,其余取默认值即可。
4.在MyProject.cpp中添加下列函数:
  int DisplayDialog(CWnd* pParent);//显示非模态对话框
  extern "C" DllExport void ufusr(char *param, int *retcode, int rlen);//UG 程序入口
  extern "C" void ufusr_cleanup(void);
  extern "C"  int ufusr_ask_unload(void);
  具体代码见MyProject.cpp
5.增加对话框资源
  增加ID为IDD_DIALOG对话框,并添加ID分别为IDC_ALLERT和IDC_INPUT的BUTTON
  为对话框增加以CDialog为基类的类 CMyDlg
6.在MyProject.cpp中添加#include"MyDlg.h"
  在MyProject.h中添加UG的头文件
  #include <uf.h>    //Add UG head files
  #include <uf_defs.h>
  #include <uf_exit.h>
  #include <uf_ui.h>
  #include <uf_modl.h>
  VC.net中Include地址设置:
  Tools->Option->Projects->VC++ Directories->Show Directories for->
    选择Include Files->添加相应的地址,我的地址是:
  C:\Program Files\EDS\Unigraphics NX 2.0\UGOPEN
7.添加库文件
  在Solution Explorer中,右键点击MyProject->Add->Add Existing Item...
  选择到UGOPEN目录,我的目录为C:\Program Files\EDS\Unigraphics NX 2.0\UGOPEN
  文件类型选择All Files(*.*),文件名称键入*.lib,点击Open
  可以全部选择出现的5个lib文件,多选了没坏事;不过我一般只选择
    libopenintpp.lib,libufun.lib和libugopenint.lib三个
8.如果生成基于对话框的类名称不是CMyDlg或者对话框ID不是IDD_DIALOG
  修改MyProject.cpp中函数DisplayDialog(CWnd* pParent)两行相应的代码:
        CMyDlg* dlg=new CMyDlg();  
        BOOL ret=dlg->Create(IDD_DIALOG);  
9.编译,将Debug目录下MyProject.dll,MyProject.ilk文件 copy至D:\UG\application;
  在D:\UG\startup目录下建立style.men文件,具体内容见附件。
  避免每次Copy MyProject.dll,MyProject.ilk文件小技巧:
  右键点击Solution Explorer中MyProject->Property->linker->General
  ->Output File->你的application目录,例如我的为
  D:/UG/application/MyProject.dll, 特别注意这里是"/"。
10.运行UG
   可以看见,在Help菜单前出现了YG下拉菜单,点击MyProject到目前为止已经迈出了成功的一大步。
11.添加对话框中Alert和Input Button的事件响应,均为鼠标单击产生事件响应
   在MyDlg.cpp中添加函数
  void CMyDlg::OnClickedAllert();
  void CMyDlg::OnBnClickedInput();
   具体代码见附件。
   编译,运行UG可以看到点击Alert和Input按钮已经有了事件响应。
12.大功告成,至于以后代码如何添加还需自己在此基础上多多思考。
作者: miraculous    时间: 2005-4-1 01:49
附件
作者: thomasw    时间: 2005-4-7 10:03
仁兄,在visual studio.net环境里怎么配置阿?我想用c#编程,想做网络方面的编程,给提点什么建议吧。
作者: 深夜摔键盘    时间: 2005-4-7 17:31
呵呵。挺详细的。
补两个小技巧:
1.在添加libufun.lib,libugopenint.lib等库文件时,可以事先从UGOPEN中把这些文件拷到VS.net目录中($\Microsoft Visual Studio .NET 2003\Vc7\lib)
每次写程序时在代码起始处加上用预编译指令:
#pragma comment(lib, "libufun.lib")
#pragma comment(lib, "libugopenint.lib")
  
2.如果VC++6的兄弟改用VS.net开发,用起来不大习惯的话。如下改改配置就好了。
打开VS.net后,在"帮助"菜单中选择"显示起始页",VS.net窗口中显示了起始页窗口,打开"我的配置文件"页,如下设置即可。
作者: countryroad    时间: 2005-4-8 16:22

作者: wfing    时间: 2007-7-3 20:40
先项,太谢谢了
作者: bestguy    时间: 2007-10-30 19:44
我一直用的是vc++做的ug开发,现在学习了一段时间的c#,想用c#对ug开发,苦于一直不清楚怎么配置才能在c#平台下使用,希望知道的朋友指点一下,万分感激




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3