关于 在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;…
Object Color Picker(对象颜色拾取器)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_obj.h> UF_initialize(); //获取体收集器控件 PropertyList* BodySelectProps = bodySelect0->GetProperties(); std::vector<NXOpen::TaggedObject *> Bodys = BodySelectProps->…
属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical 是否分组     Label     Utfstring 标题     Show     Logical 是否可见 其他                 Localize     Logical 是否本地化     RetainValue Logical 是否保存值     附件        …
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…
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…
Body Collector(体收集器)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_obj.h> UF_initialize(); //获取体收集器控件 PropertyList* BodySelectProps = bodySelect0->GetProperties(); std::vector<NXOpen::TaggedObject *> Bodys = BodySelectProps->GetTagg…
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…
Expression(表达式)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_modl.h> UF_initialize(); //获取表达式控件的值 PropertyList *ExpressionProps = expression0->GetProperties(); double ExpressionValue = ExpressionProps->GetDouble("Value"); delet…
每当提起UDO总是会让我想起大专毕业那会失业找工作,后来有个宝贵机会去了软件公司上班,拿到了我人生中的第一个NX二次开发项目,一个关于测量汽车前后左右摄像头的项目.当时那个项目就用到了UDO,对于只看了两个月唐康林工程师二次开发视频教程就跑出来找工作的我,显然是不会UDO的,后来采用了将handle值写到部件属性里,然后每次打开工具对话框前先去部件属性里读,在给到对话框里.在然后项目没做完我就特么滚蛋了. 时隔差不多两年,以前技术底子太差,好多东西都不懂,直到最近我对UDO才有了一些认知了解,会…
属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical 是否分组     Label     Utfstring 标题     Show     Logical 是否可见 其他                 Localize     Logical 是否本地化     RetainValue Logical 是否保存值     附件        …
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…
NX11+VS2013 #include <uf.h> #include <uf_modl.h> #include <uf_disp.h> UF_initialize(); //创建块 UF_FEATURE_SIGN Sign = UF_NULLSIGN;//设置布尔 ] = { 0.0, 0.0, 0.0 };//设置原点 ] = { " };//设置长宽高 tag_t BlkTag = NULL_TAG; UF_MODL_create_block1(Sig…
NX9+VS2012 #include <uf.h> #include <uf_obj.h> #include <uf_modl.h> #include <uf_part.h> UF_initialize(); //遍历当前显示部件 std::vector<tag_t> SolidVector; tag_t ObjectTag = NULL_TAG; int Type, SubType, Body_Type; ]; UF_OBJ_cycle_ob…
/**************************************************************************** Copyright (c) 2010 Siemens Product Lifecycle Management Software, Inc. Unpublished - All rights reserved File Description: Define names of all NX object types and subtypes.…
今天看到胡工对bounding_box的分享,我也来测试一番(原帖地址:https://www.ugapi.com/thread-10287.html) 获取对象的边界盒子的三个函数: 1 UF_MODL_ask_bounding_box //只能得到绝对坐标系下的边界盒子,速度快,结果不精确 2 UF_MODL_ask_bounding_box_aligned //可以得到指定坐标系下的盒子,速度快,结果不精确 3 UF_MODL_ask_bounding_box_exact //可以得到指定…
使用uf5946获取镜像矩阵注意:uf5946镜像这个函数,只能用#define UF_plane_type=46这种类型的数据作为镜像面,不能用#define UF_datum_plane_type=197这种类型的数据作为镜像面. 镜像对象: extern DllExport void ufusr(char *param, int *returnCode, int rlen) { uc1601("镜像体",1); UF_initialize(); tag_t tagBody0 =…
#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 block_tag = NULL_TAG; UF_MODL_create_block1(sign, block_pt, block_edge, &…
NX9+VS2012 #include <uf.h> #include <uf_obj.h> #include <uf_modl.h> #include <uf_part.h> UF_initialize(); //遍历当前显示部件所有体 std::vector<tag_t> SolidVector; tag_t ObjectTag = NULL_TAG; int Type, SubType, Body_Type; ; ]; UF_OBJ_cyc…
NX11+VS2013 #include <uf.h> #include <uf_modl.h> #include <uf_part.h> #include <uf_obj.h> UF_initialize(); //遍历当前part所有body lw->Open(); ; tag_t BodyTag = NULL_TAG; UF_OBJ_cycle_objs_in_part(UF_PART_ask_display_part(), UF_solid_t…
变换的种类: uf5942 矩阵乘积变换 uf5943 平移变换 uf5944 缩放变换 uf5945 旋转变换 uf5946 镜像变换 最后使用 uf5947 实现uf5942-uf5946的变换. 例子: [NX二次开发]镜像对象 [NX二次开发]uf5945获得旋转矩阵.uf5947根据变换矩阵移动或复制对象 OPENC函数 UF_TRNS(平移 变换)( uf5943 , uf5947)…
Block UI 目录  基本   标签/位图   切换开关   枚举   字符串   多行字符串   操作按钮   列表框   分割线   对象颜色选择器   RGB颜色选择器   绘图区   图层   线型   线宽   线条颜色/线型/宽度   文本颜色/字体/宽度  编号   整形   双精度   表达式   线性尺寸   角度尺寸   半径尺寸(沿曲线的位置)   整数表   双精度表  布局   组   表   选项卡控件   向导   浏览器   滚动窗口  选择   选择对象  …
[NX二次开发]Block UI 选项卡控件…
属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    Logical    是否分组    Label    Utfstring    标题    Show    Logical    是否可见   其他           附件            Bottom    Attachment    底部     Left    Attachment…
属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    Logical    是否分组    Label    Utfstring    标题    Show    Logical    是否可见   其他           附件            Bottom    Attachment    底部     Left    Attachment…
返回所有层上指定类型部件中的所有对象,不管它们的当前显示状态如何.这个例程不返回表达式.指定对象.临时(系统创建的)对象或休眠对象.休眠对象指的是从模型中删除的对象例如,如果你混合了一条边,那么这条边就是休眠的.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…
第一次调用 :返回第一个启用层中的第一个对象. 第二次调用 :返回下一个已启用层中的下一个对象. 最后一次调用:当所有对象都被耗尽时,将返回object_tag = NULL_TAG. 在循环数据库时,不要尝试删除对象. 当 当前对象已被删除时,尝试读取下一个对象时,可能会出现问题. 要删除对象,保存一个包含对象的数组,然后在完成循环后,使用 UF_OBJ_delete_array_of_objects删除保存的对象数组. 查找当前工作部件下,工作图层中的所有体 例子: extern DllEx…
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二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))https://ufun-nxopen.blog.csdn.net/article/details/88922030 这篇博客,要不然你听不懂我下面在说什么. 版本NX11+VS2013+office2016 首先我们通过NX开发向导创建了一个模板. 先把项目属性改成多字节.下面我们把前面做的MFC项目里的几个EXCAL头文件和stdafx一块拷过来,加到NX的项目里. 在NX的…