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

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. 自定义函数式@FunctionalInterface异常接口

    1.添加注解 /** * 抛出异常函数接口 * * @author liunancun * @date 2021/2/5 */ @FunctionalInterface public interfac ...

  2. PLSQL中文乱码问题(显示问号)解决办法

    select userenv('language') from dual; 在环境变量的系统变量中添加配置: NLS_LANG SIMPLIFIED CHINESE_CHINA.ZHS16GBK 这个 ...

  3. vue-quill-editor 图片上传处理

    <template> <div class="quill-editor"> <!-- 图片上传组件辅助--> <el-upload cla ...

  4. 【音视频】FFmpeg打开视频 | 保存图片

    1.初始化FFmpeg av_register_all(); //初始化FFMPEG 调用了这个才能正常使用编码器和解码器 但是这个函数如今已经没什么用了,它的就是把你定义和系统初始化的编码器和解码器 ...

  5. js 判断表格的值

    <!DOCTYPE html> <html> <head> <title></title> <meta charset="u ...

  6. WCF部署HTTP错误404.3

    错误:WCF部署HTTP错误404.3-Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加MIME映射. 解决步骤如下: 控制面板-& ...

  7. TypeScript Array(数组)

    TypeScript Array(数组) 数组对象是使用单独的变量名来存储一系列的值. 数组非常常用. 假如你有一组数据(例如:网站名字),存在单独变量如下所示: var site1="Go ...

  8. web server 接口调用测试

    1.新建工程 ,鼠标右击new 2.设置web server接口访问链接,然后下一步 生成代码 3.生成客户端代码 4.创建测试类 调用服务

  9. java websocket详细

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...

  10. Leetcode45 跳跃,贪心算法

    leetcode  该题区别于动态规划,动态规划也能做,但是时间效率低