当前位置: 首页 > news >正文

NX二次开发点通过云配准获取相同体

先找到体的参考方向(这个参考方向对于相同体重合之后是相同的),这个时候我们的思路是三个不共线的点确定一个坐标系,然后和绝对方向求转换矩阵。然后获取体的所有边的几何中心,把这些点通过转换矩阵转换之后存起来,再和另外一个体转换之后的点数据作对比,在误差范围内配对点的数量等于体获取点的数量就是相同体(有的体没有边,只有面,那就通过大小和面重合来判断就行了,PK函数有判断面重合,我的PK专栏有写),具体实现代码如下:

//需要用到的结构体
struct BODYDATA
{tag_t body_tag;//体的tagtag_t ps_tag;//转PK的tagPK_EDGE_t* edge;//体的所有边PK_FACE_t* face;//体的所有面PK_EDGE_t first_edge;//体的第一条边PK_FACE_t first_face;//体的第一个面double transorigin[3];//最小包络框的中心,即转换原点double dirx[3];//体的转换方向double diry[3];//体的转换方向double MinBlockLen[3];//最小包络框的长宽高int edge_num;//边的数量int face_num;//面的数量int topol_num;//子类型的数量int num_reation;int ver_num;//顶点的数量BODYDATA()//初始化结构体数据{for(int i=0;i<3;i++){MinBlockLen[i]=0;}dirx[0]=1;dirx[1]=0;dirx[2]=0;diry[0]=0;diry[1]=1;diry[2]=0;body_tag=NULL;edge=NULL;face=NULL;edge_num=0;face_num=0;ver_num=0;num_reation=0;topol_num=0;}
}
void GetBodyData(BODYDATA& bodydata)
{PK_VERTEX_t vertiex;PK_BODY_ask_faces(bodydata.ps_tag,&bodydata.face_num,&bodydata.face);//PK获取体的所有面PK_BODY_ask_edges(bodydata.ps_tag,&bodydata.edge_num,&bodydata.edge);//PK获取体的所有边PK_BODY_ask_vertices(bodydata.ps_tag,&bodydata.ver_num,&vertiex);//pk或取体的所有顶点PK_BODY_ask_first_edge(bodydata.ps_tag,&bodydata.first_edge);//PK获取体的第一条边PK_BODY_ask_first_face(bodydata.ps_tag,&bodydata.first_face);//PK获取体的第一个面PK_BODY_ask_topology_o_t options;PK_BODY_ask_topology_o_m(options);PK_TOPOL_t* topols;PK_CLASS_t* class_type;int numrelation=0;int* parents;int* children;PK_TOPOL_sense_t* senses;
PK_BODY_ask_topology(bodydata.ps_tag,&options,&bodydata.topol_num,&topols,&class_type,&bodydata.num_reateion,&parents,&children,&senses);
}

 点云我写完了,代码有点多没时间敲,先放图片,将就看看,有时间我再放上去

 

有需要的话可以关注一下私信我

相关文章:

NX二次开发点通过云配准获取相同体

先找到体的参考方向&#xff08;这个参考方向对于相同体重合之后是相同的&#xff09;&#xff0c;这个时候我们的思路是三个不共线的点确定一个坐标系&#xff0c;然后和绝对方向求转换矩阵。然后获取体的所有边的几何中心&#xff0c;把这些点通过转换矩阵转换之后存起来&…...

5.4 Android BCC环境搭建(eadb版 下)

四,BCC使用示例 这里以tcplife为例,来显示TCP会话的生命周期和吞吐量统计。 4.1 进入/bcc/tools目录 root@localhost:/bcc# cd tools/ root@localhost:/bcc/tools# ls CMakeLists.txt javacalls.sh rubystat_example.txt argdist.py javacalls_e…...

【AI视野·今日Robot 机器人论文速览 第七十四期】Wed, 10 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Wed, 10 Jan 2024 Totally 17 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Robotics Papers Hold em and Fold em: Towards Human-scale, Feedback-Controlled Soft Origami Robots Authors Immanuel Ampomah Mensah, Je…...

服务端性能测试——性能测试工具JMeter-L1

第一遍没学懂&#xff0c;后续文章会更新~ 目录&#xff1a; 1.JMeter介绍与安装Meter简介JMeter安装2.JMeter的运行JMeter运行、界面功能简介3.使用代理服务器录制请求录制压测脚本&#xff08;一&#xff09;Web端脚本录制方法4.测试计划5.线程组6.控制器7.JMeter采样器/取…...

