NX/UG二次开发—CAM—一些外挂刀路选择方案对比

在做一刀轨编辑工具时,大家希望实现类似NX刀轨编辑中选择刀路的功能,以下我罗列了几种目前外挂里使用的几种方式,自己也做了一些对比:

涉及一些运算时间,参考电脑配置(内存32G,CPUi9-12950HX)

1、刀路转成曲线,使用曲线或类选择器:

这个方法相对可实现性比较强,操作安全,都可以采用开放的API,但对于刀路遍历是在NX11之后的版本提供的,因此低版本还需要使用dll导出函数去做迭代和编辑。

其次,对于大刀路,几十万或上百万根刀路,使用UFUN函数转换成曲线,非常慢。测试30万根刀路用UFUN创建,大约38s左右,包括设置曲线颜色。采用PK函数创建,创建大约2s,显示和设置大约6s,总计9s左右,速度勉强接受。

!!!注意PK创建曲线,直线的区间是长度,圆弧的区间是角度。

2、创建UF_machining_pathindex_type对象,使用类选择器            

使用PTHDSP_create_index创建的对象,然后将类选择控件设置选择UF_machining_pathindex_type类型,然后可以实现选择刀路。如果PTHDSP_create_index中的参数采用单根创建,对于刀轨数量多的程序速度依然很慢,但会比UFUN函数快很多。class UGS::CamUI::PathDisplay创建刀路很快,组数自定义,如果设置成1,速度也很慢,用class UGS::CamUI::PathDisplay创建显示的刀路,对于直线与圆弧相切的刀路,会默认成一根刀路进行选择,无法拆分。这种存在一个问题,如果优先选择程序,再打开对话框创建index,类选择控件会出现选择不灵敏的问题。

3、使用刀路选择控件UGS::CamUI::PathSelection

http://t.csdnimg.cn/k0dHaicon-default.png?t=N7T8http://t.csdnimg.cn/k0dHa

参考上面连接,需要将控件先配置到block ui模块,然后按正常制作对话框流程制作。这个对话框稍微特殊,需要用代码初始化一些属性,否则无法使用,具体属性参考如下:

UGS::CamUI::PathSelection

"m_pathOwner" "m_selectHeadIndex" "m_toolPath" "m_appendMode"

UGS::CamUI::PathDisplay

"m_toolPath"

此控件,官方资料几乎为零,很多都是对象的内存传参,使用机制和方法需要不断摸索,导致各种BUG不断。其次,在创建显示刀路,内部一般默认500根刀路一组,刀路选择控件可以自动按单根刀路选择,导致选择多根后,选择控件显示的数量与实际发生不一致。

   以上三种方案,是目前我结合一些外挂测试的的几种方法,总体来说,推荐第一种,虽然牺牲了一些速度,但在创建之后,速度和安全性均比较稳定。第二中方案和第三种就属于单纯炫技操作了,自己摸索,不推荐使用,还需结合工具开发周期和使用目的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/808510.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PCB封装库的创建及引入

法1 1.创建lib 2.放置 找到你想要画的封装的器件的数据手册了解相关信息。 直插式选Multi-layer 贴片选Top-layer 焊盘尺寸 焊盘空尺寸 法2 嘉立创eda直接copy 再嘉立创中找到你想要的pcb,导出为ad 然后再ad中找到我们导出的文件 复制他 然后再库中粘贴 pcb库…

sky光遇加速器推荐 steam光遇低延迟稳定的加速器推荐

在光遇游戏中,子民指的就是游戏中的人影,玩家在游戏里面需要找到蓝色人影并触碰它,然后跟随光点,这样的话我们就可以看到一个深灰色的石像,点燃石像上的火苗,它就会教我们一个新的互动姿势。玩家找到黄色人…

Python中Python-docx 包的run介绍

先对run做一个简单地介绍。每个paragraph对象都包含一个run对象的列表。举例: 这是一个简短的段落。 from docx import Document doc Document("1.docx") #上面这段话保存在1.docx中 print("这一段的run个数是:",len(doc.paragr…

《一》Qt的概述

1.1 什么是Qt Qt是一个跨平台的C图形用户界面应用程序框架。它为应用程序开发者提供建立图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。 1.2 Qt的发展史 1991年 Qt最早由芬兰奇趣科技开发 1996年 进入商业领域&#x…

未来课堂革命:OpenAI 发布 ChatGPT 使用指南,探索生成式 AI 如何重塑教育景观

随着新学期的来临,众多初登教师舞台的 00 后们,也完成了他们的第一个教师身份下的暑期生活。 对于开学的抵触情绪,不仅学生们普遍存在,许多 00 后的新晋教师们也同样感同身受。某种程度上,这些抗拒上班的年轻教师群体…

Mac上的最佳3D建模工具-犀牛Rhinoceros 8 for Mac v8.6.24101.05002完美兼容激活

Rhino 8是一款计算机辅助设计(CAD)和三维建模软件,由美国公司McNeel & Associates开发。它是Rhino系列的最新版本,用于创建、编辑、分析、渲染和动画三维模型。 以下是Rhino 8的一些主要特点和功能: 1. **强大的…

Spring Boot与Vue联手打造智能化学生选课平台

