分析曲线某位置的信息:点、切线、主副法线、半径等

extern DllExport void ufsta(char *param, int *returnCode, int rlen)
{
UF_initialize();
//UF_MODL_ask_curve_props
tag_t tagCurveId = 51693;
double parm = 0.5;
double point[3];
double tangent[3];
double p_norm[3];
double b_norm[3];
double torsion;
double rad_of_cur;
UF_MODL_ask_curve_props(tagCurveId, parm, point, tangent, p_norm, b_norm, &torsion, &rad_of_cur);
//point 点
tag_t tagPoint;
UF_CURVE_create_point(point, &tagPoint);
//tangent 切线; 切线 主法线 副法线两两垂直
UF_CURVE_line_t linePoint;
tag_t tagLine;
UF_VEC3_copy(point,linePoint.start_point);
linePoint.end_point[0] = point[0] + tangent[0];
linePoint.end_point[1] = point[1] + tangent[1];
linePoint.end_point[2] = point[2] + tangent[2];
UF_CURVE_create_line(&linePoint, &tagLine);
//p_norm 单位主法线
UF_VEC3_copy(point, linePoint.start_point);
linePoint.end_point[0] = point[0] + p_norm[0];
linePoint.end_point[1] = point[1] + p_norm[1];
linePoint.end_point[2] = point[2] + p_norm[2];
UF_CURVE_create_line(&linePoint, &tagLine);
//b_norm 单位副法线
UF_VEC3_copy(point, linePoint.start_point);
linePoint.end_point[0] = point[0] + b_norm[0];
linePoint.end_point[1] = point[1] + b_norm[1];
linePoint.end_point[2] = point[2] + b_norm[2];
UF_CURVE_create_line(&linePoint, &tagLine); //扭转? torsion
//半径 rad_of_cur UF_terminate();
} extern int ufusr_ask_unload(void)
{
return (UF_UNLOAD_IMMEDIATELY);
}

效果:

【NX二次开发】分析曲线某位置的信息 UF_MODL_ask_curve_props的更多相关文章

  1. NX二次开发-UFUN拾取屏幕位置UF_UI_specify_screen_position

    #include <uf.h> #include <uf_ui.h> UF_initialize(); //拾取屏幕位置 //在屏幕用鼠标拾取一点 char sMessage[ ...

  2. NX二次开发-UF_ASSEM_ask_component_data获取装配部件的相关信息

    NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_assem.h> ], void* user_ ...

  3. NX二次开发-UFUN获取图层类别的信息UF_LAYER_ask_category_info

    1 NX11+VS2013 2 3 #include <uf.h> 4 #include <uf_ui.h> 5 #include <uf_layer.h> 6 7 ...

  4. 【NX二次开发】拉伸面、拉伸封闭曲线成片体UF_MODL_create_extrusion

    用那几个拉伸,不能将封闭的曲线拉伸成片体,用UF_MODL_create_extrusion函数是可以的,下面是例子. 帮助上说拉伸片体不能有拔模角度,应该是错误的,下面是一个封闭曲线带拔模角度拉伸片 ...

  5. 【NX二次开发】Block UI 目录

    Block UI 目录  基本   标签/位图   切换开关   枚举   字符串   多行字符串   操作按钮   列表框   分割线   对象颜色选择器   RGB颜色选择器   绘图区   图层 ...

  6. NX二次开发-Block UI C++界面关于 在Block UI中UF_initialize();和UF_terminate();的使用

    关于 在Block UI中UF_initialize();和UF_terminate();的使用 用Block UI作NX二次开发的时候,不需要在使用UFUN函数的时候加UF_initialize() ...

  7. NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))

    NX二次开发API里没有对EXCAL读写操作的相关函数,市面上有很多种方法去实现,比如UFUN调KF,ODBC,OLE(COM组件)等等.这里我是用的OLE(COM组件)方式去做的,这种在VC上创建的 ...

  8. NX二次开发-基于NX开发向导模板的NX对Excel读写操作(OLE方式(COM组件))

    在看这个博客前,请读者先去完整看完:NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))https://ufun-nxopen.blog.csdn.net/article ...

  9. NX二次开发-基于MFC界面对话框与NX交互的开发

    打开VS2013 点击新建,选择MFC DLL 点击确定 点下一步 什么都不改,直接点完成 进来之后先编译一下,看是否编译成功 打开项目属性,更改这几处 $(UGII_BASE_DIR)\ugopen ...

随机推荐

  1. json的解析和生成

    相比于xml,json的主要特点是数据小,解析速度快,但是描述性差. java中常见的json解析方法有Gson.Jackson.JSON.simple. 从解析速度上来看,Gson适合解析小数据量, ...

  2. killable thread的python实现

    python没有为内置的threading.Thread类提供一个kill接口,可以通过使用CPython API向线程抛出一个SystemExit异常来终止线程.如果线程没有被系统调用阻塞(slee ...

  3. C++ primer plus读书笔记——第3章 处理数据

    第3章 处理数据 1. C++对于变量名称的长度没有限制,ANSI C只保证名称中的前63个字符有意义(前63个字符相同的名称被认为是相同的,即使第64个字符不同). 2. 对类型名(int)使用si ...

  4. 克鲁斯卡尔(Kruskal)算法(代码)

    算法代码 C#代码 using System; using System.Linq; namespace Kruskal { class Program { static void Main(stri ...

  5. str.isdigit()可以判断变量是否为数字

    字符串.isdigit()可以判断变量是否为数字 是则输出True 不是则输出False 好像只能字符串

  6. Taro使用多线程Worker相关问题解决

    JavaScript 语言采用的是单线程模型,HTML5标准中的Web Worker ,为 JavaScript 创造多线程环境.微信小程序也有相应的Worker,同样具备多线程运行的能力 主页面中创 ...

  7. Docker网络,手把手教你如何实现容器网络相关知识

    Docker网络 理解Docker0 清空所有环境 测试 三个网络 #问题:docker 是如何处理容器网络访问的? [root@hsStudy /]# docker run -d -P --name ...

  8. [刷题] 1022 D进制的A+B (20分)

    思路 设t = A + B,将每一次t % d的结果保存在int类型的数组s中 然后将t / d,直到 t 等于 0为止 此时s中保存的就是 t 在 D 进制下每一位的结果的倒序 最后倒序输出s数组 ...

  9. [刷题] 70 Climbing Stairs

    要求 楼梯共有n个台阶,每次上一个台阶或两个台阶,一共有多少种上楼梯的方法? 示例 输入:n=3 [1,1,1],[1,2,],[2,1] 输出:n=3 实现 自顶向下(递归) 递归 1 class ...

  10. 使用ps、top、ps_mem命令找出Linux中的最大内存消耗过程

    使用ps.top.ps_mem命令找出Linux中的最大内存消耗过程 2020-02-08 16:06:59作者:自力稿源:云网牛站 您可能已经看到Linux系统多次消耗过多的内存,如果是这种情况,那 ...