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自动化批量重命名与整理文件系统

《Python自动化批量重命名与整理文件系统》这篇文章主要为大家详细介绍了如何使用Python实现一个强大的文件批量重命名与整理工具,帮助开发者自动化这一繁琐过程,有需要的小伙伴可以了解下... 目录简介环境准备项目功能概述代码详细解析1. 导入必要的库2. 配置参数设置3. 创建日志系统4. 安全文件名处

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

Java如何从Redis中批量读取数据

《Java如何从Redis中批量读取数据》:本文主要介绍Java如何从Redis中批量读取数据的情况,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一.背景概述二.分析与实现三.发现问题与屡次改进3.1.QPS过高而且波动很大3.2.程序中断,抛异常3.3.内存消

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

MySQL数据库实现批量表分区完整示例

《MySQL数据库实现批量表分区完整示例》通俗地讲表分区是将一大表,根据条件分割成若干个小表,:本文主要介绍MySQL数据库实现批量表分区的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录一、表分区条件二、常规表和分区表的区别三、表分区的创建四、将既有表转换分区表脚本五、批量转换表为分区

使用Java将实体类转换为JSON并输出到控制台的完整过程

《使用Java将实体类转换为JSON并输出到控制台的完整过程》在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用JSON格式,用Java将实体类转换为J... 在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用j

Oracle 通过 ROWID 批量更新表的方法

《Oracle通过ROWID批量更新表的方法》在Oracle数据库中,使用ROWID进行批量更新是一种高效的更新方法,因为它直接定位到物理行位置,避免了通过索引查找的开销,下面给大家介绍Orac... 目录oracle 通过 ROWID 批量更新表ROWID 基本概念性能优化建议性能UoTrFPH优化建议注