NX/UG二次开发—调用NX内部函数实现功能汇总(部分只有标题)

这篇博客详细介绍了NX开发中的多种高级技术,包括UI元素的创建和控制,如进度条、预览、选择控件等;交互功能如鼠标选择判断、绘图区背景设置;以及实体高亮、刀路编辑等加工模块的操作。还涵盖了对象属性修改、数据获取和错误处理等多个方面,展示了深入的NX编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、调用NX自身功能并返回开发工具界面UIFW_create_command

2、C++与C#开发的dll互相调用且可以传参;

3、NX进度条的创建、显示、删除MT_create_progress_bar

4、组件装配预览:在绘图区的预览、在block UI上预览 :PVT_create_preview_from_view

5、block ui选择控件的动态鼠标点位SEL_ask_current_selection_context

6、枚举控件的宽度设置UGS::UICOMP_enum::set_width(int)

7、指定方位控件的名称修改;

8、指定坐标系控件下拉列表默认值设置与赋值坐标系对象;

9、输入控件的完成操作、输入控件未完成的字符获取UGS::UICOMP_integer::get_uncommitted_value

10、3Dbox内部选择类的使用UGS::SEL::BoxSelectBuilder

11、注塑模向导工具内,非模态图片预览对话框;

12、MFC对话框直接读取NX的图片、解压BMA、压缩BMA;

13、判断鼠标是否在绘图区、判断是框选还是单击选择GIT_is_rectangle_sel_gesture
SEL_is_rectangle_gesture

14、对象的透视显示、透视显示颜色设置DSS_ATTR_set_show_through

15、直接获取对话框的句柄;

16、指定多个点且带手柄控件(创建样条线中的指定点控件);

17、创建实体的官方预览实体效果,界面显示自带的预览控件;

18、点击取消按钮不执行UNDO;

19、block UI右下角的非模态提示信息框UGS::UIFW::information

20、资源条:创建和内嵌自带tree列表、显示、宽度设置、是否固定;

21、绘图区类选择枚举类型快速设置;

22、点选择控件设置选择范围为整个装配SEL_set_default_scope

23、装配导航器中组件的折叠与展开;

24、解决PK函数创建对象闪烁问题;

25、将PK曲线显示到NX视图中,解决类型不对等问题;

26、根据参考点快速获取实体与点最近的面;

27、自动修复自相交曲线,分割成不自相交的曲线;

28、显示和隐藏BlockUI的重置按钮UGS::UICOMP::set_visibility(bool)

29、执行对话框ok、apply、reset等消息;

30、设置向导界面中树列表、对话框高度宽度等;

31、获取一个面上的点(不在边缘上);

32、卸载镜像(MFC开发的dll);

33、获取 点选择控件 预选时 的捕捉点位(线的端点、中点、面上点)-Snap Point;

34、获取分析对象(曲面连续性、曲线连续性的)分析结果;

35、NX1969中的生成二维码(使用的开源库qrencode,则可在低版本也可以使用);

36、准确刀路的最低点、最高点(基于绝对坐标系)PTHDSP_ask_box(class UGS::PTHDSP *)

37、刀路可以逐段选择,直接读取刀路轨迹点位;

38、修改部件导航器中特征的时间戳(特征名称括号里的数字),设置当前部件的最后时间戳;

39、获取本地、TC端NX新建界面所有模板信息(即界面中所有信息和模板在TC端的数模号);

40、根据NXopen类对象地址获取tag_t,避免有些情况取->Tag()报错;

41、判断当前NX是否打开了NX命令的窗口(不包含信息窗口和提示窗口);

42、获取鼠标预选对象SEL_ask_pre_selected_object

43、设置加工导航器节点图标;

44、加工模块实体高亮显示设置;

45、获取加工导航器树列表中每列显示的内容:时间、余量、切削参数等;

46、加工导航器节点折叠全部并展开选择的、指定组的折叠展开;

47、设置绘图区背景色渐变色;

48、鼠标点位屏幕点与绘图区3D点互相转换;

49、反转曲线方向、获取实体体积、获取面积等;

50、string控件显示输入匹配列表和设置系统输入匹配字符串;

51、部分内部类的构造方法;

52、Block UI模拟UIstyler功能,无选择控件可以选择对象;

53、显示测量工具中尺子功能;

54、解决NX10以前版本克隆弹出信息窗口的两种方法;

55、部件设为显示部件后,获取其父组件;

56、注册切换模块回调;

57、指定用户后处理文件目录,不用重启NX;

58、创建加工程序后的残余模型;

59、CAM导航器中节点取消选择、设置选择;

60、Block UI下:加工坐标系的显示、隐藏、切换以及临时显示;

61、低版本NX切换模块;

62、获取过切检查结果;

63、高版本Block UI类选择器跨显示部件选择对象;UICOMP_selection::SetAllowSelectionInInactivePart

64、添加选择加工导航器节点回调;

65、添加加工导航器节点插入后图标自定义;

66、低版本UG的刀轨迹线点位信息的读取;

67、设置PTP程序类型、选择的点位、最低安全高等参数;

