【NX二次开发】创建扫描特征
扫描特征相关函数:
创建扫描特征的相关函数:
1.UF_MODL_create_extrude_trim_opts 拉伸
2.UF_MODL_create_extrude_trim_opts1 拉伸
tag_t * extrude_array, //被拉伸的对象列表
int extrude_count, //拉伸对象数量
UF_MODL_SWEEP_TRIM_object_p_t trim_ptr, //参数定义裁剪选项
UF_MODL_SWEEP_TRIM_OPTS trim_options, //结构参数定义裁剪选项
char * taper_angle, //锥角
char * limits[2], //起始值,终止值
char * offsets[2], //拉伸偏置
double region_point[3], //用于确定区域的点
logical cut_specified, //是否指定区域
logical solid_body_creation, //如果截面轮廓封闭且为 TRUE 将创建实体,否则创建片体
double dir[3], //拉伸方向
UF_FEATURE_SIGN sign, //布尔操作类型 不能为创建只能是 加、减和并
tag_t ** objects, //创建的拉伸特征的标识数组
int * object_count); //创建的拉伸特征的个数
3.UF_MODL_create_extruded 创建拉伸特征
4.UF_MODL_create_extruded1 创建拉伸特征
5.UF_MODL_create_extruded2 创建拉伸特征,不能创建片体
extern DllExport void ufusr(char *param, int *returnCode, int rlen)
{
UF_initialize();
//定义4个点的坐标
double douP1[3] = { 0,0,0 };
double douP2[3] = { 0,10,0 };
double douP3[3] = { 10,10,0 };
double douP4[3] = { 10,0,0 };
//创建4条直线
UF_CURVE_line_t LineCoords1;
UF_CURVE_line_t LineCoords2;
UF_CURVE_line_t LineCoords3;
UF_CURVE_line_t LineCoords4;
UF_VEC3_copy(douP1, LineCoords1.start_point);
UF_VEC3_copy(douP2, LineCoords1.end_point);
UF_VEC3_copy(douP2, LineCoords2.start_point);
UF_VEC3_copy(douP3, LineCoords2.end_point);
UF_VEC3_copy(douP3, LineCoords3.start_point);
UF_VEC3_copy(douP4, LineCoords3.end_point);
UF_VEC3_copy(douP4, LineCoords4.start_point);
UF_VEC3_copy(douP1, LineCoords4.end_point);
tag_t LineTag[4];
UF_CURVE_create_line(&LineCoords1, &LineTag[0]);
UF_CURVE_create_line(&LineCoords2, &LineTag[1]);
UF_CURVE_create_line(&LineCoords3, &LineTag[2]);
UF_CURVE_create_line(&LineCoords4, &LineTag[3]); //创建链表
uf_list_p_t LineList1;
UF_MODL_create_list(&LineList1);
for (int i = 0; i < 4; i++)
{
UF_MODL_put_list_item(LineList1, LineTag[i]);
} //创建拉伸实体
char *cTaperAngle1 = "0.0";
char *cLimit1[2] = { "0.0", "8.0" };
double douPoint1[3] = { 0.0, 0.0, 0.0 };
double douDirection1[3] = { 0.0, 0.0, 1.0 };
UF_FEATURE_SIGN Sign1 = UF_NULLSIGN;
uf_list_p_t Features1;
UF_MODL_create_extruded(LineList1, cTaperAngle1, cLimit1, douPoint1, douDirection1, Sign1, &Features1); //创建拉伸片体(扫描的截面线不是封闭轮廓)
uf_list_p_t LineList2;
UF_MODL_create_list(&LineList2);
UF_MODL_put_list_item(LineList2, LineTag[0]);
uf_list_p_t Features2;
UF_MODL_create_extruded(LineList2, cTaperAngle1, cLimit1, douPoint1, douDirection1, Sign1, &Features2); UF_MODL_delete_list(&LineList1);
UF_MODL_delete_list(&LineList2);
UF_MODL_delete_list(&Features1);
UF_MODL_delete_list(&Features2);
UF_terminate();
} extern int ufusr_ask_unload(void)
{
return (UF_UNLOAD_IMMEDIATELY);
}
6.UF_MODL_create_revolution 创建旋转体特征
7.UF_MODL_create_revolved 创建旋转体特征
8.UF_MODL_create_tube 创建管道特征
查询扫描特征的相关函数:
1.UF_MODL_ask_sweep_curves 获得拉伸和旋转特征的截面线串和引导线串的参数
2.UF_MODL_ask_sweep_direction 获得拉伸特征的方向和旋转特征的旋转轴参数
3.UF_MODL_ask_sweep_params 获得拉伸特征和旋转特征的拔模角度、起始位置和终点位置参数
4.UF_MODL_ask_extrude_offset_dir 获得拉伸特征的偏置方向
5.UF_MODL_ask_extrusion 获得拉伸特征的参数
6.UF_MODL_ask_revolution 获得旋转特征的参数
编辑扫描特征函数:
1.UF_MODL_edit_sweep_curves 编辑扫描特征的轮廓线串和引导线串
2.UF_MODL_replace_sweep_strings 类似于UF_MODL_edit_sweep_curves,但功能更强
3.UF_MODL_reattach_thru_faces 重新定义扫描特征的修剪面和成型特征的穿透面
4.UF_MODL_set_sweep_axis 重新设置扫描特征的方向
5.UF_MODL_sweep_tolerances 重新设置扫描特征的链接和距离公差
【NX二次开发】创建扫描特征的更多相关文章
- NX二次开发-创建(临时)坐标系
函数:UF_CSYS_create_csys() . UF_CSYS_create_temp_csys() 函数说明:创建坐标系 .创建临时坐标系 用法: #include <uf.h> ...
- NX二次开发-创建NX9 NXOpenCPP Wizard开发向导模板
这篇文章,我在CSDN,在唐工论坛都发过.http://www.nxopen.cn/forum.php?mod=viewthread&tid=2039&highlight=NX9 博客 ...
- 【NX二次开发】体素特征相关函数(块、柱、锥、球)
NX Open允许用户创建和查询所有基本体素特征,通过API函数建立基本体素特征返回的是相应的特征标识,如果需要可以通过函数UG_MODL_ask_feat_body()获得特征对应的实体对象标识.基 ...
- 【NX二次开发】基准特征
创建基准特征UF_MODL_create_fixed_daxis 创建一个固定的基准轴特征,方向由点1指向点2UF_MODL_create_fixed_dplane 创建一个固定的基准面特征,输入点和 ...
- NX二次开发-创建功能区工具栏UF_UI_create_ribbon
NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...
- NX二次开发-创建经典工具栏UF_UI_create_toolbar
NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...
- NX二次开发-UFUN输入特征TAG,获取特征所有表达式TAG和个数UF_MODL_ask_exps_of_feature
NX9+VS2012 #include <uf.h> #include <uf_modl.h> UF_initialize(); //创建块 UF_FEATURE_SIGN S ...
- NX二次开发-创建一个3 x 3矩阵UF_CSYS_create_matrix
1 NX9+VS2012 #include <uf.h> #include <uf_csys.h> #include <uf_mtx.h> UF_initializ ...
- NX二次开发-创建CSYS坐标系UF_CSYS_create_csys
NX9+VS2012 #include <uf.h> #include <uf_csys.h> #include <uf_mtx.h> UF_initialize( ...
- NX二次开发-创建临时坐标系UF_CSYS_create_temp_csys
NX9+VS2012 #include <uf.h> #include <uf_csys.h> #include <uf_mtx.h> UF_initialize( ...
随机推荐
- 老师不讲的C语言知识
老师不讲的C语言知识 导语: 对于工科生,C语言是一门必修课.标准C(ANSI C)这个看似简单的语言在硬件底层编程.嵌入式开发领域还是稳坐头把交椅.在20年5月份,C语言就凭借其在医疗设备上的广泛应 ...
- JavaScript实现减速返回顶部
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- VS2010编写32位和64位dll环境配置,以及判断dll是多少位
前言 最近在编写dll注入程序的时候,因为想注入到系统进程,结果发现总是注入失败.自闭了好长一会发现我忘记了我的系统是64位的,系统进程也是64位的,而我编写的待注入的DLL是32位了,所以才导致失败 ...
- 如何用Vim搭建IDE?
推荐:http://harttle.com/2015/07/18/vim-cpp.html 转自:http://harttle.com/2015/11/04/vim-ide.html 一年前我从Vim ...
- CRM的未来发展前景有哪些?
随着时代的发展,近年来越来越多的国内中小企业开始采用CRM客户关系管理系统,CRM从此不再是大企业的专利,也开始让中小企业得以不断成长.国内CRM行业的发展越来越快, 它的前景是什么?今天小Z就来给大 ...
- Taro使用多线程Worker相关问题解决
JavaScript 语言采用的是单线程模型,HTML5标准中的Web Worker ,为 JavaScript 创造多线程环境.微信小程序也有相应的Worker,同样具备多线程运行的能力 主页面中创 ...
- [DB] 数据库的连接
概述 集合运算:交,差,并,笛卡尔积 关系运算:选择,投影,连接,除 集合运算是关系运算的基础,关系运算可以用SQL语句表达 连接(join):从两个关系(表)的笛卡儿积中选取属性(列)间满足一定条件 ...
- 安装centos7提示 please make your choice from above
分别输入"1" "2" "q" "yes",如上图 释义如下:
- Linux_防火墙与SElinux
一.防火墙与SElinux 1.防火墙和selinux 防火墙 iptables 默认允许所以 firewalld 默认拒绝所有 ebtables 不认识,不管 se ...
- 回车与换行的区别:CRLF、CR、LF
引言 以下是 MySQL 8 导出数据的窗口,导出数据时需要选择记录分隔符,这就需要你明白 CRLF.CR 和 LF 分别代表什么,有何区别,否则可能导出数据会出现莫名其米的问题. 名词解释 CR:C ...