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

相关文章

Jmeter如何向数据库批量插入数据

《Jmeter如何向数据库批量插入数据》:本文主要介绍Jmeter如何向数据库批量插入数据方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Jmeter向数据库批量插入数据Jmeter向mysql数据库中插入数据的入门操作接下来做一下各个元件的配置总结Jmete

Python批量调整Word文档中的字体、段落间距及格式

《Python批量调整Word文档中的字体、段落间距及格式》这篇文章主要为大家详细介绍了如何使用Python的docx库来批量处理Word文档,包括设置首行缩进、字体、字号、行间距、段落对齐方式等,需... 目录关键代码一级标题设置  正文设置完整代码运行结果最近关于批处理格式的问题我查了很多资料,但是都没

通过Python脚本批量复制并规范命名视频文件

《通过Python脚本批量复制并规范命名视频文件》本文介绍了如何通过Python脚本批量复制并规范命名视频文件,实现自动补齐数字编号、保留原始文件、智能识别有效文件等功能,听过代码示例介绍的非常详细,... 目录一、问题场景:杂乱的视频文件名二、完整解决方案三、关键技术解析1. 智能路径处理2. 精准文件名

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring

C# winform操作CSV格式文件

《C#winform操作CSV格式文件》这篇文章主要为大家详细介绍了C#在winform中的表格操作CSV格式文件的相关实例,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录实例一实例效果实现代码效果展示实例二实例效果完整代码实例一实例效果当在winform界面中点击读取按钮时 将csv中

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

Rust格式化输出方式总结

《Rust格式化输出方式总结》Rust提供了强大的格式化输出功能,通过std::fmt模块和相关的宏来实现,主要的输出宏包括println!和format!,它们支持多种格式化占位符,如{}、{:?}... 目录Rust格式化输出方式基本的格式化输出格式化占位符Format 特性总结Rust格式化输出方式

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应