NXopen 批量输出装配体零件几何模型的STEP和IGS格式文件

2024-04-20 17:12

本文主要是介绍NXopen 批量输出装配体零件几何模型的STEP和IGS格式文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

通过对话框指定文件夹,输出该文件夹下PARt文件为STEP和IGS格式文件

	//头文件#include <uf_modl_primitives.h>#include <NXOpen/Session.hxx>#include <NXOpen/PartCollection.hxx>#include <NXOpen/ListingWindow.hxx>#include <uf_ui.h>#include <NXOpen/Assemblies_ComponentAssembly.hxx>#include <io.h> #include <fstream>#include <string>#include <string>#include <vector>#include <iostream>#include <stdio.h>//主程序NXOpen::Session* theSession = NXOpen::Session::GetSession();NXOpen::Part* workPart(theSession->Parts()->Work());NXOpen::Part* displayPart(theSession->Parts()->Display());NXOpen::NXString NXpathi = nativeFolderBrowser0->Path();const char* pathi = NXpathi.GetLocaleText();const char* szTemp1 = pathi;const char* szTemp2 = "*.prt";const char* path = NULL;string temp = string(szTemp1) + string(szTemp2);path = temp.c_str();//result即为合并后的结果_finddata64i32_t fileInfo;intptr_t hFile = _findfirst(path, &fileInfo);vector<string> files;if (hFile == -1) {files.clear();return -1;}do{files.push_back(fileInfo.name);} while (_findnext(hFile, &fileInfo) == 0);vector<string> partfiles;for (int i = 0; i < files.size(); i++){string PartName = (string)files[i];PartName = szTemp1 + PartName;partfiles.push_back(PartName);}NXOpen::NXString Spath = nativeFolderBrowser01->Path();const char* Spathchar = Spath.GetLocaleText();theSession->ListingWindow()->WriteLine(Spathchar);for (int i = 0; i < partfiles.size(); i++){NXOpen::BasePart* basePart1;NXOpen::PartLoadStatus* partLoadStatus1;basePart1 = theSession->Parts()->OpenActiveDisplay(partfiles[i], NXOpen::DisplayPartOptionAllowAdditional, &partLoadStatus1);NXOpen::Part* part2 = theSession->Parts()->Work();delete partLoadStatus1;theSession->ApplicationSwitchImmediate("UG_APP_MODELING");Assemblies::ComponentAssembly* compAssy = part2->ComponentAssembly();Assemblies::Component* rootcomponent = compAssy->RootComponent();if (rootcomponent == NULL){NXOpen::NXString NXString2 = part2->JournalIdentifier();const char* Spathi = NXString2.GetLocaleText();if (toggle0->Value() == 1){const char* pathstep = ".stp";const char* path22 = NULL;string temp11 = string(Spathchar) + string(Spathi) + string(pathstep);path22 = temp11.c_str();//result即为合并后的结果theSession->ListingWindow()->WriteLine(path22);NXOpen::PartSaveStatus* partSaveStatus1;partSaveStatus1 = part2->SaveAs(NXOpen::NXString(path22, NXOpen::NXString::UTF8));delete partSaveStatus1;}if (toggle01->Value() == 1){const char* pathigs = ".igs";const char* path44 = NULL;string temp44 = string(Spathchar) + string(Spathi) + string(pathigs);path44 = temp44.c_str();theSession->ListingWindow()->WriteLine(path44);NXOpen::PartSaveStatus* partSaveStatus2;partSaveStatus2 = part2->SaveAs(path44);delete partSaveStatus2;}}else{}}

在这里插入图片描述

这篇关于NXopen 批量输出装配体零件几何模型的STEP和IGS格式文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/920846

相关文章

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

Python批量替换多个Word文档的多个关键字的方法

《Python批量替换多个Word文档的多个关键字的方法》有时,我们手头上有多个Excel或者Word文件,但是领导突然要求对某几个术语进行批量的修改,你是不是有要崩溃的感觉,所以本文给大家介绍了Py... 目录工具准备先梳理一下思路神奇代码来啦!代码详解激动人心的测试结语嘿,各位小伙伴们,大家好!有没有想

java -jar example.jar 产生的日志输出到指定文件的方法

《java-jarexample.jar产生的日志输出到指定文件的方法》这篇文章给大家介绍java-jarexample.jar产生的日志输出到指定文件的方法,本文给大家介绍的非常详细,对大家的... 目录怎么让 Java -jar example.jar 产生的日志输出到指定文件一、方法1:使用重定向1、

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库