首页 > 其他分享 >NX二次开发:切换应用模块

NX二次开发:切换应用模块

时间:2024-03-27 16:00:48浏览次数:28  
标签:case break SwitchApplication APP NX 模块 二次开发 UG

一、概述

        最近将唐工的教学视频基本上看完了,收获很大;昨天NX二次开发学习群中,有小伙伴说在从建模模块切换到加工模块是说有问题,我尝试了一下录制的代码,确实有BUG,调试了一下,找到了一种方法,做以下笔记,防止忘记。最近感觉学的内容有点多,不知怎么回事总是记忆不清。

二、切换模块函数的封装

/***************************************************************************************
		**SwitchApplicationModules切换应用模块。
		**1,没有模块;2,建模模块;3,外观造型设计;4、制图模块;5、加工模块;6、加工检测模块;
		**7、加工生产线设计;8、运动仿真模块;9、PCB 设计-挠性印制电路设计;10,钣金模块
		****************************************************************************************/
static string SwitchApplicationModules(const int &Value);



/*********************************************************************************************
**Function:				SwitchApplicationModules切换应用模块
**FunctionType:			int
**double Value			返回应用模块的标识
**tag_t BodyOrFaceTag	体或者面的TAG值
**SeeAlso				UF_APP_NONE = 0;			//没有应用模块
						UG_APP_MODELING = 40;		//建模模块Ctrl+M
						UG_APP_STUDIO = 88;			//外观造型设计 Ctrl+Alt+S
						UG_APP_DRAFTING = 1;		//制图模块Ctrl+Shift+D
						UG_APP_MANUFACTURING = 16;	//加工模块Ctrl+Alt+M
						UG_APP_INSPECTION = 93;		//加工检测模块Ctrl+Alt+I
						APP_LINE_DESIGNER			//加工生产线设计Ctrl+Shift+L
						UG_APP_MECHANISMS = 14		//运动仿真模块Ctrl+Alt+K
						UG_APP_FLEX_PCB = 92;		//PCB 设计-挠性印制电路设计Ctrl+Alt+P
						UG_APP_SBSM = 85;			//钣金模块Ctrl+Shift+M
************************************************************************************************/
string LiangFuns::UserUFBaseFun::SwitchApplicationModules(const int &Value)
{
	string SwitchApplication;
	switch (Value)
	{
		case 1:
			SwitchApplication = "UF_APP_NONE";
			break;
		case 2:
			SwitchApplication = "UG_APP_MODELING";
			break;
		case 3:
			SwitchApplication = "UG_APP_STUDIO";
			break;
		case 4:
			SwitchApplication = "UG_APP_DRAFTING";
			break;
		case 5:
			SwitchApplication = "UG_APP_MANUFACTURING";
			break;
		case 6:
			SwitchApplication = "UG_APP_INSPECTION";
			break;
		case 7:
			SwitchApplication = "APP_LINE_DESIGNER";
			break;
		case 8:
			SwitchApplication = "UG_APP_MECHANISMS";
			break;
		case 9:
			SwitchApplication = "UG_APP_FLEX_PCB";
			break;
		case 10:
			SwitchApplication = "UG_APP_SBSM";
			break;
	}
	return SwitchApplication;
}

三、运行代码

	NXOpen::Session *theSession = NXOpen::Session::GetSession();
	NXOpen::Part *workPart(theSession->Parts()->Work());
	NXOpen::Part *displayPart(theSession->Parts()->Display());
	// ----------------------------------------------
	//   Menu: 应用模块(N)->加工(C)->生产线设计(I)
	// ----------------------------------------------
	string  ApplicationSwitch = UserUFBaseFun::SwitchApplicationModules(5);
	NXString AppName = theSession->ApplicationName();
	if (AppName.GetLocaleText() != ApplicationSwitch)
	{
		//theSession->ApplicationSwitchImmediate("UG_APP_MANUFACTURING");
		theUI->MenuBarManager()->ApplicationSwitchRequest(ApplicationSwitch.c_str());
	}

//记得加上头文件#include <NXOpen/MenuBar_MenuBarManager.hxx>

四、结果如下

标签:case,break,SwitchApplication,APP,NX,模块,二次开发,UG
From: https://blog.csdn.net/weixin_47753171/article/details/137069136

