captain 发表于 2015-4-5 13:40:47

请问ug的选择器怎么用。。

std::vector<NXOpen::TaggedObject *> obj_a = bodySelect0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
如果用体选择器可以Body*body = dynamic_cast<Body*>(obj_a);bodies.push_back(body);
那么如果我用选择对象选择器框选一些点、线、体,怎么判段obj_a的类型,是线还是体?
然后我只想操作曲线,怎么筛选出哪个是曲线。谢谢。指导了。。。

captain 发表于 2015-4-5 18:29:11

ypcopy 发表于 2015-4-5 17:48
有选择曲线的选择器,也可以用选择对象过滤为曲线

谢谢回复:handshake,我知道可以用曲线选择,我就想知道对象选择器选择多种类型的对象后怎么操作。

admin 发表于 2015-4-6 13:02:24

选择器里面可以 加 filter
也就是 setfilter 之类的

看论坛视频

或者参加培训 都有的

captain 发表于 2015-4-6 19:19:25

admin 发表于 2015-4-6 13:02
选择器里面可以 加 filter
也就是 setfilter 之类的



你好,也许我的提问有歧义,我知道可以设置选择过滤器。我想问的是,我什么都不设置,然后选择一些对象,怎么判断出我选择的对象是线还是体?

等待花开 发表于 2015-5-9 13:06:11

同样遇到这个问题,不知道楼主有没有想到解决办法

简简单单 发表于 2015-5-9 14:02:20

判断类型

等待花开 发表于 2015-5-17 21:08:49

我用这个方法区分出选择的是面还是边,希望可以对你有用
else if(block == selfeature)
      {
      //---------Enter your code here-----------
                PropertyList* feaselect = selfeature->GetProperties();
                std::vector<TaggedObject*> feas = feaselect->GetTaggedObjectVector("SelectedObjects");                       
                delete feaselect;
                feaselect = NULL;

                tag_t temp_tag = feas->Tag();
                tag_t temp_body;
                UF_MODL_ask_face_body(temp_tag, &temp_body);
                if(temp_body == 0)        uc1601("edge",1);
                else         uc1601("face",1);
      }

captain 发表于 2015-5-24 21:05:14

等待花开 发表于 2015-5-17 21:08
我用这个方法区分出选择的是面还是边,希望可以对你有用
else if(block == selfeature)
      {


谢谢,我也是这样区分的利用c函数询问tag的类型,难道c++没有类似的函数吗?

等待花开 发表于 2015-5-24 21:18:36

captain 发表于 2015-5-24 21:05
谢谢,我也是这样区分的利用c函数询问tag的类型,难道c++没有类似的函数吗? ...

暂时还没发现,不过我在C++里这么用也没出错
页: [1]
查看完整版本: 请问ug的选择器怎么用。。