点击查看详细介绍

[NXOpen C++] UG二次开发,使用MaskTriple设置过滤器仅选择圆弧曲线 精华帖

王牌飞行员 VIP会员 3年前 3344 55

UG NX 二次开发 技术交流 qq群:641226372      UG二次开发(C、C#、WPF)


说明:使用MaskTriple设置过滤器后选择对象

测试代码:设置过滤器仅选择圆弧曲线

//使用MaskTriple设置过滤器后选择对象
#include <uf_defs.h>
#include <NXOpen/NXException.hxx>
#include <NXOpen/ModelingView.hxx>
#include <NXOpen/ModelingViewCollection.hxx>
#include <NXOpen/Part.hxx>
#include <NXOpen/PartCollection.hxx>
#include <uf_ui.h>
#include <uf_ui_ugopen.h>
#include <uf.h>
#include <NXOpen/Session.hxx>
#include <NXOpen/UI.hxx>
#include <NXOpen/selection.hxx>
#include <NXOpen/Features_Feature.hxx>
#include <NXOpen/Part.hxx>
#include <NXOpen/PartCollection.hxx>
#include <NXOpen/ListingWindow.hxx>
#include <NXOpen/NXObject.hxx>
#include <NXOpen/NXObjectManager.hxx>
using namespace NXOpen;
using namespace std;
 
extern "C" DllExport int ufusr_ask_unload()
{
	return (int)Session::LibraryUnloadOptionImmediately;
}
 
extern "C" DllExport void ufusr(char *param, int *retCode, int paramLen)
{
	Session *theSession = Session::GetSession(); 
	Part *workPart(theSession->Parts()->Work());
	UI *theUI = UI::GetUI();
	TaggedObject *object;
	Point3d cursor;
	//theUI->SelectionManager()->SelectTaggedObject("提示123","这里是标题",Selection::SelectionScopeWorkPart,true,false,&object,&cursor);
	//添加方式过滤
	vector<Selection::MaskTriple> masks;
	Selection::MaskTriple mask;
	mask.Type=UF_circle_type;           //大类   圆弧
	mask.Subtype = UF_all_subtype;      //小类   所有
	masks.push_back(mask);
	//提示  标题  选择范围   选择的结果把以前的清除,选择想选中的   是否包含特征  是否高亮显示  选择方式过滤   选择的对象
	Selection::Response res;
	res=theUI->SelectionManager()->SelectTaggedObject("提示123","这里是标题",Selection::SelectionScopeWorkPart,Selection::SelectionActionClearAndEnableSpecific,true,false,masks,&object,&cursor);

●●●请先 登陆注册 后查看●●●

演示效果:

1

最新回复 (55)
  • 然数年 3年前
    1

    谢谢分享!!!!!!!

  • zy1377145535 3年前
    2

    学习了,感谢分享,好资料

  • 常山赵子龙 3年前
    3

    楼主您好,请问你使用的二次开发配置是啥?谢谢!

  • 王牌飞行员 VIP会员 3年前
    4

    回复3楼(常山赵子龙): 我的配置是VS2010 UG8.5 Win7 64X

  • ruilinhua 3年前
    5

    学习了,感谢分享,好资料

  • 程超 3年前
    6

    这个能用在UG4吗?我VS2010,新建32位标准dll,而不是你们用的nxXX的dll,然后编译出错

  • 王牌飞行员 VIP会员 3年前
    7

    我的配置是VS2010 UG8.5 Win7 64X UG4 32bit 的不能使用

  • tanker510 3年前
    8

    我的配置是VS2010 UG8.5 Win7 64X UG4 32bit 的不能使用

  • wujiang11198 3年前
    9

    不错 感谢楼主分享

  • enricyx VIP会员 3年前
    10

    感谢分享,一直在照这个过滤功能,自带例子就是用这个triple,但是没太看懂。。。。。。。。。。

  • LIB105545 VIP会员 3年前
    11

    感谢楼主分享。。。。。。。。。。。

  • 初夏_Initial 2年前
    12

    感谢楼主 楼主辛苦了

  • 编程刘工 VIP会员 2年前
    13

    感谢楼主分享。。

  • 桃花一笑 2年前
    14

    好资料,慢慢看,感谢分享

  • little_sdu 2年前
    15

    不错 感谢楼主分享

请登录后发表新帖