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

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

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

今天的文章【UG二次开发环境建立教程】分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/28459.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注