![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NX
清风徐来
这个作者很懒,什么都没留下…
展开
-
NX12 VS2015 PK C#创建实体
代码: NXOpen.UF.UFSession theUf = NXOpen.UF.UFSession.GetUFSession(); Tag partition; theUf.Ps.CreatePartition(out partition); double x = 1; double y = 1; double z = 1; VECTOR1_t axis = new VECTOR1_t原创 2022-02-09 16:03:43 · 664 阅读 · 0 评论 -
NX二次开发 调用Qt界面
NX二次开发 QT原创 2021-11-26 17:54:58 · 3413 阅读 · 1 评论 -
NX二次开发 控件RGB颜色选择器值转成[1,256]
环境:VS2017,NX12目标:RGB颜色选择器控件的返回值是一个RGB数值,如何将其转成NX中颜色区间[1,256]涉及内容:十六进制,UF函数颜色转换原理:首先将RGB数值转换成十六进制文本,然后将文本拆分赋值给红、绿、蓝三个子字符串(注意十六进制文本长度),每个子字符串的十六进制文本转成十进制整数,然后十进制整数除以255.0,再调用UF_DISP_ask_closest_color得到结果。注意:RGB的数值范围很大,但只能得到256个数字,即多对一。反向,256个数字只能得到25原创 2021-11-02 18:49:16 · 1040 阅读 · 0 评论 -
NX二次开发 界面相关函数
环境:Win10, VS2017,NX19071. 假如建模时,一个函数需要拉伸,求和,缩放等等操作,此时窗口区会把代码动作全部显示出来,如何屏蔽UF_DISP_set_display(UF_DISP_SUPPRESS_DISPLAY); // your code//......UF_DISP_set_display(UF_DISP_UNSUPPRESS_DISPLAY);UF_DISP_regenerate_display();...原创 2021-02-18 16:30:03 · 768 阅读 · 0 评论 -
NX二次开发 图纸模块相关函数
环境:Win10, VS2017,NX19071.获取所有图纸页对象std::vector<tag_t> GetAllSheet(){ int drawCount = 0; tag_t* drawingTag = NULL; UF_DRAW_ask_drawings(&drawCount, &drawingTag); if (0 == drawCount) { return std::vector<tag原创 2021-02-18 15:53:44 · 1675 阅读 · 0 评论 -
NX 二次开发-外部开发模式exe
环境:Win10, x64, VS2015,NX12记录日期:2020/10/15注意事项:1.生成的exe 文件运行时依赖于NXBIN下的dll文件,无法直接运行,解决办法:(1) 将exe 拷贝到C:\Program Files\Siemens\NX 12.0\NXBIN下运行(2) 设置环境变量: SetPATH=%PATH%;C:\Program Files\Siemens\NX 12.0\NXBIN;2. 外部模式仍然需要 UF初始化,代码编写不变代码:// ..原创 2020-10-15 21:20:05 · 3135 阅读 · 1 评论 -
NX 进度条制作
环境:Win10, x64, VS2017, NX1907记录日期:2020/09/17目标:实现下图效果实现思路:说明一下,我通常用C++开发NX,但是C++ 界面库集成到NX功能上有很多限制,比如:1. Qt, Qt 的确很容易上手,也容易出效果,但集成到NX那就是个坑,因为兼容性太差了, 想要使用Qt进行NX二次开发的小伙伴,用Qt单独做工具被NX调用还可以,如果只是想用Qt的界面还是算了......2. MFC, MFC经常被吐槽难用,的确如此,但在NX集成中没..原创 2020-09-17 09:58:25 · 676 阅读 · 1 评论 -
NX二次开发 查找错误_dll执行函数时捕获到异常
环境:Win7 x64,NX12内容:NX二次开发的dll, 用户电脑上不能使用原因:这里大致总结一下图片问题的可能原因:1.检查客户电脑环境变量,NX版本,release,是否签名2.功能中用到产生的临时文件路径是否合理,是否被杀毒软件过滤3.检查报错功能调用了那些库,与正确的功能找不同4.使用depends 工具查看报错dll依赖了那些dll5.报错dll的名字是否重复,如果客户先用了其他外挂,那恰好有两个文件同名,后者会报错另外,匿名命名空间内有类似 string path原创 2020-06-16 22:41:49 · 2938 阅读 · 1 评论 -
TC环境下NX项目调试环境配置
内容:TC环境下NX项目调试环境配置测试样例环境:Win7 x64, TC11(四层), NX12, VS2015,调试方式:通过VS编译器调试,非附加到进程(附加进程有时调试不上……)步骤:1. 得到启动TC的批处理文件tc_nx.bat,通常TC实施负责,内容大致如下:2. 通常使用批处理文件启动VS,所以在批处理文件StartVs.bat中加入上图紫色区域3.项目属性中添加调试命令4.启动调试tc_nx.bat 内容:@echo offREM .原创 2020-06-10 23:10:59 · 1920 阅读 · 4 评论 -
NX 二次开发 开发人员自测基本要求
NX二次开发人员自测内容前言测试包含很多方面,既有软件开发规范中黑白盒测试、单元测试、系统测试、性能测试等,也有涉及用户业务逻辑、业务流程的测试,本篇内容与上述无关,仅仅介绍一个单独的NX功能该如何测试。原因“不怕做不到,就怕想不到”。很多BUG往往源于开发人员的思维盲区,又或者项目很急,简单测了一下就过了,这样的测试结果可想而知,要么新增的功能有问题,要么之前正常的又有了新的错误,太依赖于开发人员的主观能动性,所以要制定规则加以约束。如果通过这个规则就认为是正确的。当然,这个规则也要随着项原创 2020-05-28 21:26:02 · 923 阅读 · 0 评论 -
NX 树控件中文乱码
环境:Win7 x64, NX12,VS2015问题描述:如下图所示,汉字 "女" 乱码,但其他中文都是正常的! 进一步测试,只有一个汉字 "女"的时候是乱码的,"女生"是正常显示的!!! 错误代码:Node *person = mTree->CreateNode("2");person->SetCrossSele...原创 2020-03-28 22:51:48 · 751 阅读 · 0 评论 -
NX 在窗口中打开父项
环境:Win7 x64,NX12场景描述:如上图所示:部件 _model1,_model2 都有组件 _model3,然后将 _model3 ->"在窗口中打开"然后求在窗口中打开父项中的值。代码: tag_t displayTag = UF_PART_ask_display_part(); tag_t* fathersID = NULL;...原创 2020-03-19 14:38:24 · 2832 阅读 · 0 评论 -
NX 加载多个外挂时存在同名 dll 问题
环境:Win7 x64,VS2015,NX12场景描述:NX二次开发时,如果软件过大,可能拆分成小模块给不同的小组开发,即多个外挂但不同模块之间数据可能需要相互调用,这时就会出现不同的外挂间同名 dll 文件的问题。比如A模块生成了 a.dll, B模块生成了 b.dll, a.dll 需要调用 b.dll 来获取某些数据,此时就会出现A外挂中有 a.dll , b.dll...原创 2020-02-25 17:54:37 · 691 阅读 · 0 评论 -
NX二次开发 使用鼠标和键盘钩子
环境:Win7 x64,VS2015,NX12内容:NX UI 事件响应_使用快捷键Delete删除树控件某一行注意:一定要在NX UI 构造函数中添加响应事件一定要在NX UI 构造函数中添加响应事件一定要在NX UI 构造函数中添加响应事件代码:CHookCallback.hpp (核心:事件响应基类)#pragma once#include "stdaf...原创 2019-12-18 11:33:43 · 2749 阅读 · 7 评论 -
NX二次开发 求对象包络盒尺寸错误
UF_MODL_ask_bounding_box 计算不准确UF_MODL_ask_bounding_box_exact 计算准确原创 2019-12-12 18:29:55 · 886 阅读 · 0 评论 -
NX二次开发 撤销无效
环境:Win7 x64,VS2015,NX12问题:代码执行完25,26 行代码,Ctrl+tZ撤销发现 25行创建的圆柱体仍然存在,26行创建的圆柱体删除如果代码25行,26行调换位置,Ctrl+tZ撤销,25,26行创建的圆柱体都删除原因: 不清楚,貌似和UI相关解决办法:只能强制添加撤销代码UF_UNDO_mark_id_t undoId;UF_UND...原创 2019-12-09 17:01:29 · 1086 阅读 · 0 评论 -
NX二次开发 获取DatumCsys信息
UF_MODL_ask_datum_csys_components原创 2019-12-05 19:24:11 · 537 阅读 · 0 评论 -
NX二次开发 创建实体最小包容块
环境:Win7 x64,VS2015,NX12内容:创建实体最小包容块实现原理:根据输入对象,创建一个辅助实体,然后遍历实体所有平面上的直线边,以直线边和面法向创建坐标系,求此坐标系下求到的包容块体积,包容块最小者就是合适的坐标系。代码:#include <NXOpen/BasePart.hxx>#include <NXOpen/CartesianCo...原创 2019-12-05 19:22:13 · 4761 阅读 · 0 评论 -
NX二次开发 获取图纸页上的全部注释
环境: Win7 x64,VS2015, NX12.0.2.9目标: NX12图纸模块,需要获取某个图纸上的全部注释。 注:图纸和注释仿佛是两个体系,没有找到两者直接的关系,于是自己写了一个,仅供参考!!!代码: test.cpp#include <NXOpen/Annotations_Annotation.hxx>#include &l...原创 2019-11-26 18:52:47 · 2167 阅读 · 2 评论 -
NX二次开发 开发总结
简介:从事NX二次开发已经有三年了,却从未写过总结性的文章,今天就补一篇!第一部分:方案布局首先,由于开发的工具包可能编译多个NX版本,所以启动NX项目通常使用批处理文件,设置VS&NX版本。第二部分:解决方案与项目A方案:使用一个解决方案,一个项目,然后项目内部代码分类布局B方案:使用一个解决方案,多个项目 方案 ...原创 2019-10-24 22:11:52 · 10795 阅读 · 1 评论 -
NX二次开发 使用了一个已删除或无效的类号
场景描述:今天遇到一个问题,本来代码一切正常。然后调用某个第三方库时,用了XX::SetObjColor()后,功能正常运行,但是查看对象属性时会下面弹出对话框:分析原因:首先第三方被很多项目使用过,没有问题,但是原因究竟是什么呢?目前没有想到合适的原因,未完待续!解决办法:不使用第三方库XX,然后把XX::SetObjColor()中的函数重写一遍单独...原创 2019-10-22 14:33:27 · 4849 阅读 · 0 评论 -
NX二次开发 DllMain 已经在 MSVCRT.lib(dll_dllmain_stub.obj)
场景描述:NX项目本来编译是成功的,但是在代码中加上下面代码#include <stdafx.h>编译报错:解决办法:项目-》属性-》配置属性-》C/C++/预处理器,去掉预处理器定义中的_USRDLL...原创 2019-10-21 11:59:57 · 466 阅读 · 0 评论 -
NX二次开发 CreateDialog
场景描述:NX二次开发中创建UI时,会使用UI::GetUI()->CreateDialog(theDlxFileName);如果项目添加Windows库,会将CreateDialog替换成CreateDialogW或CreateDialogA报错内容:class "NXOpen::UI" 没有成员 "CreateDialogParamW" .... ...原创 2019-10-20 15:45:05 · 2019 阅读 · 1 评论 -
NX二次开发 NXOpen::BlockStyler::Tree
简单介绍:在NX二次开发中,经常使用集列表,列表框,树控件,但随着功能的变更,发现集列表/列表框有时已不再适用,所以优先使用树控件,下面介绍树控件常用方法,直接上代码!//基本概念:一个Node节点代表一行//***部分命令请注意顺序关系***//插入列,注意插入列仅initialize_cb()/dialogShown_cb()设置一次,update()时会报错for ...原创 2019-10-15 16:07:41 · 5112 阅读 · 4 评论 -
NX 查看NX图标名
NX二次开发中,有时候需要将自己开发的控件图标设置成NX自带图标,下面就是查看NX图标的方法。步骤一:空白区 -> 右键 -> 定制步骤二:选择要查找的图标 -> 右键 -> 更改按钮图标 -> 图标名步骤三:弹出对话框中的内容即图标名上面方法是查看NX界面按钮,如果要查看对话框上按钮:设置环境变量,PRINT_DIALOG_BI...原创 2019-08-12 17:23:57 · 2306 阅读 · 0 评论 -
NX二次开发 获取组件实体
1.获取装配现在组件上的所有实体://单个装配组件下所有的实体vector<tag_t> GetComponentBodies(Assemblies::Component* component){ vector<tag_t> bodies; tag_t compTag = component->Tag(); tag_t me...原创 2019-08-12 17:08:26 · 4177 阅读 · 5 评论 -
NX 坐标系
今天把以前学习的资料整理了一下,下面是网上关于NX坐标系的三种解释:网上解释一绝对坐标系:是固定的,也是内定的,无法更改,因为它是绝对的。工作坐标系:是工作建模等地方用的,随时可以移动、旋转等,作为临时坐标。基准坐标系:一般来说是辅助建模用的,这类坐标建立以后一般是不会动它的,因为它是作基准用的,建模的时候很多时候选择平面等不是很方便,有了这个就方便多了。加工坐标系:是加...原创 2019-08-12 16:56:11 · 3909 阅读 · 0 评论 -
NX二次开发 进入CAM模块失败
开发环境:VS2015 Professional + NX12.0.2.9场景描述:在NX解决方案下,我添加了两个公共库,一个是Common,一个是Cam,输出类型均为dll然后我在使用开发包功能A时,ufusr入口添加了模块检查:UF_initialize();if (!LCCAM::IsInCAM()){ LCC::MessageBox(true, "请进入CA...原创 2019-08-05 13:32:09 · 1693 阅读 · 0 评论 -
NX 签名
场景描述:环境:VS2010+NX10假设库项目为A,使用项目为B。A头文件中包含:static unsigned char nxauthblock[] = "NXAUTHBLOCK " " " ...原创 2019-03-11 15:05:31 · 767 阅读 · 0 评论