自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

RED的博客

好好学习,天天向上~

  • 博客(45)
  • 资源 (6)
  • 论坛 (1)
  • 收藏
  • 关注

原创 NX/UG二次开发—分析—点到复杂曲线的距离

经常用的功能,测量对象之前的距离,但是对于复杂的空间曲线,发现结果并不准确,通过用NXopen、UF、PK等函数测量,返回值相差不大,与实际值偏差较大。但通过偏差度量命令分析,与实际值比较符合。目前解决方案:按建模公差0.02离散曲线,用数学方式测量点到点的距离,找到最小值。3000mm的曲线,笔记本电脑测量时间大约100毫秒左右,速度还是可以的。PS:目前发现UFUN的曲线分析函数,对于基本曲线,结果都符合预期,但对空间复杂曲线存在不准确的问题,不知道什么原因,还请大...

2021-09-23 10:20:52 130

原创 NX/UG二次开发—Block UI—设置点选控件的捕捉点被勾选

当用户在某些操作后,有时候会关闭捕捉点,但希望跳转到点选选择控件时,捕捉点被开启。在测试时发现UF_MB_ask_toggle_state获取状态是对的,但是UF_MB_set_toggle_state没有效果,但通过发送消息可以实现,以下是可以实现的方法,测试过UG11和NX1969,仅做参考,如有其他方法还请指点。 HWND pswnd = NULL; pswnd = (HWND)UF_UI_get_default_parent(); if (pswnd == NULL) r...

2021-09-14 20:41:59 165 1

原创 NX/UG二次开发—调用NX内部函数实现功能汇总(只有标题)

1、调用NX自身功能并返回开发工具界面;2、C++与C#开发的dll互相调用且可以传参;3、NX进度条的创建、显示、删除;4、组件装配预览:在绘图区的预览、在block UI上预览;5、block ui选择控件的动态鼠标点位;6、枚举控件的宽度设置;7、指定方位控件的名称修改;8、指定坐标系控件下拉列表默认值设置与赋值坐标系对象;9、输入控件的完成操作、输入控件未完成的字符获取;10、3Dbox内部选择类的使用;11、注塑模向导工具内,非模态图片预览对话框;12、

2021-08-30 18:05:07 692 1

原创 NX/UG二次开发—Block UI—关于使用代码关闭UI

对与有些应用场景,用户希望Blcok UI自动关闭。比如,子窗口选择完对象后。网上有通过内部函数关闭窗口,如下所示:JAM_lookup_tagclass UGS::UIFW * UIFW_ask_uifw(void)int UGS::UIFW::end_dialog(class UGS::UICOMP *,int)但关闭后,UI界面中的输入值,并未保存上一次操作的,类似点击了关闭或者取消按钮。与内部函数DLG_call_cancel_cb执行效果差不多,但不如DLG_call_cancel

2021-07-26 17:44:09 411

原创 NX设置问题—NX1969制图显示NX字体问题

安装NX1969后,设置为汉语界面,打开后,制图模块下只有一个NX字体:切换成英语界面,有变成另一种字体,总之没有加载目录..\Siemens\NX1953\UGII\ugfonts中的所有字体。解决方案:用户默认设置 —》制图 —》杂项 —》要使用的字体 —》选择标准字体和NX字体 —》重启NX...

2021-07-19 14:08:51 244

原创 NX/UG二次开发—建模—关于创建单线汉字的三种思路

最近有人问我在NX里绘制单线汉字,简单操作了一下,发现在曲线文本命令中并不存在单线汉字,只能绘制单线字母(可以注意一下:下拉列表中都是系统字,不存在UG字体,为什么?):1、通过制图模块可以创建单线字注释,然后导出CGM格式,在次导入,就变成单线字了。2、通过这个思路,想到,CAD中存在很多单线字,是否可以直接在NX里绘制?通过网上查找CAD字体格式为shx,解析论文也很多,通过读取文字形信息(即点位信息),然后在NX里绘制,效果如下(仿宋字体):3、 既然CAD字体能实..

2021-07-17 11:46:24 900

原创 NX/UG二次开发—CAM—切削层的信息读取

