NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_obj.h> UF_initialize(); //创建块 UF_FEATURE_SIGN Sign = UF_NULLSIGN; ] = {0.0, 0.0, 0.0}; ] = {"}; tag_t BlkTag = NULL_TAG; UF_MODL_create_block1(Sign, Corner_Pt, Edge_Len, &…
用户出口(User Exit)是NX Open 中的一个重要概念.NX在运行过程中某些特定的位置存在规定的出口,当进程执行到这些出口时,NX会自动检查用户是否在此处已定义了指向内部程序位置的环境变量:若没有定义,则以NX默认的方式继续运行下去:若已定义,则从该处自动运行用户定制的应用程序.利用不同的User Exit,可使用户定制的应用程序在NX运行到特定点时被自动执行.每个User Exit 都有唯一的出口名称,以便用户在子程序中调用,不同的 User Exit使用不同的出口函数,最常用的 U…
NX9+VS2012 #include <uf.h> #include <uf_curve.h> #include <uf_obj.h> UF_initialize(); //起点 ]; ArcStartPoint[] = 0.0; ArcStartPoint[] = 0.0; ArcStartPoint[] = 0.0; tag_t ArcStartPointTag = NULL_TAG; UF_CURVE_create_point(ArcStartPoint, &a…
NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_obj.h> #include <uf_ui.h> UF_initialize(); //创建圆柱 UF_FEATURE_SIGN Sign = UF_NULLSIGN; ] = {0.0, 0.0, 0.0}; "; "; ] = {0.0, 0.0, 1.0}; tag_t CylTag = NULL_TAG; U…
#include <uf.h> #include <uf_obj.h> #include <uf_modl.h> #include <uf_layer.h> UF_initialize(); //创建块 UF_FEATURE_SIGN sign = UF_NULLSIGN; ] = { 0.0, 0.0, 0.0 }; ] = { " }; tag_t BlkTag = NULL_TAG; UF_MODL_create_block1(sign, c…
NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON LSYTOOLS LABEL 自定义工具箱 BITMAP cam_new_tool ACTIONS LSYTOOLS 2.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\profiles\All\rbn_application.rtb 找到建模,在前面加上…
NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON LSYTOOLS LABEL 自定义工具箱 BITMAP cam_new_tool ACTIONS LSYTOOLS 2.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\profiles\All\rbn_application.rtb 找到建模,在前面加上…
NX9+VS2012 UF_initialize(); //输入X向量Y向量输出一个3*3矩阵 ] = {0.0, 0.0, 1.0}; ] = {0.0, 1.0, 0.0}; ]; UF_MTX3_initialize(XVec, YVec, Mtx); //创建一个3 x 3矩阵 tag_t MatrixID = NULL_TAG; UF_CSYS_create_matrix(Mtx, &MatrixID); //或者写成 ] = {1.0, 0.0, 0.0, 0.0, 1.0, 0.0…
NX9+VS2012 #include <uf.h> #include <uf_csys.h> UF_initialize(); //设置WCS显示 //1显示WCS, 0不显示WCS UF_CSYS_set_wcs_display(); UF_terminate();…
#include <uf.h> #include <uf_drf.h> #include <uf_obj.h> #include <uf_part.h> #include <uf_ui.h> UF_initialize(); //遍历所有尺寸 ; tag_t DimTag = NULL_TAG; UF_OBJ_cycle_objs_in_part1(UF_PART_ask_display_part(), UF_dimension_type, &a…
NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_curve.h> #include <uf_obj.h> #include <uf_part.h> #include <vector> #include <algorithm> using namespace std; UF_initialize(); //遍历前有一点需要注意,首先我们的默认基准坐标系上就…
#include <uf.h> #include <uf_ui.h> #include <uf_modl.h> UF_initialize(); UF_FEATURE_SIGN sign = UF_NULLSIGN; ] = { 0.0, 0.0, 0.0 }; ] = { " }; tag_t blk_obj_id = NULL_TAG; int AA = UF_MODL_create_block1(sign, corner_pt, edge_len, &a…
NX9+VS2012 //NX二次开发中常用拉伸函数为UF_MODL_create_extruded2,但是此函数不能拉伸片体, //想要拉伸片体用函数UF_MODL_create_extruded. #include <uf.h> #include <uf_curve.h> #include <uf_modl.h> #include <uf_obj.h> UF_initialize(); //创建直线1 UF_CURVE_line_t LineCoords…
NX9+VS2012 //NX二次开发中常用拉伸函数为UF_MODL_create_extruded2,但是此函数不能拉伸片体, //想要拉伸片体用函数UF_MODL_create_extruded. #include <uf.h> #include <uf_curve.h> #include <uf_modl.h> #include <uf_obj.h> UF_initialize(); //创建直线1 UF_CURVE_line_t LineCoords…
UF公共类型 UF_begin_timer计时函数 https://www.cnblogs.com/nxopen2018/p/10957135.html UF_end_timer计时函数 https://www.cnblogs.com/nxopen2018/p/11099462.html UF_initialize初始化 https://www.cnblogs.com/nxopen2018/p/10952538.html UF_terminate终止  https://www.cnblogs.c…
NX二次开发应用程序有交互式.批处理和远程3中模式.交互模式的应用程序(.dll)在NX界面环境下运行.dll以动态链接库的方式被加载到NX的进程空间中.dll可以通过下列几种方式执行. 1.直接激活:文件->执行->NX Open 选择dll执行: 2.通过用户菜单.工具条调用: 3.在UI Styler.Block UI Style创建的对话框的回调函数中激活dll: 4.通过用户出口(相当于"事件"),例如NX启动时运行dll,保存部件时运行dll,打开部件时运行dl…
每当提起UDO总是会让我想起大专毕业那会失业找工作,后来有个宝贵机会去了软件公司上班,拿到了我人生中的第一个NX二次开发项目,一个关于测量汽车前后左右摄像头的项目.当时那个项目就用到了UDO,对于只看了两个月唐康林工程师二次开发视频教程就跑出来找工作的我,显然是不会UDO的,后来采用了将handle值写到部件属性里,然后每次打开工具对话框前先去部件属性里读,在给到对话框里.在然后项目没做完我就特么滚蛋了. 时隔差不多两年,以前技术底子太差,好多东西都不懂,直到最近我对UDO才有了一些认知了解,会…
在写这篇文章的时候,我正在头晕,因为下班坐车回家,有些晕车了.头疼的要死.也吃不下去饭. 版本:NX11+VS2013 最近这一年已经由C++过度到C#,改用C#做应用程序开发和NX二次开发. C#在做复杂界面开发的时候,WinFrom要比MFC简单的多(这个时候纯BlockUI已经满足不了集成功能的复杂界面需求了),数据库连接也简单. 言归正传 在我经过一段时间的看QQ群别人讨论技术,给了我点启发,以及带着兴趣百度到了一些相关资料.学会了这种方法. 1.有需求 在用C#做NX二次开发的时候,我…
uc6434 (); //旋转视图 参数1:如果输入""则旋转当前工作视图参数2:1.按照ABS旋转视图.2.按照WCS选择视图.3.按照参数3旋转视图.4.按照参数4旋转视图参数3:参数2=3时使用.输入一个有坐标系的对象标识符,例如圆弧.曲线.绘图对象.CSYS等.参数4:参数2=4时使用.矩阵(6个元素数组)的x轴和y轴.视图矩阵的Z轴将通过取两个输入轴的叉乘来内部计算. 效果: 源码: extern DllExport void ufusr(char *param, int *…
uc6464("布局名","旧视图名","新视图名");输入布局名.旧视图名.新视图名.如果布局名为空则更新当前布局.如果旧视图名为空,则工作视图将被替换.如果新视图名为空,则在布局上复制视图.如果旧视图名和新视图名都是空的,那么工作视图将被更新. 按视图名称旋转工作视图: 源码: extern DllExport void ufusr(char *param, int *returnCode, int rlen) { UF_initialize…
返回所有层上指定类型部件中的所有对象,不管它们的当前显示状态如何.这个例程不返回表达式.指定对象.临时(系统创建的)对象或休眠对象.休眠对象指的是从模型中删除的对象例如,如果你混合了一条边,那么这条边就是休眠的.WCS将不会被返回,除非它已经被保存. 注意:当指定的类型为UF_feature_type时,这个例程循环部件中的特征.在循环查找到的对象时,不要尝试删除对象.当前对象已被删除时,尝试读取下一个对象时,可能会出现问题.要删除对象,可以在循环时将对象保存到一个包含对象的数组,然后在完成循环…
先选择多个对象object,然后使用此函数获取选择的对象的tag,最后就可以使用object的一些函数了. ufun例子: extern DllExport void ufusr(char *parm, int *returnCode, int rlen) { UF_initialize(); tag_t *tagObjects; int iCount = 0; UF_UI_ask_global_sel_object_list(&iCount, &tagObjects); for (int…
今天是国庆节,放假休息懒得动,没有出去玩,在家研究一下发射线函数UF_MODL_trace_a_ray.小弟以前在软件公司混的时候,当时我做的那个项目就用到了UF_MODL_trace_a_ray,当时为了赶项目,从别处抄了代码,改吧改吧.自己也没有仔细的去研究一下这个函数的用法.UF_MODL_trace_a_ray在NX二次开发中算是一个用到比较高频的函数,今天研究了一下,写了一道例题,UFUN和NXOpen C++简单混合去用了一下,大致介绍下函数的用法.如有错误,还请各位前辈多多指教小弟…
文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: 在UFUN里面没有直接的函数: 思路就是: .先将工程图转换为cgm .调用系统的cgm2pdf.exe工具,将上一步转换的cgm再转成PDF格式: 以下是我写的一个例子.大家可以拿一个工程图测试以下代码,最后会在C盘生成tkl.cgm与tkl.pdf两个文件. #include <uf.h>…
文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: 在UFUN里面没有直接的函数: 思路就是: .先将工程图转换为cgm .调用系统的cgm2pdf.exe工具,将上一步转换的cgm再转成PDF格式: 以下是我写的一个例子.大家可以拿一个工程图测试以下代码,最后会在C盘生成tkl.cgm与tkl.pdf两个文件. #include <uf.h>…
文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: 在UFUN里面没有直接的函数: 思路就是: .先将工程图转换为cgm .调用系统的cgm2pdf.exe工具,将上一步转换的cgm再转成PDF格式: 以下是我写的一个例子.大家可以拿一个工程图测试以下代码,最后会在C盘生成tkl.cgm与tkl.pdf两个文件. #include <uf.h>…
第一次调用 :返回第一个启用层中的第一个对象. 第二次调用 :返回下一个已启用层中的下一个对象. 最后一次调用:当所有对象都被耗尽时,将返回object_tag = NULL_TAG. 在循环数据库时,不要尝试删除对象. 当 当前对象已被删除时,尝试读取下一个对象时,可能会出现问题. 要删除对象,保存一个包含对象的数组,然后在完成循环后,使用 UF_OBJ_delete_array_of_objects删除保存的对象数组. 查找当前工作部件下,工作图层中的所有体 例子: extern DllEx…
NX二次开发API里没有对EXCAL读写操作的相关函数,市面上有很多种方法去实现,比如UFUN调KF,ODBC,OLE(COM组件)等等.这里我是用的OLE(COM组件)方式去做的,这种在VC上创建的方法,无论C++还是C#还是VB方式思路都是一样的.先介绍用MFC去做,然后在写一篇博客介绍怎么在NX的二次开发的向导模板里去做.NX二次开发-基于NX开发向导模板的NX对Excel读写操作(OLE方式(COM组件))https://ufun-nxopen.blog.csdn.net/article…
在看这个博客前,请读者先去完整看完:NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))https://ufun-nxopen.blog.csdn.net/article/details/88922030 这篇博客,要不然你听不懂我下面在说什么. 版本NX11+VS2013+office2016 首先我们通过NX开发向导创建了一个模板. 先把项目属性改成多字节.下面我们把前面做的MFC项目里的几个EXCAL头文件和stdafx一块拷过来,加到NX的项目里. 在NX的…
半年前在一些QQ群看到有大神NX二次开发做出了进度条,那个时候我还不会弄,也不知道怎么弄得,后来断断续续得研究了一下,直到今天我把它做出来了.内心还是很喜悦的!回想自己这两年当初从没公司肯给我做NX二次开发的机会,在到去专业NX二次开发公司上班又混不下去,最后去干画图仔,但我没放弃这行,每晚坚持那份热爱,现在技术也终究有了些进步了.[如果有写得不对的地方,各位可以给我留言批评指正] 先上两张图片 将MFC进度条嵌套在NX窗口左下角 将MFC进度条嵌套在BlockUI对话框里 ----------…