请选择 进入手机版 | 继续访问电脑版

唐康林NX二次开发论坛

 找回密码
 立即注册
查看: 1130|回复: 0

[技术分享] NX二次开发计算封闭曲线面积的方法-唐康林原创

[复制链接]

555

主题

743

帖子

3380

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3380
发表于 2018-3-11 13:37:08 | 显示全部楼层 |阅读模式
文/唐康林 独家原创 QQ125317589
       关于在NX中计算封闭曲线面积这个问题,以前我也遇到过,NX本身也有这样一个命令,命令位置:分析→高级质量属性管理→用曲线计算面积,这个功能不支持NXOpen的录制,在UFUN里面,我也大概查了一下,可能没有对应的函数。
       产生这种需求往往是算什么投影面积之类的,有了封闭的2D曲线,然后要计算出它的面积为多少;我以前的解决方法,也很简单,直接利用这些曲线做了一个有界平面,然后利用相关分析面积的函数分析一下就得到了结果。
       既然NX本身有这个功能,所以就想尝试,二次开发,到底有没有可能直接利用曲线来计算面积?
       我得出的结果是:可以,但稍麻烦一点,接下来说一下大概的思路。
       1、在前面提到,应该是NXOpen与UFUN里面都没有对应的类,包括KF也应该没有现成的;
       2、但是,在GRIP里面有这样的函数,是可以用计算封闭曲线面积的;
       3、所以,解决思路就是,利用GRIP写出计算方法,然后利用UFUN去调,甚至可以封一个KF的类,就可以达到,UFUN与KF都可以使用曲线来计算面积;
       大致的代码过程:
       1、GRIP代码如下:
grip计算曲线面积.png
       2、C中调用代码逻辑:
grip2DAnalysis.png
       3、其它相关功能处理;(UI设计与相关逻辑处理)
计算曲线面积.png
       4、有兴趣的,可以下载下面的附件,进行测试,功能是在NX10上开发的,NX11,12应该也可以用的,打开NX,按ctrl+u(会挂菜单的可以挂到菜单上),选择到下方附件的DLL文件,会打开上面的对话框,然后选择封闭的曲线,点击分析面积,就可以看到周长,面积。
       注意:GRIP中,分析曲线面积周长时,可能有不准的现象,比如你选的不是封闭曲线,然后也要用它去分析,那它得到的周长,有可能不对,大家也可以NX自带的 分析→高级质量属性管理→用曲线计算面积 功能进行测试,这个功能也是这样的,所以我怀疑,NX自带的这个命令,也是GRIP开发的出来的。
       其它:其实要想二次开发,做好这样一个工具,也还是有很多工作量的,有些好些问题,是要解决的,比如:①让用户只能选择2D曲线;②必须选封闭曲线;③很关键的一点,GRIP分析封闭曲线,这个是基于工作坐标系中的XC-YC平面来进行的,也就是说,选择的曲线集所躺在的平面法向要是ZC方向,才计算是正确的;所以想二次开发,解决这些问题,还是要花很多时间去处理细节的。(不过官方也没有解决这些细节)
       tkl_tools_get_curves_area.dll (86 KB, 下载次数: 157)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋| ( 蜀ICP备16014681号

GMT+8, 2018-10-17 17:51 , Processed in 0.103689 second(s), 26 queries .

Powered by www.nxopen.cn

© 2001-2013 nxopen.cn

快速回复 返回顶部 返回列表