读取程序的切削层,通过翻阅NX11的帮助文档,在NXopen中并没有开放,ufun文档中找到函数UF_CUT_LEVELS_load,通过测试,每次读取的值有时候正确有时候错误,初步分析应该是程序问题内存异常。通过百度,发现很多前辈大神也有这个问题,如这个链接https://www.cnblogs.com/bizca/p/4581153.html。虽然这个链接没看明白,但是说的是这个函数封装有问题,可能是版本问题。通过多次测试,发现可以稳定输出。第二个参数是指针的指针,帮助也没有写明是否需要自己分配

2021-07-07 21:37:03 281

原创 NX/UG二次开发—Block UI—枚举列表调整宽度

在NX的cam模块,很多参数后面都会有一个很窄的枚举框,最近有一个需求要求批处理一些程序的参数,比如stepover,但参数后面有一个选刀具百分比和固定两个参数,如下图所示:有一个宽度很窄的枚举框。但是blcok UI的枚举框宽度并不能调整,因此还是用spy查看下NX的窄枚举框的属性:经过查找,属性为Width,值为4。那么可以通过libuifw.dll中的导出函数,修改这个属性值。通过翻阅导出函数,找到UGS::UICOMP_enum::set_width(int)。效果如下:...

2021-07-07 21:24:41 286 1

原创 NX/UG二次开发—Block UI—指定方位控件重命名

指定方位控件显示的标签

2021-06-02 14:29:29 274

原创 NX/UG二次开发—建模—批量创建重复特征方案优化

对2000组封闭曲线组进行拉伸,一般会怎么操作,单独一组一组拉伸,或者一起拉伸。目前验证下来(同一台电脑同一组数据,前提是这些封闭曲线不存在自相交的情况,采用NXopen函数),一组一组创建大约需要8分钟多,一起拉伸大约不到4分钟,但一起拉伸后期编辑起来很慢。通过测试发现,如果将2000组封闭曲线,分组创建,根据每组含有的封闭曲线组个数不同,创建的时间不同。我测试采用了每次拉伸64组封闭曲线,测试下来大约1分钟左右。以上方案只是一个思路,如果有更好的方法,还请留言指导。...

2021-05-20 11:28:49 191

原创 NX/UG二次开发—Block UI—部分控件不按回车Value没有输入

对于NXOpen::BlockStyler::IntegerBlock控件,在输入数值后,如果不按“ENTER”,或界面上没有切换他控件,数值并未真正输入到控件中。比如在IntegerBlock控件中输入了数值,然后没有按“ENTER”,而此时需求要求在其他选择控件中需要获取IntegerBlock控件中的值,如果使用IntegerBlock->Value(),那么获取的是输入前的数值。那这种情况,需要怎么处理?1、通过转换成MFC控件获取,这里就不描述过程了,主要介绍下一个方法。2、通过内部

2021-04-23 12:07:17 344 1

原创 NX/UG二次开发—3D BOX选择—内部类构造

在做某些项目时,经常需要获取某一对象的周围的对象,比如获取距离一个实体最近的实体,如果简单数模,遍历当前视图的实体逐一测量,获取最小值即为所求。但对于复杂数模,比如汽车前舱数模,包含发动机,那么这种方法就不适合了,速度会很慢。在新版UG中(本文使用的是NX1872),提供了3DBOX选择工具,可以快速选择一个对象盒子内的所有对象,还可以根据类型设定范围,工具如下:但录制操作的时候,发现并不能录制,翻阅NXopen和ufun文档并未发现有相关使用的类。但在libugui.dll导出函数中,发现有.

2021-03-16 13:23:15 342

原创 NX/UG二次开发—UI—内部UI的使用

我们经常使用blockUI控件进行开发,但是有些控件在UG自身的工具很常见,但是在blockUI样式编辑器中并没有提供。参照网上一些大神的帖子和思路,发现是可以通过配置软件安装目录下..\Siemens\NX\UGII\menus\styler_blocks_simpl_chinese.pax(注意不同语言的UG修改对应不同的pax文件)可以实现一些UG一些内部UI。以下以常见的宽枚举控件为例,如下图所示:1、先打开含有你需要控件的工具,比如艺术样条对话框2、然后选择UIFW侦查

