找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?在线3D打印服务,一键上传,自动报价 
查看: 19914|回复: 6
打印 上一主题 下一主题

应用VC.net实现UG二次开发的环境配置及实例

[复制链接]
跳转到指定楼层
1
发表于 2005-4-1 01:48:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在看了前人例子的基础上,把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.大功告成,至于以后代码如何添加还需自己在此基础上多多思考。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
 楼主| 发表于 2005-4-1 01:49:39 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3
发表于 2005-4-7 10:03:44 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
4
发表于 2005-4-7 17:31:36 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
5
发表于 2005-4-8 16:22:47 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
6
发表于 2007-7-3 20:40:37 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
7
发表于 2007-10-30 19:44:29 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-9-22 06:45 , Processed in 0.030122 second(s), 13 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表