在塑胶模具设计行业拔模增量计算经常都需要用到,平常都是利用计算器工具或者外部的计算工具去算。曾经有一个模具设计的培训老师把拔模增量计算工具称为模具设计的神器,好吧,我也造个神器。-_-!

VS2019  NX1946

用的都是VS函数,理伦上NX大部份版本都可以用。

头文件

#include <cmath>
#include <uf.h>
#include <uf_ui.h>
#include<iomanip>
#include <sstream>

//自定义函数

char msg[256];
void SetUI_DefaultValue(); //设置UI默认值
double CalculateValue(double InputAngle); //计算增量
void SetUI_IncrementalValue(); //设置UI增量值
double doubleToDigits(double value);//double转换NXString

void DraftAngle::SetUI_DefaultValue() //设置UI默认值
{
try
{
expression01->SetValue(0.00);
expression02->SetValue(0.00);
expression03->SetValue(0.00);
expression04->SetValue(0.00);
expression05->SetValue(0.00);
expression06->SetValue(0.00);
expression07->SetValue(0.00);
expression08->SetValue(0.00);
expression09->SetValue(0.00);
expression10->SetValue(0.00);
expression11->SetValue(0.00);
expression12->SetValue(0.00);
expression13->SetValue(0.00);
expression14->SetValue(0.00);
expression15->SetValue(0.00);
expression16->SetValue(0.00);
expression17->SetValue(0.00);
expression161->SetValue(0.00);
expression20->SetValue(1.00);
}
catch (exception& ex)
{
//---- Enter your exception handling code here -----
DraftAngle::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
}
}

double DraftAngle::CalculateValue(double InputAngle) //计算增量
{
try
{
//角度转弧度: B = A / 180 * pi(3.141592653589793); 弧度转角度: A = B / pi(3.141592653589793) * 180.
double Dis = tan(InputAngle / 180 * 3.141592653589793);//计算增量
return double (Dis);//返回double值
}
catch (exception& ex)
{
//---- Enter your exception handling code here -----
DraftAngle::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
}
}

void DraftAngle::SetUI_IncrementalValue() //设置UI增量值
{
try
{
double H1 = expression20->Value();
if (H1 > 0)
{
expression01->SetValue(doubleToDigits(CalculateValue(0.3) * H1));
expression02->SetValue(doubleToDigits(CalculateValue(0.5) * H1));
expression03->SetValue(doubleToDigits(CalculateValue(0.6) * H1));
expression04->SetValue(doubleToDigits(CalculateValue(0.8) * H1));
expression05->SetValue(doubleToDigits(CalculateValue(1.00) * H1));
expression06->SetValue(doubleToDigits(CalculateValue(2.00) * H1));
expression07->SetValue(doubleToDigits(CalculateValue(3.00) * H1));
expression08->SetValue(doubleToDigits(CalculateValue(4.00) * H1));
expression09->SetValue(doubleToDigits(CalculateValue(5.00) * H1));
expression10->SetValue(doubleToDigits(CalculateValue(6.00) * H1));
expression11->SetValue(doubleToDigits(CalculateValue(7.00) * H1));
expression12->SetValue(doubleToDigits(CalculateValue(8.00) * H1));
expression13->SetValue(doubleToDigits(CalculateValue(9.00) * H1));
expression14->SetValue(doubleToDigits(CalculateValue(10.00) * H1));
if (expression15->Value() > 0)
{
expression16->SetValue(doubleToDigits(CalculateValue(expression15->Value()) * H1));
}
else
{
expression16->SetValue(0.00);
}

if (expression17->Value() > 0)
{
expression161->SetValue(doubleToDigits(CalculateValue(expression17->Value()) * H1));
}
else
{
expression161->SetValue(0.00);
}
}
else
{
uc1601("请输入正确高度", 1);
return;
}

}
catch (exception& ex)
{
//---- Enter your exception handling code here -----
DraftAngle::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
}
}

double DraftAngle::doubleToDigits(double value)//转换小数点位数
{
char TemValue[256];
sprintf(TemValue, "%.4f", value);
return double(atof(TemValue));
}

