首页 > TAG信息列表 > UFUN
【NX二次开发】ufun分割体
分割体 int doWork() { //创建block UF_FEATURE_SIGN sign = UF_NULLSIGN; double douPt[3] = { 0.0, 0.0, 0.0 }; char *Edge_Len[3] = { "99", "98", "97.1256" }; tag_t tagBlock = NULL_TAG; UF_MODL_create_block1(siNX二次开发-UFUN从对象中获取的给定类型的所有几何项目UF_CAMGEOM_ask_items
这个例子是一位网友从西门子官网支持中心里面下载分享的 代码 //Sample CAM API program : report geom provider /***************************************************************************** ** ** report_geom_provider.c ** ** Description: ** Contains UnigraNX二次开发-UFUN求两个二维向量的叉乘UF_VEC2_cross
NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_vec.h> UF_initialize(); //求两个二维向量的叉乘 double vec1[2] = { 0, 100 }; double vec2[2] = { 110, 80 }; double cross_product = 0; UF_VEC2_cross(vec1, vec2, &cross_product); //打印NX二次开发-UFUN释放一个面评估器结构UF_EVALSF_free
1 NX9+VS2012 2 3 #include <uf.h> 4 #include <uf_evalsf.h> 5 #include <NXOpen/Body.hxx> 6 #include <NXOpen/Face.hxx> 7 #include <uf_disp.h> 8 9 10 public: 11 12 void SelectBody(NX二次开发-UFUN求两个二维向量相减UF_VEC2_sub
NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_vec.h> UF_initialize(); //求两个二维向量相减 double vec1[2] = { 10.0, 0.0 }; double vec2[2] = { 0.0, 10.0 }; double vec_diff[2] = {0}; UF_VEC2_sub(vec1, vec2, vec_diff); //打印 chaNX二次开发-UFUN两个向量点乘UF_VEC3_dot
这篇博客内容是紧接着上一篇的NX二次开发-使用数学方法计算两个向量之间的夹角(计算顺逆判断锐角还是钝角) 探讨的内容,也是一样的。就是区分夹角是锐角还是钝角,区分方法,就是这个函数UF_VEC3_dot,点乘的值。函数是QQ群的一位网友发的 我不确定用的对不对,用的不对,请底部留言给我。NX二次开发-UFUN获得镜像矩阵(做镜像体)uf5946
内容为转载,出自https://www.cnblogs.com/KMould/p/14084087.html 使用uf5946获取镜像矩阵注意:uf5946镜像这个函数,只能用#define UF_plane_type=46这种类型的数据作为镜像面,不能用#define UF_datum_plane_type=197这种类型的数据作为镜像面。 NX9+VS2012 #include <uf.h> #inclNX二次开发-UFUN创建点UF_CURVE_create_point
麻痹的 写了这么多年博客,到现在才发现,原来我UF_CURVE_create_point这个创建点函数没写过, 我以为这么简单的函数,早就已经写过了,刚才在写一个demo,要用到创建点,想直接去博客上 白嫖一下,发现竟然没有。擦,这不是耽误以后白嫖代码了 NX11+VS2013 #include <uf.h> #include <uf_curve.hNX二次开发-UFUN执行三维向量加法并返回向量UF_VEC3_add
NX11+VS2013 #include <uf.h> #include <uf_ui.h> #include <uf_vec.h> UF_initialize(); //执行三维向量加法并返回向量 double vec1[3] = { 10, 15, 20 };//第一个三维向量 double vec2[3] = { 45, 60, 78 };//第二个三维向量 double vec_sum[3] = { 0 };//向量1和向量2的NX二次开发-UFUN将2D矢量转换为3D矢量,设置z坐标为零UF_VEC2_vec3
NX11+VS2013 #include <uf.h> #include <uf_ui.h> #include <uf_vec.h> UF_initialize(); //将2D矢量转换为3D矢量。设置z坐标为零。 double vec_2D[2] = { 15, 26 }; double vec_3D[3] = { 0 }; UF_VEC2_vec3(vec_2D, vec_3D); //打印 char msg[256]; sprintf(msg, &quoNX二次开发-UFUN UF_UI_ugmgr_ask_create_part_file_name
这个函数没搞懂明白是用来干什么的,有啥作用,感觉好像是nx与tc集成相关的。 先记录一下,以后会用了,在更新过来。 NX11+VS2013 #include <uf.h> #include <uf_ui.h> #include <uf_part.h> UF_initialize(); //新建文件选择对话框 char file_name[MAX_FSPEC_BUFSIZE]NX二次开发-UFUN新建文件选择对话框UF_UI_ask_create_part_filename
昨天晚上看到@和光同尘 这位兄弟问这个UF_UI_ask_create_part_filename函数怎么使用,测试了半天也没有反应,就是不新建出一个prt。 其实是他给搞岔劈了,这个函数就是弹出个新建对话框而已,并没有创建prt的功能,创建prt是要在用UF_PART_new的。 可以参考这个函数UF_UI_create_fileboxNX二次开发-UFUN判断一个二维向量在指定的公差内是否为零UF_VEC2_is_zero
#include <uf.h> #include <uf_ui.h> #include <uf_vec.h> UF_initialize(); //判断一个二维向量在指定的公差内是否为零 double vec[2] = { 0.01, 0 }; double tolerance = 0.001; int is_zero = 0;//0 = Vectors is not zero 1 = Vectors is zero UF_VEC2_is_zero(vec, toNX二次开发-UFUN判断一个三维向量在指定的公差内是否为零UF_VEC3_is_zero
#include <uf.h> #include <uf_ui.h> #include <uf_vec.h> UF_initialize(); //判断一个三维向量在指定的公差内是否为零 double vec[3] = { 0.001, 0, 0 }; double tolerance = 0.001; int is_zero = 0;//0 = Vectors is not zero 1 = Vectors is zero UF_VEC3_is_zero(vecNX二次开发-UFUN判断一个四维向量在指定的公差内是否为零UF_VEC4_is_zero
#include <uf.h> #include <uf_ui.h> #include <uf_vec.h> UF_initialize(); //判断一个四维向量在指定的公差内是否为零 double vec[4] = { 0.001, 0, 0, 0 }; double tolerance = 0.001; int is_zero = 0;//0 = Vectors is not zero 1 = Vectors is zero UF_VEC4_is_zero(NX二次开发-UFUN计算两点距离(二维向量)UF_VEC2_distance
NX11+VS2013 #include <uf.h> #include <uf_ui.h> #include <uf_vec.h> UF_initialize(); //计算两点之间的距离(二维向量) double pnt1[2] = { 10, 0 }; double pnt2[2] = { 55, 60}; double distance = 0; UF_VEC2_distance(pnt1, pnt2, &distance); char msgNX二次开发-UFUN非模态提示框UF_UI_display_nonmodal_msg
NX9+VS2012 今天有个网友兄弟在博客底部给我留言说UFUN是有非模态提示框的,是这个函数UF_UI_display_nonmodal_msg https://www.cnblogs.com/nxopen2018/p/15240765.html 下面这个例子是直接出自UFUN API帮助上的 /*************************************************************NX二次开发-UFUN读取工作图层UF_LAYER_ask_work_layer
NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_layer.h> UF_initialize(); //读取工作图层 int layer_number = 0; UF_LAYER_ask_work_layer(&layer_number); //打印 char msg[256]; sprintf(msg, "%d", layer_number); uc1601(mNX二次开发-UFUN在NX提示区显示一行文本UF_UI_set_prompt
NX11+VS2013 #include <uf.h> #include <uf_ui.h> UF_initialize(); //左下角提示区显示一行文本 UF_UI_set_prompt("阿飞是胖墩子"); UF_terminate(); 阿飞 2021年7月17日 阿飞 2021年7月17日NX-二次开发UFUN在面上创建等参数曲线UF_MODL_create_isocurve
本实例非博主原创,是从大神的视频课程中学习的。 版本: NX9+VS2012 演示: 源代码: //CreateRunnerLine // Mandatory UF Includes #include <uf.h> #include <uf_object_types.h> // Internal Includes #include <NXOpen/ListingWindow.hxx> #include <NXOpen/NXMessaNX二次开发-UFUN获得体的表面积,体积,重心等UF_MODL_ask_mass_props_3d
NX11+VS2013 //头文件 #include <uf.h> #include <uf_ui.h> #include <uf_modl.h> #include <uf_disp.h> #include <uf_attr.h> static int select_filter_proc_fn(tag_t object, int type[3], void* user_data, UF_UI_selection_p_t select) {NX二次开发-UFUN获得prt是否被加载UF_PART_is_loaded
NX9+VS2012 #include <uf.h> #include <uf_part.h> #include <uf_ui.h> UF_initialize(); /* 返回代码: 0 =部分未加载。 1 =部分在会话中被完全加载。 2 =Part在session中被部分加载。 其他=错误代码。 */ //获得prt是否被加载 int aa = UF_PART_is_loaded("D:\\123.prt");NX二次开发-UFUN获得prt是否被修改UF_PART_is_modified
NX9+VS2012 #include <uf.h> #include <uf_part.h> #include <uf_ui.h> UF_initialize(); //获得prt是否被修改(保存了返回false,一旦做了修改或创建操作就返回true) logical aa = UF_PART_is_modified(UF_PART_ask_display_part()); if (aa == true) { uc1601("true&qNX二次开发-UFUN替换点集中的点UF_MODL_edit_points_parms
NX9+VS2012 #include <uf.h> #include <uf_curve.h> #include <uf_modl.h> UF_initialize(); //创建点 double pointCoords1[3] = {0,10,20}; tag_t point1Tag = NULL_TAG; UF_CURVE_create_point(pointCoords1, &point1Tag); double pointCoords2[3NX二次开发-UFUN进度中断检测,清除标记位UF_ABORT_clear_abort
NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_abort.h> #include <uf_modl.h> UF_initialize(); UF_ABORT_clear_abort();//清除标记位 UF_ABORT_enable_abort();//打开中断检测(对话框) bool isUserClickWidget = false; for (int i = 0; i &l