UG/NX二开Siemens官方实例解析 4.9 EX_Modl_CreateExtruded(拉伸)

前言

        本系列文章主要讲解NXOpen UF API(简称ufun函数)的使用,之前看教学视频大都建议用ufun进行开发,这里西门子官方还专门给了一套系列文章来讲,说明官方也是特别推崇ufun。

        本人从事二开也有一段时间了,我的二开启蒙师父就特别喜欢用NXOpen API,用他的话来说“年少不知nxopen好,错把ufun当成宝”,其实就我个人而言,还是喜欢NXOPEN+ufun联合开发。


一、小节概要

本实例实现了曲线的拉伸,主要知识点如下:

1、创建直线 theUfSession.Curve.CreateLine

2、创建圆弧,封闭曲线 theUfSession.Curve.CreateArc

3、拉伸 theUfSession.Modl.CreateExtruded

二、需求分析

1、效果图

2、需求分解

1、创建直线

2、创建圆弧,封闭曲线

3、拉伸

三、程序分析

1、源码所在目录

UGOPEN\SampleNXOpenApplications\.NET\NXOpenExamples\EX_Modl_CreateExtruded

2、主要功能分析 

1、创建直线

line1.start_point = new double[3];
line1.start_point[0] = l1_endpt1[0];
line1.start_point[1] = l1_endpt1[1];
line1.start_point[2] = l1_endpt1[2];
line1.end_point = new double[3];
line1.end_point[0]   = l1_endpt2[0];
line1.end_point[1]   = l1_endpt2[1];
line1.end_point[2]   = l1_endpt2[2];
Tag[] objarray= new Tag[5];
theUfSession.Curve.CreateLine(ref line1,out objarray[0]);

2、创建圆弧,封闭曲线

arc1.start_angle   = arc1_start_ang;
arc1.end_angle     = arc1_end_ang;
arc1.arc_center = new double[3];
arc1.arc_center[0] = l3_endpt1[0];
arc1.arc_center[1] = l3_endpt1[1];
arc1.arc_center[2] = l3_endpt1[2];
arc1.radius        = arc1_rad;
theUfSession.Csys.AskWcs(out wcs_tag);
theUfSession.Csys.AskMatrixOfObject(wcs_tag, out matrix_tag);
arc1.matrix_tag = matrix_tag;
theUfSession.Curve.CreateArc(ref arc1,out objarray[2]);

3、拉伸

Tag[] features;
double[] direction = { 0.0, 0.0, 1.0 };
string taper_angle = "0.0";
string[] limit1 = { "0", "1.25" };
ArrayList arr_loop_list = new ArrayList();
for(i = 0; i < count; i++) 
{
    arr_loop_list.Add(objarray[i]);
}
loop_list = (Tag [])arr_loop_list.ToArray(typeof(Tag));
theUfSession.Modl.CreateExtruded(loop_list, taper_angle, limit1, ref_pt, direction, FeatureSigns.Nullsign,  out features);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MarcoPro

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值