NX二次开发-如何判断孔特征和边倒圆是否在凸台特征后面?
在建模的时候,部件导航器里的特征按建模顺序是有特征时间戳记的。
我们可以根据特征时间戳记的名字来判断哪个特征在前,哪个在后。
#include <uf.h>
#include <uf_ui.h>
#include <uf_modl.h>
#include <uf_obj.h> UF_initialize(); //由名字找到体
tag_t object = NULL_TAG;
UF_OBJ_cycle_by_name("MAIN", &object); //找到体上的所有特征
uf_list_p_t feature_tag_list;
UF_MODL_ask_body_feats(object, &feature_tag_list); //获取链表的数量
int count = ;
UF_MODL_ask_list_count(feature_tag_list, &count); UF_UI_open_listing_window();
for (int i = ; i < count; i++)
{
//获取链表里的所有tag
tag_t FeatsTag = NULL_TAG;
UF_MODL_ask_list_item(feature_tag_list, i, &FeatsTag); //获取特征的类型
char* feature_type;
UF_MODL_ask_feat_type(FeatsTag, &feature_type); //打印出所有特征
char msg[];
sprintf_s(msg, "%s\n", feature_type);
//UF_UI_write_listing_window(msg); string name = feature_type; if (name == "SIMPLE HOLE")
{
//获取特征的时间戳记名字
char *FeatureName;
UF_MODL_ask_feat_name(FeatsTag, &FeatureName); //打印
char msg1[];
sprintf_s(msg1, "%s\n", FeatureName);
UF_UI_write_listing_window(msg1);
} if (name == "BLEND")
{
//获取特征的时间戳记名字
char *FeatureName;
UF_MODL_ask_feat_name(FeatsTag, &FeatureName); //打印
char msg1[];
sprintf_s(msg1, "%s\n", FeatureName);
UF_UI_write_listing_window(msg1);
}
if (name == "RECT_PAD")
{
//获取特征的时间戳记名字
char *FeatureName;
UF_MODL_ask_feat_name(FeatsTag, &FeatureName); //打印
char msg1[];
sprintf_s(msg1, "%s\n", FeatureName);
UF_UI_write_listing_window(msg1);
} } UF_terminate(); Caesar卢尚宇
2019年7月13日
NX二次开发-如何判断孔特征和边倒圆是否在凸台特征后面?的更多相关文章
- NX二次开发-UFUN判断文件是否存在UF_CFI_ask_file_exist
#include <uf.h> #include <uf_ui.h> #include <uf_cfi.h> UF_initialize(); //判断文件是否存在 ...
- 【NX二次开发】判断部件是否已修改(判断部件是否需要保存)UF_PART_is_modified();
判断部件是否已修改(判断部件是否需要保存)UF_PART_is_modified(); 注意:函数需要输入原型,不要输入事例.事例转原型:UF_ASSEM_ask_prototype_of_occ() ...
- 【NX二次开发】判断面是否相切,相切面。
判断面是否相切,相切面. 用到的函数: UF_MODL_ask_minimum_dist 获取两个对象之间的最短距离,以及点坐标 UF_MODL_ask_face_parm 给定一个参考点,返回曲面上 ...
- NX二次开发-UFUN发射线函数UF_MODL_trace_a_ray的用法
今天是国庆节,放假休息懒得动,没有出去玩,在家研究一下发射线函数UF_MODL_trace_a_ray.小弟以前在软件公司混的时候,当时我做的那个项目就用到了UF_MODL_trace_a_ray,当 ...
- NX二次开发-BlockUI对话框嵌套MFC对话框制作进度条
半年前在一些QQ群看到有大神NX二次开发做出了进度条,那个时候我还不会弄,也不知道怎么弄得,后来断断续续得研究了一下,直到今天我把它做出来了.内心还是很喜悦的!回想自己这两年当初从没公司肯给我做NX二 ...
- NX二次开发-UDO用户自定义对象(UFUN)【持续完善】
每当提起UDO总是会让我想起大专毕业那会失业找工作,后来有个宝贵机会去了软件公司上班,拿到了我人生中的第一个NX二次开发项目,一个关于测量汽车前后左右摄像头的项目.当时那个项目就用到了UDO,对于只看 ...
- NX二次开发-UFUN拉伸函数UF_MODL_create_extruded
NX9+VS2012 //NX二次开发中常用拉伸函数为UF_MODL_create_extruded2,但是此函数不能拉伸片体, //想要拉伸片体用函数UF_MODL_create_extruded. ...
- NX二次开发-UFUN拉伸函数UF_MODL_create_extruded2
NX9+VS2012 //NX二次开发中常用拉伸函数为UF_MODL_create_extruded2,但是此函数不能拉伸片体, //想要拉伸片体用函数UF_MODL_create_extruded. ...
- NX二次开发-NX+VS写代码设断点调试技巧
在做NX二次开发的时候写完代码,编译可以通过,但是执行的时候却没有反应,或者得到的结果不对,说明肯定有地方传值出错了.我在查找代码错误的时候有几种方法:1.uc1601打印函数输入和输出的值看对不对. ...
随机推荐
- 【dart学习】-- dart 安装开发环境
前言 说明下:本人只有window和mac,所以安装实践只有这两种,其他的自行尝试.简介:Dart是谷歌开发的计算机编程语言,后来被Ecma (ECMA-408)认定为标准 [1] .它被用于web. ...
- SP8222 NSUBSTR - Substrings(后缀自动机+dp)
传送门 解题思路 首先建出\(sam\),然后把\(siz\)集合通过拓扑排序算出来.对于每个点只更新它的\(maxlen\),然后再从大到小\(dp\)一次就行了.因为\(f[maxlen-1]&g ...
- Golang flag包使用详解(一)
概述 flag包提供了一系列解析命令行参数的功能接口 命令行语法 命令行语法主要有以下几种形式 -flag //只支持bool类型 -flag=x -flag x //只支持非bool类型 以上语法对 ...
- c go数据类型对应关系
DataType C cgo sizeof--------------------+--------------------+------------------------------------- ...
- js检查判断设备
js检查判断设备 var navigatorType = {}; var u=navigator.userAgent; navigatorType.IsIE= u.indexOf('Trident') ...
- 使用listFiles的FileFilter过滤来查找文件并处理
package test; import java.io.File; import java.io.FileFilter; public class MyFilter implements FileF ...
- could not stop cortex-m device
检查一下STM32复位管脚是不是0V,如果是0V的话并且你有上拉电阻,那么就断电后检查一下STM32的VCC和GND是否短路,我的就是两个贴片电容击穿造成的短路从而使RST无法拉高.
- 2019牛客多校第三场F-Planting Trees(单调队列)
Planting Trees 题目传送门 解题思路 枚举每一个下边界,再枚举其对应的所有上边界,求出其对应区间内的最大最小值,当下边界一样的时候,其最大最小值可以随着上边界减小逐步更新.然后将这些最大 ...
- hbase之setCaching 和 setBatch 和setMaxResultSize
scan的setBatch()用法 val conf = HBaseConfiguration.create() val table: Table = ConnectionFactory.create ...
- 拾遗:btrfs
#扫描 btrfs 文件系统btrfs device scan btrfs device scan /dev/sda #创建子卷或快照 btrfs subvolume create /mnt/btrf ...