【UG二次开发环境建立教程】

本教程介绍了如何建立UG二次开发环境,主要涉及UG和VisualStudio的安装配置,包括复制UG提供的向导文件,修改.vsz文件中的版本号,以及在VS中设置项目属性,添加包含目录和库文件,以便进行UG的C++动态链接库开发。
摘要由CSDN通过智能技术生成

UG二次开发环境建立教程

关于UG二次开发环境的两种建立方法

UG二次开发有两种环境建立方法,一种是借助UG软件自带的向导文件建立VS开发模板,另一种方法就是自己直接在VS开发环境下进行动态链接库或者控制台的开发。

方法一:导入UG二次开发向导模板

1.分别安装UG软件和Visual Studio软件,保证软件可以正常打开使用。

2.打开UG安装目录,比如在D:\NX12\UGOPEN\vs_files文件夹中,将VB、VC、VC#三个文件夹复制一份。

在这里插入图片描述

3.将VB、VC、VC#三个文件夹复制到VS软件安装目录下,比如D:\Visual Studio 2019,复制合并原有的文件夹,

在这里插入图片描述

4.在vs软件安装目录下比如D:\Visual Studio 2019\Common7\IDE同样复制替换合并VB、VC、VC#三个文件夹。

在这里插入图片描述

5.在路径D:\Visual Studio 2019\中将VB文件夹中的D:\Visual Studio 2019\VB\VBProjects中的.vsz文件,

同理将VC文件夹中的D:\Visual Studio 2019\VC\vcprojects中的两个后缀为.vsz的文件,
以及D:\Visual Studio 2019\VC#\CSharpProjects文件夹中的.vsz后缀文件以记事本方式分别打开,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.将.vsz文件中Wizard=VsWizard.VsWizardEngine.16.0(不同UG版本打开后版本号不同)的版本号根据安装的VS版本进行更改,比如VS2019对应VC版本号为16,对应更改所有的.vsz文件中的版本号。

在这里插入图片描述
在这里插入图片描述

7.同时将VS软件安装目录下,比如D:\Visual Studio 2019\Common7\IDE文件夹下的VB、VC、VC#三个文件夹中projects文件夹的.vsz文件中的版本号也对应更改。

在这里插入图片描述
如果.vsz文件更改后无法保存,可以复制后在外部文件夹中更改完毕后进行替换操作。

8.打开vs软件,在搜索框中输入NX,如果出现如图所示向导模板即可进入UG二次开发环境;

在这里插入图片描述

9.如果没有出现如图所示的向导模板(UG与VS版本不对应可能会出现此类问题),请关闭VS软件,打开Visual Studio Installer,连接网络进入修改选项。

在这里插入图片描述

10.选择.NET桌面开发选项,点击修改,等待完成安装,

重新进入VS软件,在新建项目搜索框中输入NX即出现UG二次开发相关模板,选择即可进入UG二次开发环境。
在这里插入图片描述

11.进入VS开发环境,在源文件下ufsta模块即可愉快的对UG进行各种开发操作了。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

12.以上是通过UG自带的向导文件进行二次开发环境的建立,省时省力,不需要进行很多操作进行设置;

如果不想通过UG向导模板进行操作,也可以自己设置进行二次开发环境的建立。
比如要使用VS软件C++语言环境开发UG的动态链接库(.dll)文件,可以打开VS建立动态链接库建立开发环境(内部UF程序)。
外部UF函数建立控制台程序。
在这里插入图片描述

13.设置环境,在项目工程文件属性中,C/C++选项中,附加包含目录新增UG安装目录下UGOPEN文件夹;

在属性/链接器/常规/附加库目录,也新增文件夹—UG安装目录下UGOPEN文件夹;
在这里插入图片描述
在这里插入图片描述

14.在工程属性/链接器/输入/附加依赖项,添加二次开发需要的库文件,在UG V17、V18以上:

外部和内部UF,均需加入libufun.lib、和libugopenint.lib库;
UG NX8以上:使用VC2008以上,再加入libnxopencpp.lib、libnxopenuicpp.lib库
在这里插入图片描述

15.导入头文件,stdlib.h、stdio.h、uf.h、uf_modl.h、uf_ui.h,

(一般的常用头文件,具体需要引用什么头文件请参考函数用户手册)将以下规定内容复制到源文件中,在程序入口函数处即可进行UG二次开发。

#define UF_CALL(X) (report( __FILE__, __LINE__, #X, (X)))
static int report(char* file, int line, char* call, int irc)
{
    if (irc)
    {
        char    messg[133];
        printf("%s, line %d:  %s\n", file, line, call);
        (UF_get_fail_message(irc, messg)) ?
            printf("    returned a %d\n", irc) :
            printf("    returned error %d:  %s\n", irc, messg);
    }
    return(irc);
}
static void do_ugopen_api(void)
{

//在此处进行二次开发代码输入//

UF_terminate();
    return;
}
/*ARGSUSED*/
void ufusr(char* param, int* retcode, int paramLen)
{
    if (!UF_CALL(UF_initialize()))
    {
        do_ugopen_api();
        UF_CALL(UF_terminate());
    }
}
int ufusr_ask_unload(void)
{
    return (UF_UNLOAD_IMMEDIATELY);
}

16.在入口函数增加自己的开发内容,即可生成动态链接库文件,使用UG即可打开。

在这里插入图片描述

17.调用方式:

UG调用内部UF的方式
1.启动UG后,从File→Execute UG/Open →User Function或者Ctrl+U(快捷方式) 进入, 运行内部UF程序(ufusr接口函数)
2. 从用户创建的菜单中(Menu Script) 调出用户定制的界面(UI Styler), 运行程序(ufsta),这种方法需要更改环境变量参数,新建UG用户变量,更改UG安装包内的 _env.dat文件,在此不再赘述。
(使用UG直接调用.dll文件不需要使用这种方法)
Author by WuXunde

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值