C# OpenCvSharp DNN FreeYOLO 目标检测

目录 效果 模型信息 项目 代码 下载 C# OpenCvSharp DNN FreeYOLO 目标检测 效果 模型信息 Inputs ------------------------- name&#xff1a;input tensor&#xff1a;Float[1, 3, 192, 320] --------------------------------------------------------------- Outp…...

U盘启动安装win11遇到缺少计算机所需的介质驱动程序问题

一、使用U盘制作启动盘遇到问题 下载了windows原版镜像&#xff0c;验证了md5&#xff0c;确保文件没有损坏。使用ultroiso制作u盘启动盘&#xff0c;开始安装后出现下图的报错&#xff1a; 在网上搜索解决方案&#xff0c;主要有以下几种&#xff1a; 安装的时候&#xff0c…...

正则表达式、文件访问(Python实现)

一、主要目的&#xff1a; 1.了解正则表达式的基本概念和处理过程。 2.掌握使用正则表达式模块 Re 进行字符串处理的方法。 3.了解文件的基本概念和类型。 4.掌握在 Python 中访问文本文件的方法和步骤。 5.熟悉在 Python 中访问二进制文件的方法和步骤。 二、主要内容和结…...

ES高级查询

ES中提供了一种强大的检索数据方式&#xff0c;这种检索方式称为Query DSL&#xff0c;这种方式的丰富查询语法让ES检索变得更强大&#xff0c;更简洁。 1.常见查询 1.1查询所有[match_all] match_all关键字&#xff1a;返回索引中的全部文档。 GET /products/_search { &…...

RT-Thread入门笔记6-空闲线程及两个常用的钩子函数

空闲线程 空闲线程是一个比较特殊的系统线程&#xff0c;它具备最低的优先级。当系统中无其他就绪线程可运行时&#xff0c;调度器将调度到空闲线程。 空闲线程还负责一些系统资源回收以及将一些处于关闭态的线程从线程调度列表中移除的动作 空闲线程在形式上是一个无线循环结…...

网络正常运行时间监控工具

正常运行时间是衡量系统可靠性的指标&#xff0c;表示为机器工作和可用时间的百分比。当提到 IT 网络时&#xff0c;正常运行时间是衡量网络设备、网站和其他服务的可用性的指标。网络正常运行时间通常以百分位数来衡量&#xff0c;例如“五个 9”&#xff0c;这意味着系统在 9…...

DEJA_VU3D - Cesium功能集 之 112-获取圆节点(1)