2021-02-25 22:38:33 1570 3

原创 NX/UG二次开发—CAM—快速查找程序参数名称

使用UF_PARAM_XXX读取或设置参数时,会发现程序中有一个INT类型参数param_index,这个就是对应程序中的参数,比如读取程序预览,则param_index =UF_PARAM_STOCK_PART,读取程序的加工坐标系则param_index =UF_PARAM_MCS等等。你需要读取什么参数,只要只能在uf_param_indices.h找到对应的参数,就能准确读取和设置,但是在uf_param_indices.h中找无异于浪费时间,还不一定找对。以下介绍一种方法,可以快速找到..

2021-01-25 21:47:19 667

原创 辅助工具-VMware装系统教程-U盘启动安装

以下为VM虚拟机用u盘装系统方法教程:1、打开VMware虚拟机软件,选择 创建新的虚拟机2、选择典型(推荐)3、选择 稍后安装操作系统(创建的虚拟机讲包含一个空白磁盘)4、选择需要安装的系统,我这里安装的是64位的win10,选择的是Microsoft Windows->windows 10 x645、设置你要创建虚拟机的名称和保存的路径6、设置虚拟机分配的硬盘大小7、点击完成8、单击编辑虚拟机设置9、选择添加10、添.

2020-11-29 10:51:20 381

原创 NX/UG二次开发—分析—测量面的面积的两种方法介绍

