UG/NX二开Siemens官方实例解析 4.10 EX_Modl_FeatureType(特征操作)

前言

        本系列文章主要讲解NXOpen UF API(简称ufun函数)的使用,之前看教学视频大都建议用ufun进行开发,这里西门子官方还专门给了一套系列文章来讲,说明官方也是特别推崇ufun。

        本人从事二开也有一段时间了,我的二开启蒙师父就特别喜欢用NXOpen API,用他的话来说“年少不知nxopen好,错把ufun当成宝”,其实就我个人而言,还是喜欢NXOPEN+ufun联合开发。


一、小节概要

本实例实现了特征信息的获取,主要知识点如下:

1、遍历工作部件 theUfSession.Obj.CycleObjsInPart

2、获取特征类型 theUfSession.Modl.AskFeatType

3、获取关联特征 theUfSession.Modl.AskFeatRelatives

4、返回父特征和子特征相关信息

二、需求分析

1、效果图

2、需求分解

1、遍历工作部件

2、获取特征类型

3、获取关联特征

4、返回父特征和子特征相关信息

三、程序分析

1、源码所在目录

UGOPEN\SampleNXOpenApplications\.NET\NXOpenExamples\EX_Modl_FeatureType

2、主要功能分析 

1、遍历工作部件

part_tag = theUfSession.Assem.AskWorkPart();
theUfSession.Obj.CycleObjsInPart(part_tag, enttype, ref feat1);

2、获取特征类型

theUfSession.Modl.AskFeatType(feat1,out feat_type);
tmp_text = " Feature "+ index + "  = " + feat1 + " is of type " + feat_type + "\n";
theUfSession.Ui.WriteListingWindow(tmp_text);

3、获取关联特征

theUfSession.Modl.AskFeatRelatives(feat1,out num_parents,out parent_array,out num_children,
                     out children_array);

4、返回父特征和子特征相关信息

if(num_parents > 0)
{
    for (inx = 0;inx < num_parents; inx++)
    {
        theUfSession.Modl.AskFeatType(parent_array[inx],out feat_type);
        tmp_text =  "  Parent id " + inx + " = " + parent_array[inx] +
					" is of feature type " + feat_type + "\n";
		theUfSession.Ui.WriteListingWindow(tmp_text);
    }
}
tmp_text = "  children array for feature " + feat1 + " contains " + num_children + "  members:\n";
theUfSession.Ui.WriteListingWindow(tmp_text);
if(num_children > 0)
{
    for (inx = 0;inx < num_children; inx ++)
    {
        theUfSession.Modl.AskFeatType(children_array[inx],out feat_type);
		tmp_text = "  child is " + inx + " = " + children_array[inx]
				+ " is of feature type " + feat_type + "\n";
		theUfSession.Ui.WriteListingWindow(tmp_text);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MarcoPro

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

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

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

打赏作者

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

抵扣说明:

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

余额充值