末尾获取源码作者介绍:大厂全栈码农|毕设实战开发,专注于大学生项目实战开发、讲解和毕业答疑辅导。 更多项目:CSDN主页YAML墨韵 学如逆水行舟,不进则退。学习如赶路,不能慢一步。 目录 一、项目简介 二、开发技术与…

Scaffold-GS 代码阅读笔记

1. 系统启动部分 使用 python 中的 parser 库 为配置系统的参数设定, 和3DGS 类似,并且使用safe_state(args.quiet) 函数 为每一次的 log 输出加上对应的 时间戳 ## 配置参数的设定lp ModelParams(parser)op OptimizationParams(parser)pp PipelineParams(pars…

分布式向量数据库-安装部署

下载 GitHub - pgvector/pgvector: Open-source vector similarity search for Postgres 源码编译 ##文件解压缩 unzip pgvector-0.6.2.zip ##编译 make && make install 功能验证 #安装扩展CREATE EXTENSION vector;#创建测试表CREATE TABLE items (id bigseri…

【算法】哈希表

个人主页 : zxctscl 如有转载请先通知 题目 1. 1. 两数之和1.1 分析1.2 代码 2. 面试题 01.02. 判定是否互为字符重排2.1 分析2.2 代码 3. 217. 存在重复元素3.1 分析3.2 代码 4. 219. 存在重复元素 II4.1 分析4.2 代码 5. 49. 字母异位词分组5.1 分析5.2 代码 1. 1…

Gateway的简单介绍和使用

1、Gateway简介: Gateway 是一种 API 网关(API Gateway)技术,它作为微服务架构中的关键组件,负责为系统的外部请求与内部服务之间提供统一的接入点。Spring Cloud Gateway 是基于 Spring 生态系统实现的一个高性能、易…

2024.4.11

1.思维导图 2.指针形式验证大小端存储 #include<myhead.h>int main(int argc, const char *argv[]) {int num 0x12345678;char* ptr (char *)&num;if(*ptr 0x12){printf("big endian\n");}else if(*ptr 0x78){printf("little endian\n");}r…

MINI2440 开发板 给他干出来了

环境是ubuntu14.04。不要问我为什么是这个版本&#xff0c;因为之前的ubuntu12.04 环境干不出来&#xff0c;你去试试就知道了&#xff01;各种资源包下载不下来。 输入启动参数&#xff1a; 进入MINI2440&#xff1a;别说心里一万个开心&#xff0c;启动完成&#xff0c;输入p…

【电子通识】热风枪的结构与使用方法

热风枪的结构 热风枪是专门用来拆焊、焊接贴片元器件和贴片集成电路的焊接工具&#xff0c;它主要由主机和热风焊枪两大部分构成。 热风枪主要有电源开关、风速设置、温度设置、热风连接等部件组成。根据不同品牌和价位的热风枪&#xff0c;有一些功能齐全的也集成了烙铁功能。…

负荷预测 | Matlab基于TCN-LSTM-Attention单输入单输出时间序列多步预测

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.负荷预测 | Matlab基于TCN-LSTM-Attention单输入单输出时间序列多步预测&#xff1b; 2.单变量时间序列数据集&#xff0c;采用前12个时刻预测未来96个时刻的数据&#xff1b; 3.excel数据方便替换&#xff0c;运行…

【鸿蒙开发】系统组件Column

Column组件 Column沿垂直方向布局的容器。 接口&#xff1a; Column(value?: {space?: string | number}) 参数&#xff1a; 参数名 参数类型 必填 参数描述 space string | number 否 纵向布局元素垂直方向间距。 从API version 9开始&#xff0c;space为负数或者…

Mongodb入门--头歌实验MongoDB 之滴滴、摩拜都在用的索引

MongoDB 常用于大数据的存储&#xff0c;在庞大的数据中查询出我们所要的信息&#xff0c;如果使用普通查询方法&#xff0c;遍历所有文档查询&#xff0c;花费的时间太久了。 假设现在有个集合 person&#xff0c;查询命令&#xff1a;db.person.find( {age: 18} )&#xff0…

libVLC 视频窗口上叠加透明窗口

很多时候&#xff0c;我们需要在界面上画一些三角形、文字等之类的东西&#xff0c;我们之需要重写paintEvent方法&#xff0c;比如像这样 void Widget::paintEvent(QPaintEvent *event) 以下就是重写的代码。 void Widget::paintEvent(QPaintEvent *event) {//创建QPainte…

振动信号频域图绘制函数(python版)

在实际应用中&#xff0c;不免会看时域图和频域图&#xff0c;封装了绘制时域图和频域图程序&#xff0c;方便调用 ## 导入包 from matplotlib import pyplot as plt from matplotlib import rcParams import numpy as np import pandas as pdconfig {"font.family"…

创新指南|战略衡量的增长组织:用人工智能增强关键绩效指标(KPI)

传统的关键绩效指标 (KPI)越来越无法提供领导者取得成功所需的信息和见解。他们在跟踪进展、协调人员和流程、确定资源优先级以及推进问责制方面存在不足。本文是 2024 年第一份麻省理工学院 SMR - BCG 人工智能和商业战略全球高管学习和研究项目的调查结果——人工智能和业务战…