NX9+VS2012
//NX二次开发中常用拉伸函数为UF_MODL_create_extruded2,但是此函数不能拉伸片体,
//想要拉伸片体用函数UF_MODL_create_extruded。 #include <uf.h>
#include <uf_curve.h>
#include <uf_modl.h>
#include <uf_obj.h> UF_initialize(); //创建直线1
UF_CURVE_line_t LineCoords1;
LineCoords1.start_point[] = 0.0;
LineCoords1.start_point[] = 0.0;
LineCoords1.start_point[] = 0.0;
LineCoords1.end_point[] = 0.0;
LineCoords1.end_point[] = 100.0;
LineCoords1.end_point[] = 0.0;
tag_t LineTag[];
UF_CURVE_create_line(&LineCoords1, &LineTag[]); //创建直线2
UF_CURVE_line_t LineCoords2;
LineCoords2.start_point[] = 0.0;
LineCoords2.start_point[] = 100.0;
LineCoords2.start_point[] = 0.0;
LineCoords2.end_point[] = 100.0;
LineCoords2.end_point[] = 100.0;
LineCoords2.end_point[] = 0.0;
UF_CURVE_create_line(&LineCoords2, &LineTag[]); //创建直线3
UF_CURVE_line_t LineCoords3;
LineCoords3.start_point[] = 100.0;
LineCoords3.start_point[] = 100.0;
LineCoords3.start_point[] = 0.0;
LineCoords3.end_point[] = 100.0;
LineCoords3.end_point[] = 0.0;
LineCoords3.end_point[] = 0.0;
UF_CURVE_create_line(&LineCoords3, &LineTag[]); //创建直线4
UF_CURVE_line_t LineCoords4;
LineCoords4.start_point[] = 100.0;
LineCoords4.start_point[] = 0.0;
LineCoords4.start_point[] = 0.0;
LineCoords4.end_point[] = 0.0;
LineCoords4.end_point[] = 0.0;
LineCoords4.end_point[] = 0.0;
UF_CURVE_create_line(&LineCoords4, &LineTag[]); //创建链表
uf_list_p_t LineList;
UF_MODL_create_list(&LineList); //插入对象到链表
for (int i = ; i < ; i++)
{
UF_MODL_put_list_item(LineList, LineTag[i]);
} //函数1
//创建拉伸(UF_MODL_create_extruded2)
//备注:此函数不能做拉伸片体,只能拉伸封闭的线。拉伸片体用UF_MODL_create_extruded
char *TaperAngle = "0.0";
char *Limit[] = {"0.0", "50.0"};
double Point1[] = {0.0, 0.0, 0.0};
double Direction[] = {0.0, 0.0, 1.0};
UF_FEATURE_SIGN Sign = UF_NULLSIGN;
uf_list_p_t Features1;
UF_MODL_create_extruded2(LineList, TaperAngle, Limit, Point1, Direction, Sign, &Features1); //特征找体
tag_t BodyTag = NULL_TAG;
UF_MODL_ask_feat_body(Features1->eid, &BodyTag); //将拉伸设置成红色
UF_OBJ_set_color(BodyTag,); //释放内存
UF_MODL_delete_list(&LineList); //创建直线
UF_CURVE_line_t LineCoords5;
LineCoords5.start_point[] = 0.0;
LineCoords5.start_point[] = -10.0;
LineCoords5.start_point[] = 0.0;
LineCoords5.end_point[] = 0.0;
LineCoords5.end_point[] = -100.0;
LineCoords5.end_point[] = 0.0;
tag_t LineTag5 = NULL_TAG;
UF_CURVE_create_line(&LineCoords5, &LineTag5); //创建链表
uf_list_p_t LineList1;
UF_MODL_create_list(&LineList1); //插入对象到链表
UF_MODL_put_list_item(LineList1, LineTag5); //函数2
//创建拉伸(UF_MODL_create_extruded)
char *TaperAngle1 = "0.0";
char *Limit1[] = {"0.0", "50.0"};
double Point2[] = {0.0, 0.0, 0.0};
double Direction1[] = {0.0, 0.0, 1.0};
UF_FEATURE_SIGN Sign1 = UF_NULLSIGN;
uf_list_p_t Features2;
UF_MODL_create_extruded(LineList1, TaperAngle1, Limit1, Point2, Direction1, Sign1, &Features2); //特征找体
tag_t BodyTag1 = NULL_TAG;
UF_MODL_ask_feat_body(Features2->eid, &BodyTag1); //将拉伸设置成蓝色
UF_OBJ_set_color(BodyTag1,); //释放内存
UF_MODL_delete_list(&LineList1); UF_terminate();

