扫描特征相关函数:

创建扫描特征的相关函数:

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二次开发】创建扫描特征的更多相关文章

  1. NX二次开发-创建(临时)坐标系

    函数:UF_CSYS_create_csys() . UF_CSYS_create_temp_csys() 函数说明:创建坐标系 .创建临时坐标系 用法: #include <uf.h> ...

  2. NX二次开发-创建NX9 NXOpenCPP Wizard开发向导模板

    这篇文章,我在CSDN,在唐工论坛都发过.http://www.nxopen.cn/forum.php?mod=viewthread&tid=2039&highlight=NX9 博客 ...

  3. 【NX二次开发】体素特征相关函数(块、柱、锥、球)

    NX Open允许用户创建和查询所有基本体素特征,通过API函数建立基本体素特征返回的是相应的特征标识,如果需要可以通过函数UG_MODL_ask_feat_body()获得特征对应的实体对象标识.基 ...

  4. 【NX二次开发】基准特征

    创建基准特征UF_MODL_create_fixed_daxis 创建一个固定的基准轴特征,方向由点1指向点2UF_MODL_create_fixed_dplane 创建一个固定的基准面特征,输入点和 ...

  5. NX二次开发-创建功能区工具栏UF_UI_create_ribbon

    NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...

  6. NX二次开发-创建经典工具栏UF_UI_create_toolbar

    NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...

  7. 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 ...

  8. NX二次开发-创建一个3 x 3矩阵UF_CSYS_create_matrix

    1 NX9+VS2012 #include <uf.h> #include <uf_csys.h> #include <uf_mtx.h> UF_initializ ...

  9. NX二次开发-创建CSYS坐标系UF_CSYS_create_csys

    NX9+VS2012 #include <uf.h> #include <uf_csys.h> #include <uf_mtx.h> UF_initialize( ...

  10. NX二次开发-创建临时坐标系UF_CSYS_create_temp_csys

    NX9+VS2012 #include <uf.h> #include <uf_csys.h> #include <uf_mtx.h> UF_initialize( ...

随机推荐

  1. Andrew Ng机器学习算法入门(四):阶梯下降算法

    梯度降级算法简介 之前如果需要求出最佳的线性回归模型,就需要求出代价函数的最小值.在上一篇文章中,求解的问题比较简单,只有一个简单的参数.梯度降级算法就可以用来求出代价函数最小值. 梯度降级算法的在维 ...

  2. 【pytest系列】- mark标记功能详细介绍

    如果想从头学起pytest,可以去看看这个系列的文章! https://www.cnblogs.com/miki-peng/category/1960108.html mark标记 ​ 在实际工作中, ...

  3. 【python】Leetcode每日一题-132模式

    [python]Leetcode每日一题-132模式 [题目描述] 给定一个整数序列:a1, a2, ..., an,一个132模式的子序列 ai, aj, ak 被定义为:当 i < j &l ...

  4. Android LayoutInflater.inflate源码解析

    一年多以前看过源码,感觉了解比较透彻了,长时间不经大脑思考,靠曾经总结的经验使用inflate方法,突然发现不知道什么时候忘记其中的原理了,上网查了一些资料,还各有不同,反而把我搞糊涂了,还是自己看源 ...

  5. dubbo服务暴露原理-远程暴露

    1.与本地暴露相比,远程暴露也大同小异 我们已经到了第三个关键词Procotol我们来看看他的继承体系图 按照经典图的路线,我们下一个关键词应该就是Server了,从方法名openServer(url ...

  6. Mac安装python 环境& pychaem

    一.文档说明 在Mac上其实自带python环境,但是很多的library安装python是2.7的版本. 验证:可以在终端Terminal中输入:python 如下图是未安装之前,但是咱们需要在自己 ...

  7. 21.Quick QML-FileDialog、FolderDialog对话框

    1.FileDialog介绍 Qt Quick中的FileDialog文件对话框支持的平台有: 笔者使用的是Qt 5.8以上的版本,模块是import Qt.labs.platform 1.1. 它的 ...

  8. 普里姆算法(Prim)

    概览 普里姆算法(Prim算法),图论中的一种算法,可在加权连通图(带权图)里搜索最小生成树.即此算法搜索到的边(Edge)子集所构成的树中,不但包括了连通图里的所有顶点(Vertex)且其所有边的权 ...

  9. 30.Stream流

    5.Stream流 5.1体验Stream流[理解] 案例需求 按照下面的要求完成集合的创建和遍历 创建一个集合,存储多个字符串元素 把集合中所有以"张"开头的元素存储到一个新的集 ...

  10. osg纯手工画球+贴纹理

    手动计算球面顶点的坐标,纹理坐标,来画球并贴纹理 其中createSphereGeom()函数的的二个参数为18,意思是在经纬度上每10度设一个点,因为经度一共是180度,180/18=10,相当于横 ...