当前位置: 首页 > news >正文

NX二次开发常用函数——获取边对应的面 UF_MODL_ask_edge_faces

使用UF_MODL_ask_edge_faces()函数可以获得以下几种常见面的类型:

        UF_MODL_CYLINDRICAL_FACE    16 //圆柱面
        UF_MODL_CONICAL_FACE            17 //圆锥面
        UF_MODL_SPHERICAL_FACE        18 //球面
        UF_MODL_TOROIDAL_FACE          19 //环形面
        UF_MODL_SWEPT_FACE                20 //扫略面
        UF_MODL_PLANAR_FACE               22 //平面
        UF_MODL_BLENDING_FACE           23 //面倒圆
        UF_MODL_PARAMETRIC_FACE      43 //参考面
        UF_MODL_OFFSET_FACE               65 //偏移面

//判断两个边是否在同一面上

//判断两个边是否在同一面上
BOOL NXOpen_LongRoundHole::IsEdgeOnFace()
{try{获得选中面的标识//PropertyList*  faceSelectProps = face_select0->GetProperties();//std::vector<NXOpen::TaggedObject *> face = faceSelectProps->GetTaggedObjectVector("SelectedObjects");//delete faceSelectProps;//faceSelectProps = NULL;//获得选中边的标识PropertyList*  edgeSelectProps = edge_select0->GetProperties();std::vector<NXOpen::TaggedObject *> edges = edgeSelectProps->GetTaggedObjectVector("SelectedObjects");delete edgeSelectProps;edgeSelectProps = NULL;//通过边查询面的TAG,进行比较std::vector<tag_t> faces;for (int i = 0; i < (int)edges.size(); i++){uf_list_p_t listFace = NULL;UF_MODL_create_list(&listFace);UF_MODL_ask_edge_faces(edges[i]->Tag(), &listFace);for (uf_list_p_t temp = listFace; temp != NULL; temp = temp->next){int type = 0;UF_MODL_ask_face_type(temp->eid, &type);if (type == UF_MODL_PLANAR_FACE){faces.push_back(temp->eid);}}UF_free(listFace);listFace = NULL;}/*UF_MODL_CYLINDRICAL_FACE     16 //圆柱面UF_MODL_CONICAL_FACE         17 //圆锥面UF_MODL_SPHERICAL_FACE       18 //球面UF_MODL_TOROIDAL_FACE        19 //环形面UF_MODL_SWEPT_FACE           20 //扫略面UF_MODL_PLANAR_FACE          22 //平面UF_MODL_BLENDING_FACE        23 //面倒圆UF_MODL_PARAMETRIC_FACE      43 //参考面UF_MODL_OFFSET_FACE          65 //偏移面*/if (faces[0]== faces[1]){return 1;}}catch (exception& ex){//---- Enter your exception handling code here -----NXOpen_LongRoundHole::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());}return 0;
}
http://www.dtcms.com/a/267326.html

相关文章:

  • 使用 C++/Faiss 加速海量 MFCC 特征的相似性搜索
  • 电脑休眠设置
  • 【网络与爬虫 13】智能伪装:Scrapy-Fake-UserAgent反检测技术实战指南
  • springboot中使用线程池
  • 【Elasticsearch】检索排序 分页
  • 20. 有效的括号
  • BUUCTF在线评测-练习场-WebCTF习题[网鼎杯 2020 青龙组]AreUSerialz1-flag获取、解析
  • 【Flask】flask中get方法和post方法区别
  • CMake基础:条件判断详解
  • openai和chatgpt什么关系
  • 单用户模式、紧急模式、救援模式有什么区别
  • 动手学深度学习-学习笔记【二】(基础知识)
  • 若 VSCode 添加到文件夹内右键菜单中显示(通过reg文件方式)
  • 在 Windows 上安装和运行 Apache Kafka
  • Android Input 系列专题【事件的读取与分发】
  • 在SSM+vue项目中上传表单数据和文件
  • android开发中的 AndroidX 版本的查看 及 constraintLayout的简单用法
  • 【性能优化】程序性能优化:疏通胜于堵塞
  • 【Elasticsearch】检索高亮
  • 成为git砖家(12): 看懂git合并分支时冲突提示符
  • HTML初学者第三天
  • hono框架绑定cloudflare的d1数据库操作步骤
  • Redis基础的介绍与使用(一)(Redis简介以及Redis下载和安装)
  • Git 版本控制完全指南:从入门到精通
  • 【Halcon】WPF 自定义Halcon显示控件完整流程与 `OnApplyTemplate` 未触发的根本原因解析!
  • Web3 Study Log 003
  • 蓝牙墨水屏上位机学习(3)
  • Java 与 Vue 全栈开发:“一课一得“ 学习笔记系统实战
  • OneCode图表配置速查手册
  • CMake是什么