NX二次开发-UFUN拉伸函数UF_MODL_create_extruded2的更多相关文章

  1. NX二次开发-UFUN拉伸函数UF_MODL_create_extruded

    NX9+VS2012 //NX二次开发中常用拉伸函数为UF_MODL_create_extruded2,但是此函数不能拉伸片体, //想要拉伸片体用函数UF_MODL_create_extruded. ...

  2. NX二次开发-UFUN发射线函数UF_MODL_trace_a_ray的用法

    今天是国庆节,放假休息懒得动,没有出去玩,在家研究一下发射线函数UF_MODL_trace_a_ray.小弟以前在软件公司混的时候,当时我做的那个项目就用到了UF_MODL_trace_a_ray,当 ...

  3. NX二次开发-UFUN计时函数UF_begin_timer

    NX9+VS2012 #include <uf.h> #include <uf_modl.h> UF_initialize(); //计时开始 UF_timer_t Timer ...

  4. NX二次开发-UFUN计时函数UF_end_timer

    1 NX9+VS2012 2 3 #include <uf.h> 4 #include <uf_modl.h> 5 6 7 UF_initialize(); 8 9 //计时开 ...

  5. NX二次开发-UFUN遍历函数UF_OBJ_cycle_objs_in_part

    NX11+VS2013 #include <uf.h> #include <uf_obj.h> #include <uf_modl.h> #include < ...

  6. NX二次开发-UFUN遍历函数UF_OBJ_cycle_all

    NX11+VS2013 #include <uf.h> #include <uf_obj.h> #include <uf_modl.h> #include < ...

  7. 【NX二次开发】拉伸面、拉伸封闭曲线成片体UF_MODL_create_extrusion

    用那几个拉伸,不能将封闭的曲线拉伸成片体,用UF_MODL_create_extrusion函数是可以的,下面是例子. 帮助上说拉伸片体不能有拔模角度,应该是错误的,下面是一个封闭曲线带拔模角度拉伸片 ...

  8. NX二次开发-UFUN将工程图转成CGM和PDF文件UF_CGM_export_cgm

    文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...

  9. NX二次开发-UFUN获取NX系统默认导出CGM的选项设置UF_CGM_ask_default_export_options

    文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...

随机推荐

  1. 历史上最详细的SpringCloud搭建微服务的过程。(包括注册中心,服务提供者和服务消费者)

    首先搭建注册中心,创建一个springboot的maven工程. 工程创建完成之后,先在资源文件中的application.properties中写配置文件. server.port= spring. ...

  2. 62. File类常用方法

    为了怕混淆,先说明一些下面要出现的名词意思:例如:D:\\新建文件夹 (2)\\a.txt 和  D:\\新建文件夹 (2)\\aaaa D:\\新建文件夹 (2)   父路径    a.txt    ...

  3. Java高并发网络编程(三)NIO

    从Java 1.4开始,Java提供了新的非阻塞IO操作API,用意是替代Java IO和Java Networking相关的API. NIO中有三个核心组件: Buffer缓冲区 Channel通道 ...

  4. Delphi QueryPerformanceCounter、QueryPerformanceFrequency函数,精确定时到ns

    var t1,t2:int64; r1,r2,r3:double; begin QueryPerformanceFrequency(c1);//WINDOWS API 返回计数频率 (Intel86: ...

  5. daragrid 简单认识

    @{ ViewBag.Title = "EasyUI"; Layout = null; } <script src="~/jquery-easyui-1.5.5.2 ...

  6. sql update语句

    如果要更新数据库表中的记录,我们就必须使用UPDATE语句. UPDATE语句的基本语法是: UPDATE <表名> SET 字段1=值1, 字段2=值2, ... WHERE ...; ...

  7. 最常用的C++序列化方案:protobuf

    参考链接:最常用的两种C++序列化方案的使用心得(protobuf和boost serialization) [c++] Google Protobuf库1. 什么是序列化?程序员在编写应用程序的时候 ...

  8. js滚动页面到固定位置进行操作

    $(window).scroll(function () { var scrollTop = $(this).scrollTop(); var scrollHeight = $("#div& ...

  9. 工具类--MD5Utils

    public class MD5Utils { private static final String[] HEX_DIGITS = { "0", "1", & ...

  10. bootstrap Modal 模态框垂直居中

    解决 Modal 垂直居中的问题,上网找了好多博客,有好多说改源码的,这个并没有实践. 但发现另一种解决办法,可以实现,代码如下: function centerModals(){ $('.modal ...