NX二次开发-NXOpen不用UI控件,鼠标选中对象获得tag theUI-;SelectionManager()-;GetSelectedObject(i);

Posted 阿飞的技术博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NX二次开发-NXOpen不用UI控件,鼠标选中对象获得tag theUI-;SelectionManager()-;GetSelectedObject(i);相关的知识,希望对你有一定的参考价值。

这个是UF_UI_ask_global_sel_object_list这个UFUN函数的NXOpen版本

NX二次开发-UFUN不用UI控件,鼠标选中对象获得tag UF_UI_ask_global_sel_object_list

转载出处https://www.cnblogs.com/KMould/p/13367721.html

NX9+VS2012

#include <uf_defs.h>
#include <NXOpen/NXException.hxx>
#include <NXOpen/Session.hxx>
#include <NXOpen/Part.hxx>
#include <NXOpen/PartCollection.hxx>
#include <NXOpen/UI.hxx>
#include <NXOpen/ListingWindow.hxx>
#include <NXOpen/NXMessageBox.hxx>
#include <NXOpen/NXObject.hxx>
using namespace NXOpen;


Session *theSession = Session::GetSession();
Part *workPart(theSession->Parts()->Work());
Part *displayPart(theSession->Parts()->Display());
UI *theUI = UI::GetUI();

//返回当前选择的对象的数量
int index = theUI->SelectionManager()->GetNumSelectedObjects();

theSession->ListingWindow()->Open();
for (int i = 0; i < index; i++)
{    
    //返回选择列表上的第n个对象
    NXObject *object = theUI->SelectionManager()->GetSelectedObject(i);

    //打印tag
    char msg[256];
    sprintf(msg, "tag:%d",object->Tag());
    theSession->ListingWindow()->WriteLine(msg);
}

阿飞
2021年9月4日

 

阿飞

2021年9月4日

以上是关于NX二次开发-NXOpen不用UI控件,鼠标选中对象获得tag theUI-;SelectionManager()-;GetSelectedObject(i);的主要内容,如果未能解决你的问题,请参考以下文章

NX二次开发-BlockUI不用选择控件,用鼠标点选去实时选择

NX二次开发-BlockUI不用选择控件,用鼠标点选去实时选择

NX二次开发-NXOpen窗口打印NXMessageBox&ListingWindow

NX二次开发-Block UI C++界面Face Collector(面收集器)控件的获取(持续补充 )

NX二次开发获取当前鼠标选中的对象 UF_UI_ask_global_sel_object_list

NX二次开发-NXOpen::CoordinateSystemCollection Class Reference