第一种方法(C#): public static double GetFaceArea(Tag t_face) { Face face = (Face)theNXManager.GetTaggedObject(t_face); NXOpen.Part workPart = theSession.Parts.Work; NXOpen.MeasureFaces measureFace1; NXOpen.IParameteriz

2020-11-26 12:50:14 1675

原创 NX/UG二次开发—CAM—旋转复制程序C#

public static List<Tag> RotateAndCopyOperation(Tag t_copyObject, double[] oPt, double[] vec, double angle, int count) { NXOpen.Part workPart = theSession.Parts.Work; NXOpen.CAM.CAMObject camObject = (NXOpen.CAM.CAMObject)theNXMan.

2020-11-26 12:44:30 435

原创 NX/UG二次开发—CAM—调整程序在导航器中的顺序位置-C#

//移动到参考对象后面 public static void MoveOperationOrder(Tag t_moveObject, Tag t_referenceObject) { NXOpen.Part workPart = theSession.Parts.Work; NXOpen.CAM.CAMObject camObject = (NXOpen.CAM.CAMObject)theNXManager.GetTaggedObject(t_moveOb.

2020-11-26 12:43:03 434

原创 NX/UG二次开发—CAM—设置程序修剪边界Boundary

最近做了一个设置CAM程序边界的小工具,分享一下经验(官方的代码在文章末尾处),以下均以修剪边界曲线为例。以下为官方提供的源码:/***************************** Include Files **********************************/#include <stdlib.h>#include <uf.h>#include <uf_obj.h>#include <uf_object_type

2020-11-26 12:33:05 811

转载 -多线程-Windows多线程编程API及比较

 AfxBeginThread、BeginThread和BeginThreadex实际上是编译器对CreateThread的封装。一、CreateThread:  Windows的API函数(SDK函数的标准形式,直截了当的创建方式,任何场合都可以使用),提供操作系统级别的创建线程的操作,且仅限于工作者线程。//@线程创建成功返回新线程的句柄,失败返回NULL HANDLE WINAPI CreateThread(//表示线程内核对象的安全属性,一般传入NULL表示使用默认设置

2020-09-02 13:35:29 273

原创 NX/UG二次开发—界面—Clistctrl仿UGblockUI的Treelist重绘-笔记

效果图:1、绘制非item区域可以使用NM_CUSTOMDRAW这个消息。非item区域分为:插入行的下方和插入行的右侧两个区域。2、对于create的clistctrl控件,在MFC对话框中正常响应NM_CUSTOMDRAW,但对于嵌入到blcokUI后,不响应。我目前的解决方案是:嵌入MFC对话框,然后从资源工具栏拖到对话框内,然后子类化控件。3、插入行不能使用InsertItem,需要用数组记录每次插入行的信息(我定义了一个结构体,把单元格颜色信息也存取了),然后使用LVN_GETDI

2020-09-02 09:55:47 1897 3

原创 3D图形-空间曲线的基本参数总结

1、切线 ——过曲线上两点N,M的直线NM,当NM时的极限位置;2、法面——与切线垂直的平面,通过M的法面上一切直线都称为曲线在M的法线;3、密切面——通过曲线上三点M,P,N作一平面,当时,平面的极限位置(切线在密切面上);4、主法线——法面与密切面的交线;5、副法线——垂直于密切面的直线;6、从切面——通过切线与副法线的平面;7、曲率——针对曲线上某个点的切线方向角对弧长的转动率,曲率越大,表示曲线的弯曲程度越大。曲率的倒数就是曲率半径;8、挠率——它的绝对值度量了曲线上邻近两点的次法向量

2020-07-31 10:57:44 791

转载 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 677

原创 NX/UG二次开发—建模—NX11中新增功能:CustomFeature,可以替代UDO

在NX11安装目录..\NX 11.0\UGOPEN\SampleNXOpenApplications\C++\CustomFeatures下有一些demo,以下用PolygonalHole多边形孔作为展示。CustomFeature更接近UG自身的特征,目前感觉比UDO优越的地方是:1、模型历史记录中可以定制个性的显示图标:2、可以在绘图区,直接双击特征启动特征对应的编辑对话框。...

2020-04-30 11:41:08 1207 8

原创 NX/UG二次开发—其他—关于CATIA数据转UG数据

可以使用录制UG导入CATIA功能实现,但是根据UG版本的不同,里面的参数设置不同,不能做成通用的版本。对于UG文件名如果需要跟CATIA数据名一致,还需要考虑名字问题。因为CATIA数据的名字里可能还要特殊字符,但UG不支持,还需要写字符处理的功能,开发起来还是有一定的工作量。 以下是我的方案,只需两步(剩下的调用转换器和名字字符处理都交给UG去处理了): 1、直接打开catia...

2020-04-30 11:16:42 562

转载 转发: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 266 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 3024 2

原创 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 2892

转载 转:获取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 392

原创 其他开发-MFC关联控制台用于显示调试信息

//关联一个控制台 AllocConsole(); //取得控制台句柄 HANDLE m_hdlWrite = GetStdHandle(STD_OUTPUT_HANDLE); //输出的字符串 CString inforCStr = _T("读取结果为:******!\n"); //输出字符串到控制台窗口里 WriteConsole...

2019-12-17 08:41:29 143

原创 NX/UG二次开发—CAM—刀轨转曲线(支持圆弧和直线)

刚入门的时候写的了,仅供新手了解函数用法!intcount=0;tag_p_tobjects=NULL_TAG;tag_tsetup_tag;UF_SETUP_ask_setup(&setup_tag);UF_UI_ONT_ask_selected_nodes(&count,&objects);if(count!=1){uc1601("选择一个程...

2019-10-18 08:31:30 3164 2

原创 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 3095

原创 NX/UG二次开发—CAM—获取加工环境下所有程序组、刀具组、加工坐标系并输出名称

以下代码为CAM所有程序组、刀具组、加工坐标系并输出名称源文件在群共享文件中。(QQ群:1023204977)

2019-05-22 09:37:08 3721

原创 NX/UG二次开发—CAM—获取刀轨最低点算法

找了半天帮助文档,没有找到关于刀轨加工Z向最低点的函数,既然没找到,那就换个方法。可以用UF_SETUP_generate_clsf导出程序的刀轨文件,然后再刀轨文件里遍历“GOTO”语句,查看最小的Z值。注意打孔的话还需要找到“CYCLE”语句后面的深度值,用最小Z值减去深度值。按照这个思路,试运行一下,发现结果没问题。后来编制一个G18\G19的圆弧刀轨,发现出现BUG,因为圆弧的GOTO...

2019-05-08 14:12:35 2134 3

原创 NX/UG二次开发—其他—UFUN函数调用Grip程序

在平时开发中,可能会遇到UFUN函数没有的功能,比如创建PTP的加工程序(我目前没找到,哪位大神可以指点一下),可以使用Grip创建PTP,然后用UFUN函数UF_call_grip调用Grip程序。具体如下截图(左侧UFUN,右侧Grip程序):...

2019-04-25 22:38:34 1705

原创 NX/UG二次开发—CAM—用户自定义刀轨(UDOP)+ 螺旋铣用例教程 + 源码

用户定义刀轨是指:在需要一种无法由标准制造处理器完成的加工方法时,使用NX以外的处理器生成刀具路径的操作。这可能是你自己的或第三方的代码。入口函数udop。以下是程序框架,可以往里面添加你的代码extern void udop(char *param, int *status, int parm_len){ char ...

2019-04-11 10:34:58 4131 1

原创 NX/UG二次开发—建模—UDO

最近学习了一下UDO,以下主要讲一下我遇到的一些疑问和笔记,希望对新手有一些帮助。(在UG安装目录下有个官方例子用NXopen函数写的,大家可以参考一下..\Siemens\NX 11.0\UGOPEN\SampleNXOpenApplications\C++\UDO)1、UDO的名称:UDO的类名不能和UG其他特征重名,当UDO被实例化时,会被赋予一个友好名称(其实就是你在导航栏里看到的名字...

2019-04-11 10:20:12 2180

原创 NX/UG二次开发—装配—关于组件简单操作的函数

UF_ASSEM_add_part_to_assembly添加组件UF_ASSEM_remove_instance移除组件UF_ASSEM_reposition_instance移动组件UF_ASSEM_ask_component_data获取组件信息

2019-03-12 11:37:18 2280

原创 NX/UG二次开发—其他—关于TAG与HANDLE的区别

在NX二次开发中,经常遇到这个需求:就是说关闭UG,再次打开工具,自动选择之前选择的对象;其实简单的方法就是关闭工具时,在对象上做上标记(添加属性),然后打开工具遍历一下;那么问题来了,关闭UG的时候没保存,怎么处理?这时候就可以使用到handle这个参数了,他不跟随UG关闭打开而变化(TAG的值会变的,而且TAG是整形变量,HANDLE是字符串变量),利用这一点可以将HANDLE值写在本地的文本...

2019-03-12 11:32:09 876

原创 NX/UG二次开发—其他—Block UI嵌入MFC界面

随着科技的进步,对于UG二次开发,客户需求越来越多,而且不光满足与功能的实现,对于UI显示要求也越来越高,以下是我做的一个demo,在Block UI嵌入MFC界面,并将MFC按钮风格绘制称UG按钮风格。当鼠标移动按钮上时,点击后状态。 bool aa = myMfcDialog-&gt;Create(IDD_DIALOG1, nWnd1);  // nWnd1UG对话框的窗口 aa...

2019-02-23 16:42:29 3633 10

ReadCutLevel.zip

NX11 VS2013 读取切削层源代码

2021-07-08

NX1892图标-BMA解压-8162张.zip

通过解析NX1892目录下的BMA文件, 生成bmp文件, 压缩包中只有解析后的图标, 一共8162张

2020-11-24

NX两种kanji 与 chinesef_kt 字体fnt格式 字符形点位信息

NX两种kanji 与 chinesef_kt 字体fnt格式 字符形点位信息

2021-07-17

NX二次开发-创建球刀模型

通过驱动表达式,控制后台导入的球刀模型(对话框+源代码+图标文件)

2021-07-08

C++项目开发实战入门(PDF+光盘资源)-明日科技-百度网盘链接

C++项目开发实战入门(PDF+光盘资源)-明日科技-百度网盘链接,pdf彩色版,非扫描版。内容真实可靠

2020-11-19

零基础学C#(PDF+光盘资料)-明日科技-百度网盘链接

零基础学C#(PDF+光盘资料)-明日科技-百度网盘链接 PDF彩色版,对于零基础学习非常不错的资源

2020-11-19

C++删除excel中重复项(RemoveDuplicates)

发表于 2017-11-25 最后回复 2018-11-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除