1 NX11+VS2013
2
3 #include <uf.h>
4 #include <uf_ui.h>
5 #include <uf_modl.h>
6 #include <uf_curve.h>
7
8
9 UF_initialize();
10
11 //创建圆柱
12 UF_FEATURE_SIGN Sign = UF_NULLSIGN;
13 double Origin[3] = { 0.0, 0.0, 0.0 };
14 char *Height = "100";
15 char *Diam = "50";
16 double Direction[3] = { 0.0, 0.0, 1.0 };
17 tag_t CylTag = NULL_TAG;
18 UF_MODL_create_cyl1(Sign, Origin, Height, Diam, Direction, &CylTag);
19
20 //特征找体
21 tag_t body_tag = NULL_TAG;
22 UF_MODL_ask_feat_body(CylTag, &body_tag);
23
24 //体找边
25 uf_list_p_t edge_list;
26 UF_MODL_ask_body_edges(body_tag, &edge_list);
27
28 //获得链表的数量
29 int count = 0;
30 UF_MODL_ask_list_count(edge_list, &count);
31
32 UF_UI_open_listing_window();
33 for (int i = 0; i < count; i++)
34 {
35 //获得链表里的每一个tag
36 tag_t edge_tag = NULL_TAG;
37 UF_MODL_ask_list_item(edge_list, i, &edge_tag);
38
39 //获得边的类型
40 int edge_type = 0;
41 UF_MODL_ask_edge_type(edge_tag, &edge_type);
42 //Edge type :
43 //UF_MODL_LINEAR_EDGE线性边
44 //UF_MODL_CIRCULAR_EDGE圆形边
45 //UF_MODL_ELLIPTICAL_EDGE椭圆边
46 //UF_MODL_INTERSECTION_EDGE相交边
47 //UF_MODL_SPLINE_EDGE样条边
48 //UF_MODL_SP_CURVE_EDGE曲线边
49 //UF_MODL_FOREIGN_EDGE外边缘
50 //UF_MODL_CONST_PARAMETER_EDGE参数边
51 //UF_MODL_TRIMMED_CURVE_EDGE裁剪曲线边
52 //UF_MODL_CONVERGENT_EDGE收敛边
53 //判断是否为圆边
54 if (edge_type == UF_MODL_CIRCULAR_EDGE)
55 {
56 //圆弧矩阵标记、起始角和结束角(弧度测量)、圆弧中心坐标和圆弧半径
57 UF_CURVE_arc_t arc_coords;
58 UF_CURVE_ask_arc_data(edge_tag, &arc_coords);
59 double radius = arc_coords.radius;//圆弧半径
60 tag_t matrix = arc_coords.matrix_tag;//圆弧矩阵
61 double start = arc_coords.start_angle;//圆弧起始角
62 double end = arc_coords.end_angle;//圆弧结束角
63 double p1[3];
64 p1[0] = arc_coords.arc_center[0];//圆弧中心坐标
65 p1[1] = arc_coords.arc_center[1];
66 p1[2] = arc_coords.arc_center[2];
67
68 char msg[256];
69 sprintf_s(msg, "圆边的半径为:%f", radius);
70 UF_UI_write_listing_window(msg);
71 }
72
73 }
74
75 UF_terminate();
76
77 Caesar卢尚宇
78 2019年11月13日

NX二次开发-UFUN获得边的类型UF_MODL_ask_edge_type的更多相关文章

  1. NX二次开发-UFUN查询对象的类型和子类型UF_OBJ_ask_type_and_subtype

    NX9+VS2012 #include <uf.h> #include <uf_obj.h> #include <uf_modl.h> #include <u ...

  2. NX二次开发-UFUN查询体的类型为实体还是片体UF_MODL_ask_body_type

    NX9+VS2012 #include <uf.h> #include <uf_obj.h> #include <uf_modl.h> #include <u ...

  3. 【NX二次开发】获取边的类型 UF_MODL_ask_edge_type

    源码 extern DllExport void ufsta(char *param, int *returnCode, int rlen) { UF_initialize(); int edge_t ...

  4. NX二次开发-UFUN发射线函数UF_MODL_trace_a_ray的用法

    今天是国庆节,放假休息懒得动,没有出去玩,在家研究一下发射线函数UF_MODL_trace_a_ray.小弟以前在软件公司混的时候,当时我做的那个项目就用到了UF_MODL_trace_a_ray,当 ...

  5. NX二次开发-UFUN将工程图转成CGM和PDF文件UF_CGM_export_cgm

    文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...

  6. NX二次开发-UFUN获取NX系统默认导出CGM的选项设置UF_CGM_ask_default_export_options

    文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...

  7. NX二次开发-UFUN获取当前导出CGM选项设置UF_CGM_ask_session_export_options

    文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...

  8. NX二次开发-UFUN修改当前导出CGM文件选项设置UF_CGM_set_session_export_options

    文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...

  9. NX二次开发-UFUN计算两点距离UF_VEC3_distance

    NX11+VS2013 #include <uf.h> #include <uf_curve.h> #include <uf_vec.h> UF_initializ ...

随机推荐

  1. Buffering Data

    We keep telling you that you always need to close your files after you're done writing to them. Here ...

  2. SQl 分组后按照某一列拼接字符串

    /* 分组之后拼接字符串 */ ;with t as( SELECT WorkflowId,Remark FROM dbo.OperatorAutomationProcess GROUP BY Wor ...

  3. PHP FILTER_SANITIZE_MAGIC_QUOTES 过滤器

    定义和用法 FILTER_SANITIZE_MAGIC_QUOTES 过滤器对字符串执行 addslashes() 函数. 该过滤器在预定义的字符串前面设置反斜杠. 预定义字符是: 单引号(') 双引 ...

  4. luoguP2148 [SDOI2009]E&D [sg函数][组合游戏]

    题目描述 小E 与小W 进行一项名为“E&D”游戏. 游戏的规则如下: 桌子上有2n 堆石子,编号为1..2n.其中,为了方便起见,我们将第2k-1 堆与第2k 堆 (1 ≤ k ≤ n)视为 ...

  5. IDHTTP

    Delphi IDHTTP用法详解 一.IDHTTP的基本用法 IDHttp和WebBrowser一样,都可以实现抓取远端网页的功能,但是http方式更快.更节约资源,缺点是需要手动维护cook,连接 ...

  6. NX二次开发CreateDialog函数在UI.hxx文件和WinUser.h中的冲突【转载】

    文章出自https://blog.csdn.net/qq_41843732/article/details/91422764 在UG二次开发中,若使用MFC库,一旦加上#include<Afx. ...

  7. (转)OpenFire源码学习之一:XMPP基础知识

    转:http://blog.csdn.net/huwenfeng_2011/article/details/43412919 前面两张主要讲基础部分.XMPP与Mina有部分抄写于互联网的其他大事 X ...

  8. Dijkstra Algorithm 迪克特斯拉算法--Python

    迪克斯拉特算法: 1.找出代价最小的节点,即可在最短时间内到达的节点: 2.更新节点的邻居的开销: 3.重复这个过程,直到图中的每个节点都这样做了: 4.计算最终路径. ''' 迪克斯特拉算法: 1. ...

  9. 1、Appium Desktop介绍

    Appium Desktop是一款适用于Mac,Windows和Linux的开源应用程序,它以美观而灵活的用户界面为您提供Appium自动化服务器的强大功能.它是几个Appium相关工具的组合: Ap ...

  10. 剑指offer第二版面试题1:数组中重复的数字(JAVA版)

    题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复的次数.请找出数组中任意一个重复的数字.例如如果输入长度为7的数组{ ...