![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
其他
恩·艾克斯·红
这个作者很懒,什么都没留下…
展开
-
NX/UG二次开发—其他—NX中C++调用C#工具并传参
原创 2022-03-27 08:38:35 · 2004 阅读 · 1 评论 -
NX/UG二次开发—其他—GetLastError
GetLastError返回的值通过在api函数中调用SetLastError或SetLastErrorEx设置。函数并无必要设置上一次错误信息,所以即使一次GetLastError调用返回的是零值,也不能担保函数已成功执行。只有在函数调用返回一个错误结果时,这个函数指出的错误结果才是有效的。通常,只有在函数返回一个错误结果,而且已知函数会设置GetLastError变量的前提下,才应访问GetLastError;这时能保证获得有效的结果。SetLastError函数主要在对api函数进行模...原创 2022-03-22 13:10:25 · 1988 阅读 · 0 评论 -
NX/UG二次开发—Parasolid—PK_TOPOL_facet详解
PK_ERROR_code_t PK_TOPOL_facet(--- received arguments ---const int n_topols, --- number of entitiesconst PK_TOPOL_t topols[], --- entities to be facettedconst PK_TRANSF_t .原创 2022-03-14 16:55:10 · 3261 阅读 · 0 评论 -
NX/UG二次开发—其他—BlOCK UI调用NX自带功能的方法
对于有些应用场景,会存在需要使用NX自带的功能,如果功能简单,自己写一下也可以,但那还要做一个子界面写代码,这里介绍三种方法。仅供参考:1、发送消息调用NX自带功能: int menuID = 0; UF_MB_ask_button_id(menuName, &menuID); if (menuID > 0) { HWND pswnd = NULL; pswnd = (HWND)UF_UI_get_default_parent(); if (pswnd != NUL原创 2022-03-01 21:10:09 · 3976 阅读 · 10 评论 -
NX/UG二次开发—其他—Excel文件的读写方案
libpartutils.dllint SPDSHT_add_worksheet(int,char const *,int *)int SPDSHT_append_row(int,int,int,char const * *)int SPDSHT_ask_cell_formula(int,int,int,int,int *,char * *)int SPDSHT_ask_number_of_worksheets(int,int *)int SPDSHT_ask_worksheet_index(i原创 2022-02-25 23:34:13 · 1689 阅读 · 2 评论 -
NX/UG二次开发-其他-NX标题显示工作部件路径
以前看群里有人讨论过,NX标题显示当前工作部件的全路径,也不知道为什么会有这个需求,之前用过定时器去做,但有卡顿现象。后来改用打开部件回调去做,但是切换模块后又没有了,暂时没有找到切换模块回调,后来就没有在仔细研究这个功能了。由于前些天做个一个平台集成项目,调用NX自身功能并与平台界面交互,里面用到多线程,今天用多线程测试了一下,切换模块、打开新的部件等,正常操作命令,发现一点都不卡顿。第一步先获取NX主窗口句柄HWND hParentWndXX = (HWND)UF_UI_get_defaul原创 2022-01-26 22:44:36 · 1385 阅读 · 0 评论 -
NX/UG二次开发-其他-打包对话框\图标到DLL
在很多外挂的安装包中,并没有对话框和图标文件。好处就是文件少,也防止用户修改对话框中的属性,导致程序异常。3、添加资源文件(如果代码包可能随时发给别人或更换文件夹,建议将资源文件设为相对路径)4、解析对话框位置,删除对话框,(只有对话框显示之后,就可以删除掉对话框)2、新建自定义资源类型。原创 2022-01-25 10:08:42 · 2038 阅读 · 0 评论 -
NX/UG二次开发-其他-NX中MFC界面的dll卸载方案
NX二次开发工具有三种卸载方式,1、运行完毕自动卸载,2、用卸载镜像方式卸载,3关闭NX时卸载。在用MFC界面开发的dll,需要卸载镜像方式卸载。有时候发现无法卸载或卸载报错,原因是new非模态对话框时,并没有完全清除。清除方法也很简单,只需要在对话框类的OnDestroy中delete就可以了。但对于调试的时候,每次都需要手动点击卸载镜像,然后才能重新编译,这样调试很麻烦,下面给出两个方案:1、录制一个宏,功能是卸载全部镜像,然后添加到菜单,这样每次只需要点击一下就可以了;2、单独写一个卸载镜原创 2022-01-20 22:57:36 · 1678 阅读 · 2 评论 -
NX设置问题—NX1969制图显示NX字体问题
安装NX1969后,设置为汉语界面,打开后,制图模块下只有一个NX字体:切换成英语界面,有变成另一种字体,总之没有加载目录..\Siemens\NX1953\UGII\ugfonts中的所有字体。解决方案:用户默认设置 —》制图 —》杂项 —》要使用的字体 —》选择标准字体和NX字体 —》重启NX...原创 2021-07-19 14:08:51 · 3370 阅读 · 0 评论 -
-多线程-Windows多线程编程API及比较
AfxBeginThread、BeginThread和BeginThreadex实际上是编译器对CreateThread的封装。一、CreateThread: Windows的API函数(SDK函数的标准形式,直截了当的创建方式,任何场合都可以使用),提供操作系统级别的创建线程的操作,且仅限于工作者线程。//@线程创建成功返回新线程的句柄,失败返回NULL HANDLE WINAPI CreateThread(//表示线程内核对象的安全属性,一般传入NULL表示使用默认设置转载 2020-09-02 13:35:29 · 919 阅读 · 0 评论 -
NX/UG二次开发—菜单—ACTIONS的应用
UGNX二次开发菜单打开网站,打开程序,打开文件夹响应。以下是常用的几种方式,实际上如果你熟悉DOS命令,BAT的话基本上想要打开什么程序都可以!(1)网站的打开: ACTIONS "starthttp://www.siemens.com"(2)帮助文档html文件打开: ACTIONS "start C:\Siemens\NX9\index.html"'(3)打开exe程序,比如QQACTIONS "C:\Program Files (x86)\Tencent\QQ\Bin\QQ....转载 2020-06-11 17:09:14 · 1371 阅读 · 0 评论 -
NX/UG二次开发—其他—关于CATIA数据转UG数据
可以使用录制UG导入CATIA功能实现,但是根据UG版本的不同,里面的参数设置不同,不能做成通用的版本。对于UG文件名如果需要跟CATIA数据名一致,还需要考虑名字问题。因为CATIA数据的名字里可能还要特殊字符,但UG不支持,还需要写字符处理的功能,开发起来还是有一定的工作量。 以下是我的方案,只需两步(剩下的调用转换器和名字字符处理都交给UG去处理了): 1、直接打开catia...原创 2020-04-30 11:16:42 · 2189 阅读 · 0 评论 -
转发:C++ 获取系统路径
SHGetSpecialFolderPath该api用来获取指定的系统路径API声明: function ulong SHGetSpecialFolderPath(long hwndOwner,ref string lpszPath,int nFolder,boolean fCreate ) LIBRARY "shell32.dll" ALIAS FOR "SHGetSpecialF...转载 2020-03-31 14:04:23 · 462 阅读 · 5 评论 -
NX/UG二次开发—QT—基于QT平台的UG二次开发
1、新建QT工程,选择C++库,工程名称qtugdemo:2、添加对话框文件:3、将UG入口函数考入到qtugdemo.cpp中,并添加如下代码:4、修改*.pro文件,添加UG函数需要的lib库和头文件包含路径:5、编译运行,在UG中调用,效果如下:PS:在开发过程中发现一个问题未解决:当我将QT窗口嵌入到BLOCK UI后,block ui对话框消...原创 2020-03-26 15:39:16 · 5716 阅读 · 6 评论 -
NX/UG二次开发—其他—分享几个UG内部函数
1、获取当前模块名称 ?MT_get_appname@@YAPEADXZ2、获取当前过滤类型个数和激活项?SEL_ask_type_filter_index@@YAH_NPEAH@Z3、设置当前过滤类型?SEL_set_type_filter_index@@YAXH_N0@Z4、附加和获取UG标题字符?MT_append_ug_title@@YAXPEAD_N@Z ||?MT_ask_ap...原创 2020-03-26 10:34:35 · 5444 阅读 · 1 评论 -
转:获取MAC地址方法大全
转自http://dearymz.blog.163.com/blog/static/205657420110424426943/转自https://blog.csdn.net/han2814675/article/details/6223617?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribu...转载 2020-03-04 10:27:48 · 930 阅读 · 0 评论 -
其他开发-MFC关联控制台用于显示调试信息
//关联一个控制台 AllocConsole(); //取得控制台句柄 HANDLE m_hdlWrite = GetStdHandle(STD_OUTPUT_HANDLE); //输出的字符串 CString inforCStr = _T("读取结果为:******!\n"); //输出字符串到控制台窗口里 WriteConsole...原创 2019-12-17 08:41:29 · 229 阅读 · 0 评论 -
NX/UG二次开发—其他—UG工具调用其他开发工具
dllPath: 被调用的dll路径entryFunctionName: 工具的入口函数void Function::CallOtherDll(char *dllPath, char *entryFunctionName){ typedef void(*load_ufusr_f_p_t)(char *param, int *retcod,...原创 2019-01-31 15:20:25 · 1860 阅读 · 0 评论 -
NX/UG二次开发—其他—Block UI嵌入MFC界面
随着科技的进步,对于UG二次开发,客户需求越来越多,而且不光满足与功能的实现,对于UI显示要求也越来越高,以下是我做的一个demo,在Block UI嵌入MFC界面,并将MFC按钮风格绘制称UG按钮风格。当鼠标移动按钮上时,点击后状态。 bool aa = myMfcDialog->Create(IDD_DIALOG1, nWnd1); // nWnd1UG对话框的窗口 aa...原创 2019-02-23 16:42:29 · 5137 阅读 · 10 评论 -
NX/UG二次开发—其他—关于TAG与HANDLE的区别
在NX二次开发中,经常遇到这个需求:就是说关闭UG,再次打开工具,自动选择之前选择的对象;其实简单的方法就是关闭工具时,在对象上做上标记(添加属性),然后打开工具遍历一下;那么问题来了,关闭UG的时候没保存,怎么处理?这时候就可以使用到handle这个参数了,他不跟随UG关闭打开而变化(TAG的值会变的,而且TAG是整形变量,HANDLE是字符串变量),利用这一点可以将HANDLE值写在本地的文本...原创 2019-03-12 11:32:09 · 1949 阅读 · 0 评论 -
NX/UG二次开发—其他—UFUN函数调用Grip程序
在平时开发中,可能会遇到UFUN函数没有的功能,比如创建PTP的加工程序(我目前没找到,哪位大神可以指点一下),可以使用Grip创建PTP,然后用UFUN函数UF_call_grip调用Grip程序。具体如下截图(左侧UFUN,右侧Grip程序):...原创 2019-04-25 22:38:34 · 3096 阅读 · 0 评论 -
NX/UG二次开发—其他—替换、新增UG启动界面+修改UG背景界面
一、修改UG启动画面(适用于UG6.0以前版本): 1.首先准备软件ResHacker,百度一下就行。 2.到UG的安装目录UGII下拷贝ugraf.exe(记住:复制一个放着备份,以免修改错误),去掉ugraf.exe的只读属性,然后用ResHacker打开,在>>资源>>位图>>130,点击一下,左侧显示的就是UG启动的那张画面,我...原创 2019-06-22 09:31:44 · 5104 阅读 · 0 评论 -
NX/UG二次开发—向量—UFUN函数里面的公差意义
对于NX二次开发新手在使用UFUN的向量函数时,对于有些函数需要输入公差,比如:UF_VEC3_is_equal、UF_VEC3_is_parallel、UF_VEC3_is_perpendicular等,公差参数类型是double,但是公差的单位类型是什么?数学含义是什么?有些人会有些疑惑。 以下是我的验证,不对的地方还请大神指导。比如你判断两个向量是否垂直,设置公差0.01(sin 0.5...原创 2019-01-31 15:12:45 · 1479 阅读 · 0 评论