NX二次开发 拔模增量计算工具的更多相关文章

  1. NX二次开发-UFUN计算两点距离UF_VEC3_distance

    NX11+VS2013 #include <uf.h> #include <uf_curve.h> #include <uf_vec.h> UF_initializ ...

  2. NX二次开发-UDO用户自定义对象(UFUN)【持续完善】

    每当提起UDO总是会让我想起大专毕业那会失业找工作,后来有个宝贵机会去了软件公司上班,拿到了我人生中的第一个NX二次开发项目,一个关于测量汽车前后左右摄像头的项目.当时那个项目就用到了UDO,对于只看 ...

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

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

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

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

  5. NX二次开发-UFUN获取当前导出CGM选项设置UF_CGM_ask_session_export_options

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

  6. NX二次开发-UFUN修改当前导出CGM文件选项设置UF_CGM_set_session_export_options

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

  7. NX二次开发-NX+VS写代码设断点调试技巧

    在做NX二次开发的时候写完代码,编译可以通过,但是执行的时候却没有反应,或者得到的结果不对,说明肯定有地方传值出错了.我在查找代码错误的时候有几种方法:1.uc1601打印函数输入和输出的值看对不对. ...

  8. NX二次开发-C#使用DllImport调用libufun.dll里的UF函数(反编译.net.dll)调用loop等UF函数

    在写这篇文章的时候,我正在头晕,因为下班坐车回家,有些晕车了.头疼的要死.也吃不下去饭. 版本:NX11+VS2013 最近这一年已经由C++过度到C#,改用C#做应用程序开发和NX二次开发. C#在 ...

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

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

  10. 【NX二次开发】根据根据坐标系、对象旋转视图旋转视图uc6434

    uc6434 (); //旋转视图 参数1:如果输入""则旋转当前工作视图参数2:1.按照ABS旋转视图.2.按照WCS选择视图.3.按照参数3旋转视图.4.按照参数4旋转视图参数 ...

随机推荐

  1. 全网echarts案例资源大总结和echarts的高效使用技巧(细节版)

    全网echarts案例资源大总结和echarts的高效使用技巧(细节版) 众所周知,在现今的开发大环境下,数据可视化(大屏化)项目在前端开发中的比重越来越大.而其中使用率最高的插件无疑就是 Apach ...

  2. Day 11 11.1 Xpath解析

    xpath解析 xpath在Python的爬虫学习中,起着举足轻重的地位,对比正则表达式 re两者可以完成同样的工作,实现的功能也差不多,但xpath明显比re具有优势,在网页分析上使re退居二线. ...

  3. maridb数据库表及字段增删改

    mariadb数据类型 mariadb数据类型分为数字.日期.时间以及字符串值. 适用类型原则:够用就行,尽量使用范围小的,而不用大的 常用数据类型: 1.整数 int,bit   #例如 年纪 适用 ...

  4. 8个你可能不知道的令人震惊的 HTML 技巧

    程序员面试题库分享 1.前端面试题库 (面试必备)            推荐:★★★★★ 地址:前端面试题库 2.前端技术导航大全      推荐:★★★★★ 地址:前端技术导航大全 3.开发者颜色 ...

  5. Android 将函数放到主线程运行

    有时候,app会检测加密函数是否在主线程运行,为了逃避这种检测,要将函数放到主线程运行 Class<?> aClass = RposedHelpers.findClass("co ...

  6. 存储SAN

    存储技术介绍 DAS (direct attached storage)  直接连接存储--块级 SAN(storage area network)   存储区域网络--块级 NAS(network ...

  7. bzoj 2115

    线性基好题 首先,如果一条路径被经过了两次,那么这条路径上的权值等于没有(废话) 基于这一点,我们其实已经找到了解决问题的方法了! 首先,由于可以反复经过一条边,因此我们可以把一条合法的路径看成这样的 ...

  8. e.target和this区别

    首先,this是指向当前事件所绑定的元素 e.target指向事件执行时所点击区域的元素, 易混淆点,当鼠标所点击的元素有子元素,e.target指向子元素,若没有,则和this一样指向事件所绑定的事 ...

  9. P2P网络

    P2P 网络是什么 点对点技术(peer-to-peer, 简称 P2P )又称对等互联网络技术,是一种网络技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上. 即不是传统 ...

  10. bert一些思考

    bert结构 首先是embdding lookup,[batch * seq]-->[batch, seq, hidden] 然后是加个mask embdding和type embdding和p ...