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

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. 打卡node day01--基础和fs内置模块

    一, 检查 node 版本 node -v 或 node --version 二,检查安装过的node 版本(nvm node 版本管理工具  安装链接 参考百度) nvm ls 三,切换node 版 ...

  2. 刚开始学python不知从何学习推荐你一本《Python零基础入门》书,免费领取

    百度云盘:Python零基础入门学习pdf高清版书籍下载 提取码:yzh3        

  3. JS学习- Canvas - 遮盖组合

    Compositing 组合 globalCompositeOperation这个属性设定了在画新图形时采用的遮盖策略,其值是一个标识12种遮盖方式的字符串. 值 描述 图示 source-over ...

  4. python max()用法

    起因是看到一道面试题 "统计字符串中出现次数最多的字符,并返回出现次数" 问题很简单,刚开始没思路,只想到了循环统计,但是觉得太蠢了,直到我发现了max()的key用法,果然还是我 ...

  5. ios自动化测试学习

    原文:https://blog.csdn.net/jinjiangongzuoshi/article/details/126552806 内测发布工具 fir.im 为开发者提供测试应用极速发布,应用 ...

  6. Pytest全局用例共用之conftest.py详解

    本文转自:https://blog.csdn.net/qq_36502272/article/details/102975467 一.'conftest特点: 1.可以跨.py文件调用,有多个.py文 ...

  7. linux安装jdk脚本

    使用Shell远程给Linux安装JDK   #1.下载JDK(不同版本JDK更换链接即可) wget命令下载的文件会在当前目录下,所以如果在下载前最好先 cd 到想把JDK安装的位置,如果没有,可以 ...

  8. flutter TextField 使用prefixIcon图标和文字间距问题

    可以看到使用prefixIcon图标就出现间距问题.网上看了很多文章,好像是没有什么好的解决办法,也有可能是太简单了,别人懒的发(哭笑). 我把我知道的方法写出来吧 decoration: Input ...

  9. arthas jad 反编译 xxx类 ,报 No class found for:xxx

    可能的原因: 类名不对,需要用全限定名,并且注意区分大小写 根据官方的文档,arthas jad 只能反编译已经加载的类.

  10. 【python】python,PyQt5以及Qt designer的使用_做界面(用vscode)

    1.PyQt5和Qt designer准备 win+r       cmd       输入以下 python -m pip install -i http://pypi.douban.com/sim ...