68、直接从udop入口获取程序Tag;

69、钻孔程序刀轨的完全创建:循环指令刀路的显示创建;

70、获取、显示NX刀具实体;

71、忽略PK函数报错、解析报错信息;

72、刀路选择控件的使用方法;

73、非grip设置读取drill程序(PTP类型)的操作:et0776

74、获取程序边界的起点、终点、起点方向等信息,用于判断材料侧左右的参考;

75、刀路编辑:删除、反向、创建直线圆弧螺旋刀路;

76、刀路编辑后时间和长度重新计算并显示到导航栏;

Target:100

<think>好的,我现在需要帮助用户查找关于UG二次开发实现右下角提示框的内部函数和示例代码。首先,用户提到的“右下角提示框”可能指的是NX软件中的状态栏提示或者某种自定义的通知窗口。我需要结合用户提供的引用内容,尤其是引用[2]和引用[3]中关于UG二次开发部分,来寻找相关的信息。 首先,引用[3]提到使用Java与NX连接,通过RMI技术进行交互,并且需要加载NXOpen的jar包。这里可能涉及到NX Open API中的用户界面相关函数。用户可能需要的是在二次开发调用NX内置的消息提示功能,类似于状态栏的信息显示。 通常,在NX Open API中,显示消息的函数可能位于UF_UI或者NXOpen.UI类中。例如,C++中的UF_UI_set_status或UF_UI_display_message,Java中的类似方法。不过需要确认具体的函数名称和用法。 根据引用[2],UG二次开发可以使用C/C++或Java,用户提供的示例代码是Java,因此可能需要Java的示例。但用户没有明确语言,所以最好同时提供不同语言的示例。 接下来,我需要检查NX Open API文档中是否有相关的函数。例如,在Java中,可能使用NXOpen.UI类中的方法,如getUI().displayMessage()之类的函数。或者使用StatusBar对象来更新状态信息。 此外,引用[3]提到了如何设置Java环境并连接到NX,这可能对用户配置开发环境有帮助。用户需要正确加载NXOpen的jar包,并确保接口正确。 可能的函数包括: - NXOpen.UI.GetUI().DisplayMessage()(C#或VB.NET) - UF_UI_display_message(C语言) - Java中可能通过NXOpen.UI类的方法实现 需要验证这些函数是否存在,并给出正确的参数和用法。例如,在Java中,可能使用: UI.getUI().displayMessage("消息内容"); 或者类似的方法。同时,用户可能需要设置消息类型,如信息、警告或错误。 另外,用户提到的右下角提示框可能需要特定的窗口类型,可能需要使用NXOpen的Block UI Styler来创建自定义界面,但如果是简单的提示,可能直接使用内置的消息函数即可。 总结步骤: 1. 确定用户使用的开发语言(Java、C++等)。 2. 查找对应语言中NX Open API的消息提示函数。 3. 提供示例代码,并说明配置方法。 4. 提醒用户注意环境配置,如引用[3]中的Java设置。 需要确保引用的函数NX Open API中存在,可能需要参考官方文档。例如,在Java中,NXOpen.UI类确实有displayMessage方法,但需要确认参数和用法。此外,可能还需要处理消息的显示位置,如状态栏通常位于底部,可能即用户所说的右下角。 因此,最终回答应包含不同语言的示例,并指导用户如何查找文档和配置环境,同时引用相关的引用内容。</think>在UG/NX二次开发实现右下角提示框功能,主要涉及NX Open API中的消息通知机制。根据开发语言的不同,可通过以下方式实现: ### 一、C++实现方式 使用$UF_UI$模块的消息显示函数: ```cpp #include <uf_ui.h> UF_initialize(); // 在状态栏显示持续3秒的提示信息 UF_UI_set_status("加工参数校验完成"); // 弹出模态提示框 UF_UI_display_message("警告", UF_UI_MESSAGE_TRACE, "刀具长度不足"); UF_terminate(); ``` 该方法通过$UF_UI_set_status()$在状态栏显示短暂提示,$UF_UI_display_message()$可创建模态对话框[^2][^3]。 ### 二、Java实现方式 使用NXOpen.UI类消息接口: ```java import nxopen.*; Session theSession = (Session)SessionFactory.get("Session"); UI theUI = UI.getUI(); // 显示右下角状态栏提示 theUI.statusBar().setStatus("坐标系已自动校准"); // 弹出非阻塞通知框 theUI.displayNonBlockingMessage("操作提示", UI.MessageType.INFORMATION, "特征再生完成,耗时2.3秒"); ``` Java开发需引用$NXOpen.jar$和$jmri.jar$,并注意RMI连接配置[^3]。 ### 三、.NET实现方式 通过NXOpen.GUI命名空间: ```csharp NXOpen.Session theSession = NXOpen.Session.GetSession(); NXOpen.UI theUI = UI.GetUI(); // 显示气泡提示 theUI.ShowBalloonTooltip("保存提示", "文件已自动备份至版本库", BalloonIconType.Information); ```
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恩·艾克斯·红

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值