相关文章

  • Xilinx ZYNQ 7000+Vivado2015.2系列(五)之ZYNQ的三种启动方式-JTAG、SD card、Flash
    前言:前面我们都是使用JTAG方式下载比特流文件,然后下载elf文件,最后点击Runas或者Debugas来运行程序。JTAG方式是通过tcl脚本来初始化PS,然后用JTAG收发信息,优点是可以在线调试,缺点是断电后程序就丢失了。为了解决程序丢失的问题,可以制作镜像文件烧写到sd卡或者flash中,上电即......
  • 速度与效率的双赢:探索ADOP 100G多模光模块的优势
    当今通信行业的快速发展,对数据传输速度和稳定性的要求日益增高。ADOP品牌的100G多模光模块正是在这样的背景下应运而生,它不仅提供了高速的数据传输能力,而且还具有多种优势,使其成为数据中心和高性能计算网络的理想选择。产品概述: ADOP的100GQSFP28SR4多模光模块是一款高性能......
  • 使用compileall模块编译Python的源代码
    编译当前目录及子目录所有python源码为pyc文件python-mcompileall-b.参数说明-b:这个选项告诉compileall模块在编译时进行备份。它会为每个已编译的源文件创建一个备份文件,后缀为.pyc.bak.:这是命令行中的当前目录。这意味着compileall将会在当前目录及其所有子目录中......
  • yolov8添加EffectiveSE 注意力模块
    ######################BiFPN####################################BiFPN#两个特征图add操作classBiFPN_Add2(nn.Module):def__init__(self,c1,c2):super(BiFPN_Add2,self).__init__()self.w=nn.Parameter(torch.ones(2,dtype=torch.f......
  • 【Linux】Nginx reload原理
    当我们更改了nginx.conf配置文件以后,向master父进程发送SIGHUP信号或者执行nginx-sreload,master父进程会用新的配置文件启动新的worker子进程,此时新的worker子进程与旧的worker子进程是并存的,旧的worker子进程在正常的情况下在处理完老的请求连接以后会关闭这个连接和旧的worker......
  • WPS二次开发系列:打印流程大突破!Android 如何一步获取WPS内文档
    前言当前市面上几乎所有的打印软件都支持WPS/微信/QQ/钉钉的文档进行打印,但是其实现方案均为需要引导用户进入对应的app选择分享或发送到打印app进行打印,其根本原因在于打印app无法直接获取到WPS/微信/QQ/钉钉等应用内的文档列表,且由于现有的android11之后的文件架构,更是无法......
  • BOSHIDA DC电源模块与其他电源模块的区别与优势
    BOSHIDADC电源模块与其他电源模块的区别与优势在现代电子设备中,电源模块是不可或缺的组成部分。电源模块的作用是将外部电源的电能转换为设备所需的电能进行供应。在电源模块的选择中,DC电源模块与其他电源模块有着明显的区别与优势。 首先,DC电源模块与其他电源模块的区别在......
  • Python pandas模块
    1、转换python字典类型为dataframe#!/usr/bin/envpython#-*-coding:utf-8-*-#__author__=#pandas>=1.5.3importpandasaspdpydict={'Dosage':'1.1.1.1,2.2.2.2,4.4.4.4,5.5.5.5','HalfLife':'6.6.6.6,7.7.7.7,8.8.8.......
  • WPS二次开发系列:如何对打开文档路径FileUri授权
    1.什么是FileProvider若要安全地将应用中的文件提供给其他应用,您需要配置应用,以内容URI的形式提供文件的安全句柄。AndroidFileProvider组件会根据您在XML中指定的内容生成文件的内容URI。这部分知识是AndroidFileProvider通用知识,详细请参考FileProvider2......
  • Xilinx ZYNQ 7000+Vivado2015.2系列(四)之GPIO的三种方式:MIO、EMIO、AXI_GPIO
    前言:ZYNQ7000有三种GPIO:MIO,EMIO,AXI_GPIOMIO是固定管脚的,属于PS,使用时不消耗PL资源;EMIO通过PL扩展,使用时需要分配管脚,使用时消耗PL管脚资源;AXI_GPIO是封装好的IP核,PS通过M_AXI_GPIO接口控制PL部分实现IO,使用时消耗管脚资源和逻辑资源。使用的板子是zc702。1.MIO方式Zynq7000......