首页 > 编程语言 > 详细

NX二次开发-使用NXOPEN C++手工搭建win32开发环境配置

时间:2021-09-03 21:08:40      阅读:12      评论:0      收藏:0      [点我收藏+]

新建win32项目

技术分享图片

 技术分享图片

 选择dll,空项目。要以动态链接库的形式加载到NX中,不是独立运行的exe应用程序

技术分享图片

 技术分享图片

 技术分享图片

进来后新建项,添加代码

技术分享图片

 技术分享图片

 设置x64项目,如果是32位NX就用win32,64位用x64

技术分享图片

 技术分享图片

 技术分享图片

 技术分享图片

 开始配置环境

技术分享图片

 更改字符集为多字节

技术分享图片

 设置附加包含目录

技术分享图片

D:\Program Files\Siemens\NX 9.0\UGOPEN

这个路径里放的都是做二次开发SDK开发包的头文件.h,库文件.lib,给我们调用使用的。

 技术分享图片

设置预处理器

至于为啥是这三个,当你用NX开发项目去做的时候,查看它用的就是这三个,原封不动抄过来。

技术分享图片

_CRT_SECURE_NO_WARNINGS
_SECURE_SCL=0
_USRDLL

设置链接器-附加库目录

技术分享图片

D:\Program Files\Siemens\NX 9.0\UGOPEN

设置附加依赖项

技术分享图片

lib文件的介绍说明

    libufun.lib                    UFUNC API 函数库
    libugopenint.lib               UFUNC 对话框 API 函数库
    libnxopencpp.lib                 NXOpen API 函数库
    libnxopenuicpp.lib             NXOpen 对话框即Block UI Styler API 函数库
    libnxopencpp_features.lib      NXOpen API 特征函数库
    libnxopencpp_annotations.lib   NXOpen API 用到Vector,NXString的函数库

更多lib文件https://www.cnblogs.com/nxopen2018/p/10976030.html

都设置完了后,确定关闭

技术分享图片

 下面开始添加代码,不知道添加什么代码,就去录制C++代码

技术分享图片

 技术分享图片

将录制出来的代码放到我们的项目中

// NX 9.0.3.4
// Journal created by Administrator on Thu Sep 02 22:20:54 2021 中国标准时间
//
#include <uf_defs.h>
#include <NXOpen/NXException.hxx>
#include <NXOpen/Session.hxx>
#include <NXOpen/Part.hxx>
#include <NXOpen/PartCollection.hxx>
using namespace NXOpen;

extern "C" DllExport int ufusr_ask_unload()
{
    return (int)Session::LibraryUnloadOptionImmediately;
}

extern "C" DllExport void ufusr(char *param, int *retCode, int paramLen)
{
    Session *theSession = Session::GetSession();
    Part *workPart(theSession->Parts()->Work());
    Part *displayPart(theSession->Parts()->Display());
    // ----------------------------------------------
    //   Menu: Tools->Journal->Stop Recording
    // ----------------------------------------------
}

编译项目,生成成功。

技术分享图片

 添加uc1601测试代码

// NX 9.0.3.4
// Journal created by Administrator on Thu Sep 02 22:20:54 2021 中国标准时间
//
#include <uf_defs.h>
#include <NXOpen/NXException.hxx>
#include <NXOpen/Session.hxx>
#include <NXOpen/Part.hxx>
#include <NXOpen/PartCollection.hxx>

//头文件
#include <uf.h>
#include <uf_ui.h>

using namespace NXOpen;

extern "C" DllExport int ufusr_ask_unload()
{
    return (int)Session::LibraryUnloadOptionImmediately;
}

extern "C" DllExport void ufusr(char *param, int *retCode, int paramLen)
{
    Session *theSession = Session::GetSession();
    Part *workPart(theSession->Parts()->Work());
    Part *displayPart(theSession->Parts()->Display());
    // ----------------------------------------------
    //   Menu: Tools->Journal->Stop Recording
    // ----------------------------------------------

    UF_initialize();

    uc1601("SB", 1);

    UF_terminate();
}

演示,ctrl+u调用dll

技术分享图片

项目搭建结束

相关内容参考了唐工的二次开发课程

 

阿飞

2021年9月2日

NX二次开发-使用NXOPEN C++手工搭建win32开发环境配置

原文:https://www.cnblogs.com/nxopen2018/p/15221098.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!