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

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. nginx的301与302跳转详细配置教程

    什么是301跳转 301跳转也叫301重定向,也叫301转向,也叫301永久重定向,是网站建设过程中的一个功能.一般用于2个域名指向同一个网站. 一般来说,利用跳转,对网站的排名不会有影响.但不会转移 ...

  2. windows2020 更换sid

    cmd whoami /user 查看sid的值 点击运行sysprep程序.记得在"通用"前面打上勾 点击运行sysprep程序.记得在"通用"前面打上勾

  3. lg8862题解

    脑抽了,一开始想着扫描线然后用线段树求历史最大值.

  4. Echart 使用

    查看前端面试题小程序 大量面试题和答案,请微信查看 // var list = [1,1,54,5,5,85,8,8,5,5,8,8,85,8,8,5,5,85,88,85,8,88,8,8,8,8, ...

  5. Mysterious-GIF --- 攻防世界WP

    题目描述: 附件: ps:我重命名了一下为 cindy,gif 解题过程 1.分析该GIF (1)查看图片属性 (2)strings命令查找字符串 (3)winhex查看 (4)因为是GIF,所以可使 ...

  6. Software--电商平台系统--P2 支撑基础设施 Infrastructure

    2018-01-11  18:19:49 架构 客户体验 Ajax 交互技术. 网站快速加载且响应灵敏,则应该缓存商品数据. 灵活的缓存机制,以支持任何类型的存储(即分布式存储或内存中存储). 日志功 ...

  7. lui - imageViewer - 图片查看器

    imageViewer - 图片查看器 ImageViewer Table Attributes 参数 说明 类型 可选值 默认值 urlList 图片列表 Array - [] onChange 图 ...

  8. JDBC基本案例

    public static void main(String[] args) throws Exception { //1注册驱动 Class.forName("com.mysql.jdbc ...

  9. 050_Sublime For Salesforce

    之前安装工具都是在网上找的文章,照着步骤一点点来的,最近电脑升级所以要重新安装,花了一个小时终于搞好了,虽然说现在插件已经不维护了,但我觉得目前的工具还是可以够我用的: 1.我之前用的是3083版本, ...

  10. 记录aop失效问题

    例子:转账demo 使用技术:基于注解的方式实现,aop也是通过注解实现(Spring) 出现问题:aop已经写好,但是没有生效 原因:1.切入点是否正确(不是本问题) 2.基于注解方式实现,没有配置 ...