NX二次开发-获取面的法向向量UF_MODL_ask_face_data

摘要:
1NX9+VS201223#include4#include5#include6#include789UF_initialize();1011//创建圆柱12UF_FEATURE_SIGNSign=UF_NULLSIGN;13doubleOrigin[3]={0.0,0.0,0.0};14char*Height="100";1
1     NX9+VS2012
2     
3     #include <uf.h>
4     #include <uf_modl.h>
5     #include <uf_obj.h>
6     #include <uf_ui.h>
7 
8 
9 UF_initialize();
10 
11     //创建圆柱
12     UF_FEATURE_SIGN Sign =UF_NULLSIGN;
13     double Origin[3] = {0.0, 0.0, 0.0};
14     char *Height = "100";
15     char *Diam = "50";
16     double Direction[3] = {0.0, 0.0, 1.0};
17     tag_t CylTag =NULL_TAG;
18     UF_MODL_create_cyl1(Sign, Origin, Height, Diam, Direction, &CylTag);
19 
20     //特征找体
21     tag_t BodyTag =NULL_TAG;
22     UF_MODL_ask_feat_body(CylTag, &BodyTag);
23 
24     //体找面
25 uf_list_p_t FaceList;
26     UF_MODL_ask_body_faces(BodyTag, &FaceList);
27 
28     //获取链表数量
29     intCount;
30     UF_MODL_ask_list_count(FaceList, &Count);
31 
32 UF_UI_open_listing_window();
33     //获取链表里的tag
34     for (int i = 0; i < Count; i++)
35 {
36         tag_t FaceTag =NULL_TAG;
37         UF_MODL_ask_list_item(FaceList, i, &FaceTag);
38 
39         //获取面的法向
40         intType;
41         double Point[3];
42         double Dir[3];
43         double Box[6];
44         double Radius[3];
45         double RadData[3];
46         intNormDir;
47         UF_MODL_ask_face_data(FaceTag, &Type, Point, Dir, Box, Radius, RadData, &NormDir);
48 
49         //找圆柱侧面
50         if (Type == 16)//对比面的类型
51 {
52             //对圆柱侧面设置颜色
53             UF_OBJ_set_color(FaceTag, 186);
54 
55             //打印面的法向方向
56             char msg[256];
57             sprintf_s(msg, "面的法向方向为:
X:%.0f
Y:%.0f
Z:%.0f
", Dir[0], Dir[1], Dir[2]);            
58 UF_UI_write_listing_window(msg);            
59 }
60 }
61 
62     //释放内存
63     UF_MODL_delete_list(&FaceList);
64 
65     UF_terminate();

NX二次开发-获取面的法向向量UF_MODL_ask_face_data第1张

免责声明:文章转载自《NX二次开发-获取面的法向向量UF_MODL_ask_face_data》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JS中常遇到的浏览器兼容问题和解决方法【转】QT添加资源文件,并为工具栏添加图片下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux头文件和库文件添加环境变量与GCC编译器添加INCLUDE与LIB环境变量

  对所有用户有效在/etc/profile增加以下内容。只对当前用户有效在Home目录下的 .bashrc或.bash_profile里增加下面的内容: (注意:等号前面不要加空格,否则可能出现 command not found) #在PATH中找到可执行文件程序的路径。 export PATH =$PATH:$HOME/bin #gcc找到头文件的...

解决 fatal error: Eigen/Core: No such file or directory

确认是否安装了eigen3 sudo apt-get install libeigen3-dev 解决 fatal error: Eigen/Core: No such file or directory 如果已经安装,但当调用 eigen 库时,报错:fatal error: Eigen/Core: No such file or directory...

Android中的&amp;amp;lt;include&amp;amp;gt;标签和&amp;amp;lt;merge&amp;amp;gt;标签

android开发中经常会碰到某一个布局的复用;直接拷贝粘贴并不是是有效的策略,这时候就能够借助<include>标签和<merge>标签来完毕。 官方文档: http://developer.android.com/training/improving-layouts/reusing-layouts.html 1. <...

VTK 空间几何变换(Transform),平移、旋转和缩放

先看下面的模型,这是一个Cow的三维模型, 在使用中,你是否会有下面的操作? 1.将Cow移动到某个位置——平移 2.转动到Cow背面——旋转 3.改变它大小——缩放 等等 可能你会说,这还不简单,通过操作相机就好了。然而并不是这样,操作相机,只使得相机的空间位置发生了变化,对三维物体并没有改变,要想改变模型,就需要对模形本身做空间变换。 空间变换的基础...

VC++ 复制整个文件夹

CopyFile只能复制一个文件,要想复制整个文件夹的所有文件,需要遍历文件夹里面的文件。 MyFile.h #pragma once #include <string> #include <Windows.h> #include <iostream> #include <stdio.h> #include...

Opencv 图片边缘检测和最小外接矩形

1 #include "core/core.hpp" 2 #include "highgui/highgui.hpp" 3 #include "imgproc/imgproc.hpp" 4 #include "iostream" 5 #include "cmath" 6 using namespacestd; 7 using namespacecv; 8...