前言 编写这个专栏主要目的是对工作之中基于Cesium实现过的功能进行整合,有自己琢磨实现的,也有参考其他大神后整理实现的,初步算了算现在有差不多实现小140个左右的功能,后续也会不断的追加,所以暂时打算一周2-3更的样子来更新本专栏(每篇博文都会奉上完整demo的源代码…...

Matlab 建文件夹保存本次仿真图表数据和参数

文章目录 前言代码 前言 有时候跑的仿真参数非常多&#xff0c;保存结果的时候需要把仿真参数和数据一起保存&#xff0c;为方便起见&#xff0c;查了一下怎么建文件夹自动保存本次仿真图表数据和参数&#xff0c;再也不用担心忘记结果是什么参数跑出来的了~ 代码 % 定义变量…...

@JsonFormat与@DateTimeFormat

JsonFormat注解很好的解决了后端传给前端的格式&#xff0c;我们通过使用 JsonFormat可以很好的解决&#xff1a;后台到前台时间格式保持一致的问题 其次&#xff0c;另一个问题是&#xff0c;我们在使用WEB服务的时&#xff0c;可 能会需要用到&#xff0c;传入时间给后台&am…...

半监督学习 - 自训练(Self-training)

什么是机器学习 半监督学习中的自训练&#xff08;Self-training&#xff09;是一种利用已标记数据和未标记数据进行模型训练的方法。以下是自训练的详细教程&#xff1a; 步骤一&#xff1a;准备数据集 标记数据集&#xff1a; 收集和标记一小部分数据&#xff0c;用于有监…...

outlook邮件群发单显技巧?群发怎么单显?

outlook邮件群发单显如何设置&#xff1f;QQ邮箱怎么群发单显&#xff1f; 在群发邮件时&#xff0c;如何让每个收件人只看到自己的名字&#xff0c;而不是其他人的名字&#xff0c;这就涉及到所谓的“单显”技巧。下面蜂邮EDM就为大家揭秘Outlook邮件群发单显的奥秘。 outlo…...

【REST2SQL】07 GO 操作 Mysql 数据库

【REST2SQL】01RDB关系型数据库REST初设计 【REST2SQL】02 GO连接Oracle数据库 【REST2SQL】03 GO读取JSON文件 【REST2SQL】04 REST2SQL第一版Oracle版实现 【REST2SQL】05 GO 操作 达梦 数据库 【REST2SQL】06 GO 跨包接口重构代码 MySQL是一个关系型数据库管理系统&#xf…...

[UI5] ODATA V4中的CRUD

文章目录 前言一、Read二、Create三、Update四、Delete 前言 ODATA V4在CRUD方面与V2截然不同。 这篇文章简单介绍V4中是如何进行CRUD操作 一、Read Model不再有read方法&#xff0c; 一般是把Path绑定到View中进行读取&#xff0c; 如果需要额外的读取数据&#xff0c;可使用…...

js封装根据年月日获取星座效果demo(整理)

//根据年月日获取星座 function getZodiacSign(dateString) {// 用法:const dateStr 2024-01-11;// const zodiacSign getZodiacSign(dateStr);const date new Date(dateString);const month date.getMonth() 1;const day date.getDate();if ((month 1 && day &…...

Vue.js设计与实现阅读-2

Vue.js设计与实现阅读-2 1、前言2、框架设计的核心要素2、1 提升用户体验2、2 控制代码体积2、3 Tree-Shaking2、4 特性开关2、5 错误处理 1、前言 上一篇我们了解到了 命令式和声明式的区别&#xff0c;前者关注过程&#xff0c;后者关注结果了解了虚拟dom存在的意义&#x…...

GEM5 McPAT教程:源代码解读McPAT NoC功耗 arbiter部分

简介 McPAT用的很多,大多只是写个python或perl脚本替换xml文件.没有深入到为什么xml脚本这些值要换,以及这写填进去xml的值是怎么影响计算的.本问从源代码一步步读下来,解释每一步是如何计算的. power 构成: 动态功耗其实更相关于energy McPAT的power 核心是两类,动态和静态…...

使用组合框QComboBox模拟购物车

1.组合框: QComboBox 组合框&#xff1a;QComboBox 用于存放一些列表项 实例化 //实例化QComboBox* comboBox new QComboBox(this);1.1 代码实现 1.1.1 组合框的基本函数 QComboBox dialog.cpp #include "dialog.h" #include "ui_dialog.h"Dialog::Dialog…...

云服务器十大服务商——云服务器哪家好用

云服务器哪家便宜&#xff1f;2024最新整理你要的都在这&#xff01;头部云厂商阿里云、腾讯云、华为云、京东云、UCloud等都在降价&#xff0c;阿腾云atengyun.com分享2024年云服务器租用价格给你惊喜&#xff01; 便宜云服务器阿里云腾讯云华为云 2024年便宜云服务器汇总&…...

SQL DML

# DML—添加数据 1.给指定字段添加数据 INSERT INTO表名(字段名1,字段名2,...)VALUES(值1&#xff0c;值2...); 2.给全部字段添加数据 INSERT INTO表名VALUES(值1&#xff0c;值2,...); 3.批量添加数据 INSERT INTO表名(字段名1,字段名2,...)VALUES(值1&#xff0c;值2..…...

MySQL--基础篇

这里写目录标题 总览MySQl各个阶段基础篇总览 MySQL概述数据库相关概念查看本机MySQL版本号启停mysql打开windows服务管理windows命令行启停 连接mysql客户端mysql运行逻辑数据模型关系型数据库 总结 SQL总览SQL通用语法SQL语句分类DDL数据库操作表操作查询表创建表结构数据类型…...

[VUE]5-TypeScript

目录 1 TypeScript 介绍2、安装3、快速上手4、TypeScript 常用类型4.1 类型标注的位置4.2 字符串、数字、布尔类型4.3 字面量类型4.4 ⭐interface 类型4.5 class 类型 ​&#x1f343;作者介绍&#xff1a;双非本科大三网络工程专业在读&#xff0c;阿里云专家博主&#xff0c;…...

Linux指令(一)

今天来学习Linux的一些基本的指令。 今天要学习的指令有ls&#xff0c;pwd&#xff0c;mkdir&#xff0c;cd&#xff0c;touch&#xff0c;rm等。 指令的格式 在Linux中&#xff0c;指令的语法通常遵循以下格式&#xff1a; command [options] [arguments] command 是要执行…...

C语言中的回文素数

任意的整数&#xff0c;当从左向右读与从右向左读是相同的&#xff0c;且为素数时&#xff0c;称为回文素数。求 1000 以内的所有回文素数。 算法思想 实例的重点是判断一个数是否是回文素数。要输出 1000 以内的所有回文素数&#xff0c;首先应判断这个数是否是素数&#xf…...

前端生成pdf之html2canvas+jsPDF,以及解决图片不显示bug

前端如何生成pdf 开发背景&#xff1a; 需要给页面中相应的内容生成pdf&#xff0c;查找文档后发现要用到两个插件。html2canvas 以及 jsPDF html2canvas 给dom结构转化为canvas&#xff0c;然后生成各种类型图片jsPDF 把canvas 生成的图片url 转化为pdf // 插入图片 pdf.addI…...

PHP常用符号和函数

// 单行注解 /* */ 多行注解 引号的使用 ’ ’ 单引号,没有任何意义,不经任何处理直接拿过来; ” “双引号,php动态处理然后输出,一般用于变量. 变量形态: 一种是True 即 真的; 另一种是False 即假的 常见变量形态: string 字串(数字\汉字\等等) integer 整数(1、2、…...

C#,入门教程(12)——数组及数组使用的基础知识

上一篇&#xff1a; C#&#xff0c;入门教程(11)——枚举&#xff08;Enum&#xff09;的基础知识和高级应用https://blog.csdn.net/beijinghorn/article/details/123917587 数组是一种数据集合&#xff0c;是一组完全相同的、按顺序存放的数据。 需要记住数组的几个特征&…...

wordpress4.7.1漏洞/推广普通话图片

基于&#xff1a;【狂神说Java】SpringMVC最新教程IDEA版通俗易懂 目录1 web.xml配置2 springmvc-servlet配置3 具体Controller类4 jsp5 总结1 web.xml配置 <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://xmlns.jcp.org/x…...

做网站 做好把我踢开/某网站seo诊断分析

Linux系统中的硬件问题如何排查&#xff1f;(2) 2013-03-27 10:32 核子可乐译 51CTO.com 字号&#xff1a;T | T在Linux系统中&#xff0c;对于硬件故障问题的排查可能是计算机管理领域最棘手的工作&#xff0c;即使是经验相当丰富的用户有时也会遇上自己搞不定的状况&#xff…...

公司做卖网站有前景吗/百度怎么注册自己的店铺

在 MacOS 上安装最新版的 MySQL 有三种方法&#xff1a;使用 Docker 安装&#xff1b;使用 Homebrew 运行 brew install mysql 安装&#xff1b;使用安装包安装。我们本文将采用最常规的方式&#xff0c;也就是安装包的方式进行安装&#xff0c;这也是我推荐给新手的安装方式&a…...

青海做网站找谁/北京seo服务商

本文最初发表在DigitalOcean的公共知识库中。我在这里对它进行了一些较小的编辑。介绍Python 3有许多内置的数据结构&#xff0c;包括元组、字典和列表。数据结构为我们提供了一种组织和存储数据的方法。collections模块能够帮助我们高效地填充和操作数据结构。在本教程中&…...

网站设计需要哪些技能/武汉网站seo推广

以前不知道&#xff0c;现在用crosstool-ng编译了5.2.0版本的arm-linu-gcc&#xff0c;再编译之前的linux-3.15.4发现会提示include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directoryls include/linux/compiler-gcc* 就会得到incl…...

小程序开发费用明细怎么填/seo网站推广免费

现在回头看看毕设做的安卓程序&#xff0c;不论从深度还是广度上对安卓开发都不够深入&#xff0c;这次从头复习&#xff0c;恰好遇到了一本让人欲罢不能的好书。 每一个安卓开发者都是从activity开始入门的&#xff0c;先整理一篇关于activity的知识点。 一、创建activity的步…...