1. NX9+VS2012
  2.  
  3. #include <uf.h>
  4. #include <uf_ui.h>
  5. #include <uf_vec.h>
  6. #include <uf_curve.h>
  7.  
  8. UF_initialize();
  9.  
  10. //创建直线1
  11. UF_CURVE_line_t LineCoords1;
  12. LineCoords1.start_point[] = 0.0;
  13. LineCoords1.start_point[] = 0.0;
  14. LineCoords1.start_point[] = 0.0;
  15. LineCoords1.end_point[] = 0.0;
  16. LineCoords1.end_point[] = 100.0;
  17. LineCoords1.end_point[] = 0.0;
  18. tag_t Line1Tag = NULL_TAG;
  19. UF_CURVE_create_line(&LineCoords1, &Line1Tag);
  20.  
  21. //创建直线2
  22. UF_CURVE_line_t LineCoords2;
  23. LineCoords2.start_point[] = 0.0;
  24. LineCoords2.start_point[] = 0.0;
  25. LineCoords2.start_point[] = 0.0;
  26. LineCoords2.end_point[] = 110.0;
  27. LineCoords2.end_point[] = 80.0;
  28. LineCoords2.end_point[] = 0.0;
  29. tag_t Line2Tag = NULL_TAG;
  30. UF_CURVE_create_line(&LineCoords2, &Line2Tag);
  31.  
  32. //直线1的向量方向,终点减起点
  33. double Vec1[] = {LineCoords1.end_point[]-LineCoords1.start_point[], LineCoords1.end_point[]-LineCoords1.start_point[], LineCoords1.end_point[]-LineCoords1.start_point[]};
  34.  
  35. //直线2的向量方向,终点减起点
  36. double Vec2[] = {LineCoords2.end_point[]-LineCoords2.start_point[], LineCoords2.end_point[]-LineCoords2.start_point[], LineCoords2.end_point[]-LineCoords2.start_point[]};
  37.  
  38. //求两个向量的叉乘
  39. double CrossProduct[];
  40. UF_VEC3_cross(Vec1, Vec2, CrossProduct);
  41.  
  42. //已知两个向量求夹角(输出的是弧度)
  43. double Angle;
  44. UF_VEC3_angle_between(Vec1, Vec2, CrossProduct, &Angle);
  45.  
  46. //打印
  47. char msg[];
  48. sprintf(msg, "%f",RADEG*Angle );//角度=180度/π*弧度,或者用宏定义RADEG*弧度
  49. uc1601(msg, );
  50.  
  51. UF_terminate();

NX二次开发-UFUN求两个向量的叉乘UF_VEC3_cross的更多相关文章

  1. NX二次开发-UFUN求两个对象最短距离UF_MODL_ask_minimum_dist

    NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_ui.h> UF_initialize() ...

  2. NX二次开发-UFUN求对象的最大边界框UF_MODL_ask_bounding_box

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

  3. NX二次开发-UFUN已知两个向量方向求夹角角度UF_VEC3_angle_between

    NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_vec.h> #include <uf_ ...

  4. NX二次开发-Ufun API Example

    UF公共类型 UF_begin_timer计时函数 https://www.cnblogs.com/nxopen2018/p/10957135.html UF_end_timer计时函数 https: ...

  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. 分布式锁实现(一):Redis

    前言 单机环境下我们可以通过JAVA的Synchronized和Lock来实现进程内部的锁,但是随着分布式应用和集群环境的出现,系统资源的竞争从单进程多线程的竞争变成了多进程的竞争,这时候就需要分布式 ...

  2. 序列递推——cf1204E(好题)

    /* 显然用dp[i][j]来表示i个1,j个-1的结果 dp[i][j]由dp[i-1][j]和dp[i][j-1]转移而来 即dp[i][j]对应的所有序列,都可以由dp[i-1][j]在前面加一 ...

  3. NX二次开发-BlockUI对话框嵌套MFC对话框制作进度条

    半年前在一些QQ群看到有大神NX二次开发做出了进度条,那个时候我还不会弄,也不知道怎么弄得,后来断断续续得研究了一下,直到今天我把它做出来了.内心还是很喜悦的!回想自己这两年当初从没公司肯给我做NX二 ...

  4. shellcode加密与解密

    // Encoder.cpp : Defines the entry point for the console application.// #include "stdafx.h" ...

  5. P1493 分梨子

    P1493 分梨子 题目描述 Finley家的院子里有棵梨树,最近收获了许多梨子.于是,Finley决定挑出一些梨子,分给幼稚园的宝宝们.可是梨子大小味道都不太一样,一定要尽量挑选那些差不多的梨子分给 ...

  6. QT--QSocketNotifier类介绍

      QSocketNotifier 用来监听系统文件操作,将操作转换为Qt事件进入系统的消息循环队列.并调用预先设置的事件接受函数,处理事件. 一共存在3类事件:read,write,exceptio ...

  7. mac 堡垒机传文件

    安装zssh brew install zssh 上传文件 zssh登陆上跳板机 在跳板机上ssh到相应服务器 在服务器上cd至相应要放上传文件的目录 rz -bye //在远程服务器的相应目录上运行 ...

  8. 浅谈学习selenium的一些知识点的总结

    学习自动化测试,先得学习一门语言.自动化对语言要求掌握的程度不深,但必须得会基本的入门语法. 我学习的是python2,简单,易懂,上手快. 每天敲就是了. 我的学习路径是: 先学习一段时间pytho ...

  9. Airbnb React/JSX 编码规范

    Airbnb React/JSX 编码规范 算是最合理的React/JSX编码规范之一了 内容目录 基本规范 Class vs React.createClass vs stateless 命名 声明 ...

  10. CUDA编程入门笔记

    1.线程块(block)是独立执行的,在执行的过程中线程块之间互不干扰,因此它们的执行顺序是随机的 2.同一线程块中的线程可以通过访问共享内存(shared memory)或者通过同步函数__sync ...