NX二次开发-算法篇-创建最大边界包容盒
     NX9+VS2012
     #include <uf.h>
     #include <uf_obj.h>
     #include <uf_modl.h>
     #include <uf_part.h>
     UF_initialize();
     //遍历当前显示部件所有体
     std::vector<tag_t> SolidVector;
     tag_t ObjectTag = NULL_TAG;
     int Type, SubType, Body_Type;
     int Count = ;
     char msg[];
     UF_OBJ_cycle_objs_in_part(UF_PART_ask_display_part(), UF_solid_type, &ObjectTag);
     while (ObjectTag != NULL_TAG)
     {
         UF_OBJ_ask_type_and_subtype(ObjectTag, &Type, &SubType);
         if (SubType == UF_solid_body_subtype)
         {
             UF_MODL_ask_body_type(ObjectTag, &Body_Type);
             if (Body_Type == UF_MODL_SOLID_BODY)
             {
                 UF_OBJ_set_color(ObjectTag, );
                 SolidVector.push_back(ObjectTag);
                 Count++;
             }
         }
         UF_OBJ_cycle_objs_in_part(UF_PART_ask_display_part(), UF_solid_type, &ObjectTag);
     }
     //求所有体的最大边界
     double MaxBox[] = {, , , -, -, -};
     for (int i = ; i < Count; i++)
     {
         double Box[];
         UF_MODL_ask_bounding_box(SolidVector[i], Box);
         MaxBox[] = MaxBox[] < Box[]? MaxBox[]:Box[];
         MaxBox[] = MaxBox[] < Box[]? MaxBox[]:Box[];
         MaxBox[] = MaxBox[] < Box[]? MaxBox[]:Box[];
         MaxBox[] = MaxBox[] > Box[]? MaxBox[]:Box[];
         MaxBox[] = MaxBox[] > Box[]? MaxBox[]:Box[];
         MaxBox[] = MaxBox[] > Box[]? MaxBox[]:Box[];
     }
     //转换
     char Length[], Width[], Height[];
     sprintf(Length, "%f", MaxBox[] - MaxBox[]);
     sprintf(Width, "%f", MaxBox[] - MaxBox[]);
     sprintf(Height, "%f", MaxBox[] - MaxBox[]);
     char* Len[];
     Len[] = Length;
     Len[] = Width;
     Len[] = Height;
     //创建块
     double Ori[] = {MaxBox[], MaxBox[], MaxBox[]};
     tag_t BlkTag = NULL_TAG;
     UF_MODL_create_block1(UF_NULLSIGN, Ori, Len, &BlkTag);
     //特征找体
     tag_t BodyTag = NULL_TAG;
     UF_MODL_ask_feat_body (BlkTag,&BodyTag);        
     //设置透明度
     UF_OBJ_set_translucency(BodyTag, );
     UF_terminate();

NX二次开发-算法篇-创建最大边界包容盒的更多相关文章
- NX二次开发-算法篇-判断找到两个数组里不相同的对象
		
NX9+VS2012 #include <uf.h> #include <uf_curve.h> #include <uf_modl.h> #include < ...
 - NX二次开发-算法篇-vector函数排序(例子:遍历所有点并排序)
		
NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_curve.h> #include <u ...
 - NX二次开发-算法篇-冒泡排序(例子:遍历所有点并排序)
		
NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_curve.h> #include <u ...
 - NX二次开发-算法篇-随便找个不规则的体,找出面的中心点的Z坐标最高和最低的面,高亮显示
		
NX9+VS2012 #include <uf.h> #include <uf_evalsf.h> #include <NXOpen/Body.hxx> #incl ...
 - NX二次开发-算法篇-找相切面
		
方法1:通过判断相邻面公共边的光顺性来找相切面 1 #include <uf.h> 2 #include <uf_modl.h> 3 #include <uf_obj.h ...
 - NX二次开发-UFUN建模创建特征组UF_MODL_create_set_of_feature
		
NX11+VS2013 #include <uf.h> #include <uf_modl.h> UF_initialize(); //创建块 UF_FEATURE_SIGN ...
 - NX二次开发-通过数组创建矩阵
		
函数:UF_CSYS_create_matrix() 函数说明:通过数组创建矩阵. 用法: #include <uf.h> #include <uf_csys.h> exter ...
 - NX二次开发-UFUN获取面的内外边界UF_MODL_ask_loop_list_item
		
NX11+VS2013 #include <uf.h> #include <uf_modl.h> #include <NXOpen/Face.hxx> #inclu ...
 - NX二次开发-创建(临时)坐标系
		
函数:UF_CSYS_create_csys() . UF_CSYS_create_temp_csys() 函数说明:创建坐标系 .创建临时坐标系 用法: #include <uf.h> ...
 
随机推荐
- Laravel groupBy用法
			
// 假设model名是News:status启用是1:language选择cn: $data = News::select(array('id', 'title', 'type')) ->wh ...
 - Hadoop(三)YARN
			
Yet Another Resources Negotiator 从Hadoop2.0版本开始引入YARN,主要功能: 集群资源管理系统 负责集群的统一管理和调度 与客户端交互,处理客户端请求 一.基 ...
 - Java 基础 - 如何理解String不可变
			
ref: https://www.zhihu.com/question/20618891 第一个答案. 扩展“ Java 基础 - System.arraycopy() 浅拷贝 深拷贝
 - 关于nodejs+koa中的跨域问题与koa项目创建
			
项目快速创建 -1. 安装koa-generator npm install -g koa-generator -2. 使用koa-generator生成koa2项目, koa2 test -3. 完 ...
 - 【转】Spring+Websocket实现消息的推送
			
本文主要有三个步骤 1.用户登录后建立websocket连接,默认选择websocket连接,如果浏览器不支持,则使用sockjs进行模拟连接 2.建立连接后,服务端返回该用户的未读消息 3.服务端进 ...
 - Educational Codeforces Round 64 (Rated for Div. 2)    (线段树二分)
			
题目:http://codeforces.com/contest/1156/problem/E 题意:给你1-n n个数,然后求有多少个区间[l,r] 满足 a[l]+a[r]=max([l, ...
 - STM32嵌入式开发学习笔记(一)
			
本文中,笔者将介绍使用嵌入式开发工具Keil uVision5,使用C语言,对微处理器STM32F103C8进行嵌入式开发. 开发使用C语言,首先需要新建一个C语言文件,将其设为主函数的入口,因此,将 ...
 - 剑指offer---2、二叉搜索树的后序遍历序列
			
剑指offer---2.二叉搜索树的后序遍历序列 一.总结 一句话总结: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字 ...
 - mybatis源码探究(-)MapperProxyFactory&MapperProxy
			
在MyBatis中MapperProxyFactory,MapperProxy,MapperMethod是三个很重要的类. 弄懂了这3个类你就大概清楚Mapper接口与SQL的映射, 为什么是接口,没 ...
 - Openstack组件部署 — Nova_Install and configure a compute node
			
目录 目录 前文列表 Prerequisites 先决条件 Install and configure a compute node Install the packages Edit the etc ...