NX/UG二次开发—C\C++开发单个DLL支持多版本NX一种方法

1、去除附加包含目录下的NX相关的lib文件:

2、从对应的dll导出ufun函数和NXopen函数:

libufun.dll;
libufun_cam.dll;
libufun_cae.dll;
libufun_die.dll;
libufun_vdac.dll;
libufun_weld.dll;
libugopenint.dll;
libugopenint_cae.dll;
libugopenint_cam.dll;
libnxopenuicpp.dll;
libnxopencpp.dll......

3、重写对应的函数,比如:

//UFUN函数

int UF_ASSEM_cycle_objs_in_comp(tag_t component, tag_t * member)
{
    return UF_ASSEM_cycle_objs_in_comp_fp(component, member);
}

//NXOpen函数

NXOpen::BlockStyler::PropertyList *  NXOpen::BlockStyler::BlockDialog::GetBlockProperties(const char * blockName)
{
    return NXOpen_BlockStyler_BlockDialog_GetBlockProperties_fp(this, blockName);
}

4、将重写后的.h和.cpp添加到工程中,再次编译原始代码或者编写新代码即可,与正常开发无区别。

5、注意需要考虑低版本不存在的高版本函数、高版本摒弃的低版本函数,这种可以在其他dll中寻找替代的即可,编译的时候可以定义一些宏变量用于控制导出的函数。

PS:重写的话,是一个非常大的工程,仅UFUN函数大约5400多个,对于UFUN和PK函数,可以自己写一些批处理工具,直接生成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/302217.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电子版报刊怎么制作

制作电子版报刊是许多媒体和出版机构正在探索的一种新的出版方式。随着数字技术的不断发展,电子版报刊已经成为了一种越来越受欢迎的选择。那么,如何制作电子版报刊呢? 首先,你需要确定你的报刊的主题和受众。这将帮助你选择适合的…

KPU特征识别

前面的颜色识别、二维码识别都是使用了一些简单的图像处理功能,而更高 级的机器视觉就需要使用 KPU 。可以简单类别为计算机的 GPU (显卡),本质是 实现高速的图像数据运算 我们来简单介绍一下 K210 的 KPU 。 KPU 是 K21…

Cadence记录

第三讲原理图的绘制和后续处理 一、绘制原理图 1.同一个页面内创建电气互联 连线方式2种 使用连线(wire) 使用网络名(net alias) 检查网络是否连接,如图显示则好着 2.不同页面之间创建电气互联 左右之分,表示在这个页面的信号是…

锁原理剖析-LockSupport工具类

LockSupport工具类 JDK中的rt.jar包里面的LockSupport是个工具类,它的主要作用是挂起和唤醒线程,该工具类是创建锁和其他同步类的基础。 LockSupport类与每个使用它的线程都会关联一个许可证,在默认情况下调用LockSupport类的方法的线程是不…

第2章 JavaScript基本语法

学习目标 了解什么是变量,能够说出变量的概念 掌握变量的命名规则,能够为变量命名 掌握变量的声明与赋值,能够声明变量并为其赋值 熟悉数据类型的分类,能够说出JavaScript中有哪些数据类型 掌握常用的基本数据类型&#xff0c…

【经验分享】如何看论文的分区、SCI检索号、EI检索号等信息

0 前言 一般而言,被SCI检索的论文,都会同时被EI检索。我们以论文《Learning Disentangled Representation for Multimodal Cross-Domain Sentiment Analysis》为例,讲解一下如何查询论文的各项信息。 我们首先百度这个论文 可以看到它是发表…

什么是企业数字化转型?数字化的价值体现在哪里?

从2015年接触平安的数字化转型,到2021年承接阿里云的服务数字化项目,再到2023年主导大大小小10来个数字化项目,8年的时间,数字化对我而言已经从一个“新词”变成了一个“旧词”。 8年过去,数字化也从一道企业的“选做…

轻松学会电脑如何录制音频

随手录音,保留证据以便后续出现问题进行判定,或者保存会议音频记录方便后续根据录音内容整理自己会议记录不足之处等等;越来越多的地方需要用到录音,那么在电脑上该如何进行音频录制呢?特别是使用比较广泛的Windows电脑…

基础算法【解题思路】:单链表的倒数第k个节点

