NX二次开发-UF_MODL_intersect_objects获取两个对象的交点
NX9+VS2012
#include <uf.h>
#include <uf_curve.h>
#include <uf_modl.h>
#include <uf_ui.h>
UF_initialize();
//创建直线
UF_CURVE_line_t LineCoods1;
LineCoods1.start_point[] = 0.0;
LineCoods1.start_point[] = 0.0;
LineCoods1.start_point[] = 20.0;
LineCoods1.end_point[] = 100.0;
LineCoods1.end_point[] = 100.0;
LineCoods1.end_point[] = 100.0;
tag_t Line1Tag = NULL_TAG;
UF_CURVE_create_line(&LineCoods1, &Line1Tag);
UF_CURVE_line_t LineCoods2;
LineCoods2.start_point[] = 50.0;
LineCoods2.start_point[] = 50.0;
LineCoods2.start_point[] = 0.0;
LineCoods2.end_point[] = -50.0;
LineCoods2.end_point[] = -50.0;
LineCoods2.end_point[] = 100.0;
tag_t Line2Tag = NULL_TAG;
UF_CURVE_create_line(&LineCoods2, &Line2Tag);
int IntersectionsNum;
UF_MODL_intersect_info_p_t * Intersections;
UF_MODL_intersect_objects(Line1Tag, Line2Tag, 0.01, &IntersectionsNum, &Intersections);//输入两个对象tag,找交点
double IntersectionsPoint[];//交点坐标
for (int i = ; i < IntersectionsNum; i++)
{
int type = Intersections[i]->intersect_type;
if (type == UF_MODL_INTERSECT_POINT)
{
IntersectionsPoint[] = Intersections[i]->intersect.point.coords[];
IntersectionsPoint[] = Intersections[i]->intersect.point.coords[];
IntersectionsPoint[] = Intersections[i]->intersect.point.coords[];
}
}
//打印
char msg[];
sprintf_s(msg, "X坐标:%f\nY坐标:%f\nZ坐标:%f\n", IntersectionsPoint[], IntersectionsPoint[], IntersectionsPoint[]);
UF_UI_open_listing_window();
UF_UI_write_listing_window(msg);
//释放
UF_free(Intersections);
UF_terminate();

NX二次开发-UF_MODL_intersect_objects获取两个对象的交点的更多相关文章
- NX二次开发-UFUN求两个对象最短距离UF_MODL_ask_minimum_dist
NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_ui.h> UF_initialize() ...
- 【NX二次开发】获取两个面之间的所有面
已知两个蓝色面,使用遍历面的方法求紫色面.算法例子: 1 bool is_NeighborFace(tag_t tagFace1, tag_t tagFace2) 2 { 3 vector<ta ...
- NX二次开发-UFUN获取NX系统默认导出CGM的选项设置UF_CGM_ask_default_export_options
文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...
- NX二次开发-UFUN获取当前导出CGM选项设置UF_CGM_ask_session_export_options
文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...
- 【NX二次开发】获取指定矩阵标识的矩阵值
函数:UF_CSYS_ask_matrix_values () 函数说明:获取指定矩阵标识的矩阵值. 用法: #include <uf.h> #include <uf_csys.h& ...
- 【NX二次开发】获取当前鼠标选择的对象 UF_UI_ask_global_sel_object_list
先选择多个对象object,然后使用此函数获取选择的对象的tag,最后就可以使用object的一些函数了. ufun例子: extern DllExport void ufusr(char *parm ...
- NX二次开发-UFUN获取系统相关信息UF_ask_system_info
NX9+VS2012 #include <uf.h> UF_initialize(); UF_system_info_t Info; UF_ask_system_info(&Inf ...
- 【NX二次开发】 获取产品曲面上多个点对应的面的垂直矢量!
说明:选择一个产品面,选择面上的点,生成点在此面上的法线反向,生成直线.生成矢量的起点坐标,和矢量方向信息.可用于三坐标测量,如果需要可以自己编个插件用! 效果图: 源码: //----------- ...
- NX二次开发-UFUN获取直线的两个端点UF_CURVE_ask_line_data
NX9+VS2012 #include <uf.h> #include <uf_obj.h> #include <uf_ui.h> UF_initialize(); ...
随机推荐
- Qt【Could not parse stylesheet of object 0x7f7990 】
查找自己所写的 setstylesheet(); 然后看里面的括号标点什么的有没有多余的,删除即可解决.
- redis缓存的安装和使用(转)
redis缓存的安装和使用 转载自:http://www.open-open.com/lib/view/open1384091914836.html Redis介绍 Redis本质上一个Key/ ...
- 利用Python批量重命名一系列文件名杂乱的文件
假设目录下面有这样一系列命令杂乱的文件: OPENFOAM -TRAINING- PART- #1.pdf OPENFOAM - TRAINING- PART- #2.pdf OPENFOAM- TR ...
- Java中的可变参数和asList方法
可变参数: List.of
- vue 绑定 class 和 内联样式(style)
<div id="app31"> <!--多个属性 ,号隔开--> <!-- v-bind:style="{fontSize: fontSi ...
- 2018——2019 20165239Exp9 Web安全基础
Exp9 Web安全基础 一:基础问题回答 (1)SQL注入攻击原理,如何防御 •原理:它是利用现有应用程序,将恶意的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入恶意SQL语 ...
- Java-Class-C:com.github.pagehelper.PageHelper
ylbtech-Java-Class-C:com.github.pagehelper.PageHelper 1.返回顶部 2.返回顶部 1.1. import com.github.pagehel ...
- ArcGIS version not specified.
问题 在调用arcgis10 的ISurface用来取指定航线的地形时,这段代码在加载.dem时总是出错. 报: Fail to open raster dataset 解决方法: 在窗体中加载Map ...
- R语言中样本平衡的几种方法
R语言中样本平衡的几种方法 在对不平衡的分类数据集进行建模时,机器学习算法可能并不稳定,其预测结果甚至可能是有偏的,而预测精度此时也变得带有误导性.在不平衡的数据中,任一算法都没法从样本量少的类中获取 ...
- python使用threading获取线程函数返回值的实现方法
python使用threading获取线程函数返回值的实现方法 这篇文章主要介绍了python使用threading获取线程函数返回值的实现方法,需要的朋友可以参考下 threading用于提供线程相 ...