[NX二次开发]Block UI 选项卡控件…
关于 在Block UI中UF_initialize();和UF_terminate();的使用 用Block UI作NX二次开发的时候,不需要在使用UFUN函数的时候加UF_initialize();和UF_terminate();. 可以直接加在CPP里这个位置: extern "C" DllExport void ufusr(char *param, int *retcod, int param_len) { TwoPointCyl *theTwoPointCyl = NULL;…
NX9+VS2012 public: void SetBlockUIShow(); void EnumInt::SetBlockUIShow() { //获取枚举控件 PropertyList* EnumProps = enum0->GetProperties(); int EnumValue = EnumProps->GetEnum("Value"); delete EnumProps; EnumProps = NULL; //得到ini类型值 //条件判断,当枚举为下拉…
NX9+VS2012 public: void SetBlockUIShow(); void ToggleInt::SetBlockUIShow() { //获取开关控件 //获取枚举控件 PropertyList* ToggleProps = toggle0->GetProperties(); int ToggleValue = ToggleProps->GetLogical("Value"); delete ToggleProps; ToggleProps = NULL…
Specify Point(指定点)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_ui.h> UF_initialize(); //获取点XYZ坐标 PropertyList *SelectPoint1Props = point0->GetProperties(); Point3d SelectPoint1 = SelectPoint1Props->GetPoint("Point"); delete Se…
Face Collector(面收集器)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_obj.h> UF_initialize(); //面收集器控件 PropertyList* FaceSelectProps = face_select0->GetProperties(); std::vector<NXOpen::TaggedObject *> faces = FaceSelectProps->GetTagge…
Object Color Picker(对象颜色拾取器)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_obj.h> UF_initialize(); //获取体收集器控件 PropertyList* BodySelectProps = bodySelect0->GetProperties(); std::vector<NXOpen::TaggedObject *> Bodys = BodySelectProps->…
Expression(表达式)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_modl.h> UF_initialize(); //获取表达式控件的值 PropertyList *ExpressionProps = expression0->GetProperties(); double ExpressionValue = ExpressionProps->GetDouble("Value"); delet…
Body Collector(体收集器)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_obj.h> UF_initialize(); //获取体收集器控件 PropertyList* BodySelectProps = bodySelect0->GetProperties(); std::vector<NXOpen::TaggedObject *> Bodys = BodySelectProps->GetTagg…
block UI控件如果有RetainValue属性,就用这个属性.没有这个属性可以参考下面这种方法.以矢量控件为例: 1.在apply_cb回调中,将控件值保存到文本中 double TopForTextDir[3] = { 0.0,0.0,0.0 }; Vector3d vec = this->vector0->GetProperties()->GetVector("Vector"); TopForTextDir[0] = vec.X; TopForTextDir…
FR提供一些选择器,可以改变部分控件的样式,那么对于如何书写自己的css: 可以自己写css文件导入,也可以在页面加载结束事件中添加JS方法来改变css样式. 以文本框为例: 书写css文件,保存至%FR_HOME%/下面(必须存放在WebReport这个目录下,,其他地方不能读取): .fr-texteditor{ border:3px solid blue; color:red; font-weight:bold;} 然后在模板web属性中添加css文件.. 在加载结束事件中添加js,以在填…
属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    Logical    是否分组    Label    Utfstring    标题    Show    Logical    是否可见   其他           附件            Bottom    Attachment    底部     Left    Attachment…
Block UI 目录  基本   标签/位图   切换开关   枚举   字符串   多行字符串   操作按钮   列表框   分割线   对象颜色选择器   RGB颜色选择器   绘图区   图层   线型   线宽   线条颜色/线型/宽度   文本颜色/字体/宽度  编号   整形   双精度   表达式   线性尺寸   角度尺寸   半径尺寸(沿曲线的位置)   整数表   双精度表  布局   组   表   选项卡控件   向导   浏览器   滚动窗口  选择   选择对象  …
属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    Logical    是否分组    Label    Utfstring    标题    Show    Logical    是否可见   其他           附件            Bottom    Attachment    底部     Left    Attachment…
在看这个博客前,请读者先去完整看完: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对话框里 ----------…
NX二次开发应用程序有交互式.批处理和远程3中模式.交互模式的应用程序(.dll)在NX界面环境下运行.dll以动态链接库的方式被加载到NX的进程空间中.dll可以通过下列几种方式执行. 1.直接激活:文件->执行->NX Open 选择dll执行: 2.通过用户菜单.工具条调用: 3.在UI Styler.Block UI Style创建的对话框的回调函数中激活dll: 4.通过用户出口(相当于"事件"),例如NX启动时运行dll,保存部件时运行dll,打开部件时运行dl…
在写这篇文章的时候,我正在头晕,因为下班坐车回家,有些晕车了.头疼的要死.也吃不下去饭. 版本:NX11+VS2013 最近这一年已经由C++过度到C#,改用C#做应用程序开发和NX二次开发. C#在做复杂界面开发的时候,WinFrom要比MFC简单的多(这个时候纯BlockUI已经满足不了集成功能的复杂界面需求了),数据库连接也简单. 言归正传 在我经过一段时间的看QQ群别人讨论技术,给了我点启发,以及带着兴趣百度到了一些相关资料.学会了这种方法. 1.有需求 在用C#做NX二次开发的时候,我…
先选择多个对象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…
本文分为两部分:"带参数的函数"和 "带修饰的函数". 浏览这篇博客前请先阅读: [NX二次开发]NX内部函数,查找内部函数的方法 带参数的函数: void UGS::DiagnosticUI::ClearDiagnosticsDisplayImmediately(class UGS::UICOMP &)void UGS::DiagnosticUI::DisplayDiagnosticsImmediately(class UGS::UICOMP &)…
本文分为两部分:"带参数的函数"和 "带修饰的函数". 浏览这篇博客前请先阅读: [NX二次开发]NX内部函数,查找内部函数的方法 带参数的函数: bool AMX__action_list_has_visible_items(struct AMX__action_list_s *)struct AMX__action_s * AMX__ask_action_by_accelerator(int,char const *)struct AMX__action_ite…
版本 NX9+VS2012 1.怎么往VS软件里添加VC,C#,VB向导模板 先到NX安装目录下UGOPEN文件夹里找到这三个文件夹 拷贝到VS的安装目录下 这里有几个注意事项,VS2017,VS2019以下的版本这样操作没问题, VS2017和VS2019微软调整了VC文件夹的目录,换位置了,所以你加过去发现打开VS里面没有C++的向导模板. 去你的VS2017或者VS2019安装目录下找到\Common7\IDE文件夹目录,把VC向导模板放进去. 下面我们新建项目,使用NX向导模板 两个向导…
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…
每当提起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二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: 在UFUN里面没有直接的函数: 思路就是: .先将工程图转换为cgm .调用系统的cgm2pdf.exe工具,将上一步转换的cgm再转成PDF格式: 以下是我写的一个例子.大家可以拿一个工程图测试以下代码,最后会在C盘生成tkl.cgm与tkl.pdf两个文件. #include <uf.h>…