定义指针p1,让p1走k步: 定义指针p2,在p1走了k步的时候,p2也跟着走。 p1走到最后的时候走了n-k步,停留在最后的null结点。 P2从头结点开始,也跟着走到了n-k步,而n-k恰好是倒数第k个节点。 例…

【Axure高保真原型】日期天数加减计算器

今天和大家分享日期天数加减计算器的原型模板,我们通过这个模板选择指定日期,然后填写需要增加或者减少的天数,点击确认按钮后,就可以计算出对应的结束日期,本案例提供中继器版的日期选择器,以及JS版的日期…

mybatisPlus 将List<String>字段转成json字符串,使用JacksonTypeHandler以及自定义类型处理器实现

文章目录 场景使用JacksonTypeHandler实现类型转换自定义StringListTypeHandler处理器实现 场景 项目中经常需要将List转成json存储到配置文件中, mybatisPlus默认实现了JacksonTypeHandler,GsonTypeHandler,FastjsonTypeHandler,也可以自定义…

@Transactional注解的一个很容易被忽略的错误用法

Transactional注解的一个很容易被忽略的错误用法 今日审查代码时发现对Transactional注解的一个如下用法: //StockController.javaAutoWired private StockService stockService//商品出库 PostMapping("/product/stock/out-stock") public Boolean pro…

利用 hexo 搭建 github page

默认我们已经安装了 node.js git 点击就可以下载啦 然后我们在本地新建一个文件夹,我取的名字是Hexo_blog 然后在命令行处输入 或者 右键 点击 git bash here npm install -g hexo-cli 下一步进行Hexo 初始化和本地预览 初始化并安装所需组件: hexo in…

【Linux驱动】Pinctrl子系统 | GPIO子系统 | 基于子系统的LED驱动程序

🐱作者:一只大喵咪1201 🐱专栏:《Linux驱动》 🔥格言:你只管努力,剩下的交给时间! 目录 🛷Pinctrl子系统🥅设备树中的Pinctrl子系统 🛷GPIO子系统…

【漏洞复现】Hikvision SPON IP网络对讲广播系统任意文件上传

漏洞描述 IP网络对讲广播系统是一种基于IP网络的高效、可靠、智能的通信解决方案。它支持全双工语音通信、单呼/多呼、组呼/广播等多种通信模式,可以实现跨地域、跨网络的实时通讯。该系统具有灵活的群组管理、智能化的调度和优先级控制功能,可以满足各种场景下的紧急通讯和…

海外動態IP代理地址在網路連接中的作用

海外動態IP代理地址在確保更安全的流覽體驗方面發揮著重要作用,因為線上隱私和安全是最重要的問題。代理地址充當用戶設備和互聯網之間的仲介,提供多種好處,例如增強隱私、訪問地理限制內容以及提高網路性能等。 本文我們將深入探討一下海外…

如何用UE5 的小白人替换成自己的 metahumen 数字人

1、用QuixelBridge 插件导入制作好的metahumen数字人 2、创建项目时如有选择第三人称游戏,在内容目录中找到第三人称游戏小白人的蓝图类,对其进行复制一个,重命名,我这里命名为BP_METAHUMEN, 并移到Metahumen目录下方便…

番外篇-Julius AI帮你做数据分析

今天咱们聊聊如何利用AI大模型来做数据分析,非常适合小白体验,尤其是缺乏项目经验的同学,强烈建议关注收藏,也欢迎私信交流~ 1. 站在巨人肩膀 在数据分析领域,AI技术的飞速发展正引领一场革命。随着大型机器学习模型…

C++设计模式 --1.工厂模式和单例模式

文章目录 1.工厂模式简单工厂模式工厂方法模式抽象工厂模式 2.单例模式懒汉式饿汉式 1.工厂模式 简单工厂模式 抽象产品类 //定义一个抽象水果类 --抽象产品角色 class AbstractFruit { public:virtual void showFruitName()0;//抽取出产品的公共行为, 纯虚函数v…

轻量级VS Code运行HTML代码不是难事,这里提供几个方法

对于那些刚开始编码的人来说,Visual Studio Code(VS Code)是更大、更复杂的代码编辑器的一个很好的替代品。特别是对于网络开发人员来说,它提供了许多编写和调整HTML部分的机会,加上大量的功能,使开发成为一次激动人心的旅程。 但是,如果你是开发界的新手,那么你究竟是…