分享

UG NX二次开发教程1:开发环境配置

 伊伊爸 2022-12-07 发布于湖北

我最初什么时候开始接触二次开发我已经记不清了,反正挺早的了,也快有七八年了吧,但是中间学的过程也是曲曲折折,拖拖拉拉的,现在想来没人指点入门确实挺不容易的,特别是对编程没基础的人来说,我那时还好学过C语言。

如果学UG二次开发,前提还是要学一门编程语言,这门语言不一定要你很精通,但是最基础的知识你要知道,比如C语法,函数,结构体,指针,枚举,类等等,如果要用NXOpen还好要学C++。我一开始学二次开发时C语言的知识都忘的差不多了,按照网上给的例子做下来,也是各种不通,后来我就买了一本C++书看了一遍,就这样学边对着别人的例子做,边学C++,现在C++也学的差不多了,至少一般常见的问题能解决了,或者有问题也能很快找到办法,这里要谢谢前人给的指点。

今天就来说一下二次开发的开发环境配置吧。UG软件安装好后,UG是自带了开发模板的。我电脑是安装的是UG8.5。我安装在D盘。后面说的路径大家可以自己对号入座。找软件安装在哪个地方的办法网上一搜就一大堆。UG自带的开发模板放在UGII_BASE_DIR路径下面一个UGOPEN文件夹中,如下图红色框中的文件夹

图片

每个UG版本都有与它匹配的VS版本。UG8.5是与VS2010匹配的。这个也可以在网上查到。上面的模板文件如果没有,也可能自己手动配置,不过配置过程还有点麻烦,我以前试过,具体步骤现在也忘了,这里没就不说了。我电脑里安装了VS2010,安装在D盘。如下图

图片

直接打开上面vs_files文件夹,里面有三个文件夹VB,VC,VC#和一个文件default_dll.csproj。我这里说的是配置C++的开发环境,如果你用VB或C#应该也是一样的吧。这里可以直接复制UGOPEN文件夹下面vs_files文件夹下面的所有内容到上面VS安装路径D:\Program Files (x86)\Microsoft Visual Studio 10.0下面,与原来的VB,VC,VC#这几个文件夹合并。如下图所示

图片

合并完成了,到这里我们的配置也就完成,至于有人说还要修改什么什么文件的,这个我也不清楚,我试过的方法就是做到这里后面没有出什么问题,接下来就可以启动VS2010了。开试一下配置成功了没有。打开VS后,点击【文件】【新建】【项目】,出现下面的界面。

图片

我们在左边的Visual C++这一栏下点开,右边第一行就是UG二次开发模板。最下面三行可以输入项目的名称。我这里输入DEMO,位置可以改一下。如下图

图片

点确定。

图片

下一步

图片

选第一个内部模式。第二项先C++。内部模式的意思就是程序是在开了UG软件后,做为UG软件的一个组件来运行,外部模式就是可以独立于UG软件运行,是一个单独的程序。但是要运行它,系统还是要安装UG才行,不然没有许可证,很多API是不工作的。我没用过外部模式,多的我说不出来。下一步

图片

第一项How would...?我们只勾上ufusr。其它的先不选,第一个ufsta如果选上了,表示是这个外挂会在UG启动时就会加载了,具体的可以去看一下ufsta这个函数说明。第三个From a User Exit,这个我没还有用过,但是看一下API的帮助应该就可以明白,这些是C语言的方法,我用过NXOpen C++的方法,和这个效果是一样的,那方法后面再说吧。第二项How would ...?我们选第二个Automatically,when the application complests。这个意思是当我们运行完这个外挂,UG就把完从内存中unload了,要用时再load,选这个有一个好外,就是程序调试方便。如果选第一个,那这个外挂运行完要等到UG关闭时才unload。选第三个是手动unload,方法是在UG界面上点击【文件】【实用工具】【卸载共享图像】,这个我也没用过,大家可以自己试一下。然后Finish。到这里这个项目框架已经建好了,如果你什么都不想做,你可以直接按F7编译试一下,可能会出错,也可能不会出错。

假如你的UG是64位的,你程序项目配置的是32位的,就会报错。改正后,应该就不会报错了。这里我们可以在程序里加几句代码。在ufusr函数体内/* TODO: Add your application code here */这句下面加一句

uc1601('这是我的第一个UG二次开程序',1);

然后按下F7,编译成功。

这里解释一下uc1601()这个函数,这个函数用的很多,这个就是一个消息显示函数。函数的第一个参数是消息的内容,第二个参数是消息的显示方式,如果是1就是弹一个对话框出来,如果是0就是在UG的状态栏里显示。

我们运行一下这个程序。

打开UG,直接按【Ctrl + U】找到刚才生成的程序DEMO.dll。如下图

图片

OK后如下图

图片

到这里这个程序就完成了。如果你用的DEBUG模式,可以改成release再试一下。还有上面uc1601那个函数可以改一下第二个参数为0试一下。

下面是参考代码:

图片

大家可以给我留言(目前公众号没有评论区,可以直接给我发消息,我能收到),想知道哪一块的,如果我会,有时间的话我慢慢写出来给大家分享。

图片下面是宣传文字,想看就看看图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多