NX9+VS2012 #include <uf.h> #include <uf_curve.h> #include <uf_modl.h> UF_initialize(); //圆心点 ] = {0.0, 0.0, 0.0}; tag_t CenterTag = NULL_TAG; UF_CURVE_create_point(p1, &CenterTag); //辅助点 ] = {100.0, 0.0, 0.0}; tag_t HelpPointTag = NU…
函数:UF_CSYS_create_csys() . UF_CSYS_create_temp_csys() 函数说明:创建坐标系 .创建临时坐标系 用法: #include <uf.h> #include <uf_csys.h> extern DllExport void ufusr(char *param, int *returnCode, int rlen) { UF_initialize(); //通过数组创建矩阵 const double douMatrixValues[9…
这篇文章,我在CSDN,在唐工论坛都发过.http://www.nxopen.cn/forum.php?mod=viewthread&tid=2039&highlight=NX9 博客园作为我技术博客的大本营,还是在发一遍吧.做个存档. NX9+VS2012 此方法应该适用于NX10以下的版本,NX6-NX9应该都是可以的,我只测试了NX9,其他版本是否可以大家可以测试一下. 做NX二次开发的兄弟应该都知道从NX10开始UGOPEN下的vs_files里的开发向导模板有两个,一个OPEN的…
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 找到建模,在前面加上…
1 NX9+VS2012 #include <uf.h> #include <uf_csys.h> #include <uf_mtx.h> 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…
NX9+VS2012 #include <uf.h> #include <uf_csys.h> #include <uf_mtx.h> 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_c…
NX9+VS2012 #include <uf.h> #include <uf_csys.h> #include <uf_mtx.h> 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_c…
NX11+VS2013 #include <uf.h> #include <uf_curve.h> #include <NXOpen/CurveCollection.hxx> #include <NXOpen/NXObject.hxx> #include <NXOpen/Part.hxx> #include <NXOpen/PartCollection.hxx> NXOpen::Session *theSession = NXOpen…
NX9+VS2012 #include <uf.h> #include <uf_curve.h> #include <uf_csys.h> #include <uf_mtx.h> UF_initialize(); //创建向量方向 ] = { 10.0, 23.5, 75.8 }; //3*3矩阵,输入Z向量,得到矩阵 ]; UF_MTX3_initialize_z(Vec, Mtx); //创建矩阵 tag_t MatrixTag = NULL_TAG;…
NX9+VS2012 #include <uf.h> #include <uf_curve.h> #include <uf_ui.h> #include <uf_csys.h> UF_initialize(); //获取WCS tag_t WcsTag = NULL_TAG; UF_CSYS_ask_wcs(&WcsTag); //获取WCS的矩阵和原点 tag_t MatrixTag = NULL_TAG; ]; UF_CSYS_ask_csys_…
NX9+VS2012 #include <uf.h> #include <uf_curve.h> #include <uf_modl.h> UF_initialize(); //圆心点 ] = {0.0, 0.0, 0.0}; tag_t CenterTag = NULL_TAG; UF_CURVE_create_point(p1, &CenterTag); //辅助点 ] = {100.0, 0.0, 0.0}; tag_t HelpPointTag = NU…
#include <uf.h> #include <uf_modl.h> #include <uf_drf.h> #include <uf_obj.h> UF_initialize(); //创建表达式 tag_t ExpTag = NULL_TAG; UF_MODL_create_exp_tag("A=1", &ExpTag); //获得尺寸tag tag_t DimTag = NULL_TAG; UF_OBJ_cycle_by…
NX9+VS2012 #include <uf.h> #include <uf_curve.h> UF_initialize(); //起点 ]; ArcStartPoint[] = 0.0; ArcStartPoint[] = 0.0; ArcStartPoint[] = 0.0; tag_t ArcStartPointTag = NULL_TAG; UF_CURVE_create_point(ArcStartPoint, &ArcStartPointTag); //终点…
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的…
打开VS2013 点击新建,选择MFC DLL 点击确定 点下一步 什么都不改,直接点完成 进来之后先编译一下,看是否编译成功 打开项目属性,更改这几处 $(UGII_BASE_DIR)\ugopen libufun.lib libufun_cae.lib libufun_cam.lib libufun_die.lib libufun_vdac.lib libufun_weld.lib libnxopencpp.lib libnxopencpp_annotations.lib libnxopen…
半年前在一些QQ群看到有大神NX二次开发做出了进度条,那个时候我还不会弄,也不知道怎么弄得,后来断断续续得研究了一下,直到今天我把它做出来了.内心还是很喜悦的!回想自己这两年当初从没公司肯给我做NX二次开发的机会,在到去专业NX二次开发公司上班又混不下去,最后去干画图仔,但我没放弃这行,每晚坚持那份热爱,现在技术也终究有了些进步了.[如果有写得不对的地方,各位可以给我留言批评指正] 先上两张图片 将MFC进度条嵌套在NX窗口左下角 将MFC进度条嵌套在BlockUI对话框里 ----------…
每当提起UDO总是会让我想起大专毕业那会失业找工作,后来有个宝贵机会去了软件公司上班,拿到了我人生中的第一个NX二次开发项目,一个关于测量汽车前后左右摄像头的项目.当时那个项目就用到了UDO,对于只看了两个月唐康林工程师二次开发视频教程就跑出来找工作的我,显然是不会UDO的,后来采用了将handle值写到部件属性里,然后每次打开工具对话框前先去部件属性里读,在给到对话框里.在然后项目没做完我就特么滚蛋了. 时隔差不多两年,以前技术底子太差,好多东西都不懂,直到最近我对UDO才有了一些认知了解,会…
NX11+VS2013 #include <uf.h> #include <uf_curve.h> #include <uf_vec.h> UF_initialize(); //创建点1 ] = { 10.0, 10.0, 10.0 }; tag_t PointTag1 = NULL_TAG; UF_CURVE_create_point(Point1, &PointTag1); //创建点2 ] = { 100.0, 100.0, 100.0 }; tag_t…
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_MODL_trace_a_ray.小弟以前在软件公司混的时候,当时我做的那个项目就用到了UF_MODL_trace_a_ray,当时为了赶项目,从别处抄了代码,改吧改吧.自己也没有仔细的去研究一下这个函数的用法.UF_MODL_trace_a_ray在NX二次开发中算是一个用到比较高频的函数,今天研究了一下,写了一道例题,UFUN和NXOpen C++简单混合去用了一下,大致介绍下函数的用法.如有错误,还请各位前辈多多指教小弟…
在做NX二次开发的时候写完代码,编译可以通过,但是执行的时候却没有反应,或者得到的结果不对,说明肯定有地方传值出错了.我在查找代码错误的时候有几种方法:1.uc1601打印函数输入和输出的值看对不对.2.VS设断点-添加进程调试,来看输入输出值对不对3.UF_CALL也就是UF_get_fail_message这个函数,来看函数自己用的对不对.4.查看NX-Help-LogFile(日志),拖到最后看提示了哪些错误. 我一般用的比较多的是设断点调试,这里先说设断点调试.其他方法改天再写. 写举一…
在写这篇文章的时候,我正在头晕,因为下班坐车回家,有些晕车了.头疼的要死.也吃不下去饭. 版本:NX11+VS2013 最近这一年已经由C++过度到C#,改用C#做应用程序开发和NX二次开发. C#在做复杂界面开发的时候,WinFrom要比MFC简单的多(这个时候纯BlockUI已经满足不了集成功能的复杂界面需求了),数据库连接也简单. 言归正传 在我经过一段时间的看QQ群别人讨论技术,给了我点启发,以及带着兴趣百度到了一些相关资料.学会了这种方法. 1.有需求 在用C#做NX二次开发的时候,我…
uc6464("布局名","旧视图名","新视图名");输入布局名.旧视图名.新视图名.如果布局名为空则更新当前布局.如果旧视图名为空,则工作视图将被替换.如果新视图名为空,则在布局上复制视图.如果旧视图名和新视图名都是空的,那么工作视图将被更新. 按视图名称旋转工作视图: 源码: extern DllExport void ufusr(char *param, int *returnCode, int rlen) { UF_initialize…
返回所有层上指定类型部件中的所有对象,不管它们的当前显示状态如何.这个例程不返回表达式.指定对象.临时(系统创建的)对象或休眠对象.休眠对象指的是从模型中删除的对象例如,如果你混合了一条边,那么这条边就是休眠的.WCS将不会被返回,除非它已经被保存. 注意:当指定的类型为UF_feature_type时,这个例程循环部件中的特征.在循环查找到的对象时,不要尝试删除对象.当前对象已被删除时,尝试读取下一个对象时,可能会出现问题.要删除对象,可以在循环时将对象保存到一个包含对象的数组,然后在完成循环…
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 *…
NX二次开发应用程序有交互式.批处理和远程3中模式.交互模式的应用程序(.dll)在NX界面环境下运行.dll以动态链接库的方式被加载到NX的进程空间中.dll可以通过下列几种方式执行. 1.直接激活:文件->执行->NX Open 选择dll执行: 2.通过用户菜单.工具条调用: 3.在UI Styler.Block UI Style创建的对话框的回调函数中激活dll: 4.通过用户出口(相当于"事件"),例如NX启动时运行dll,保存部件时运行dll,打开部件时运行dl…
一.本节课程 c++ Arx二次开发创建椭圆和样条曲线 二.本节要讲解的知识点 1.如何应用C++ ARX二次开发创建椭圆(对AcDbEllipse类的构造函数的直接封装和根据外接矩形来创建椭圆) 2.如何应用C++ ARX二次开发创建样条曲线(对AcDbSpline类的构造函数的直接封装) 三.具体内容 1.创建椭圆的思路 有参数构造函数:AcDbEllipse( const AcGePoint3d& center, const AcGeVector3d& unitNormal, con…