Jefft Jefft
关注数: 1 粉丝数: 316 发帖数: 1,273 关注贴吧数: 13
NX11二次开发中UF_PART_save函数的BUG及解决方法! 利用UF_PART_save函数来保存当前的工作部件时,有一个BUG(这个BUG由群友What发现):在NX软件默认的情况下,新建一个部件,名称是_model1.prt 也有可能1这个数字会是其它的,根据该文件是否存来决定的。 而这个部件,现在是没有被保存的。此时,利用代码UF_PART_save这进行保存,会发现,文件并没有被保存成功。 原因是UFUN里面,不让保存这个临时名称的部件,如果要利用UFUN来解决这个问题,可以考虑: ①先判断当前部件的名字是否是一个_model开头的,如果是,就提示用户要改名,否存保存; ②直接利用代码,先把这个名字改了,再保存,这个是行得通的;(问题是,可能你改后的名字,并不一定是用户想要的) =================== 针对这个问题,最好的解决方法是利用NXOpen来进行二次开发,代码如下: 代码的意思是: 先要判断当前的工作部件是否是一个临时部件,判断的方法,就是看当前部件所在路径下,是否有这个文件。如果没有被保存过,就说明它没有。这时时候,就要加一句代码,保存临时文件。后面三句是保存。 UF_initialize(); int partstatus = 0; //0 - file exists, 1 - file does not exist UF_CFI_ask_file_exist(workPart->FullPath().GetLocaleText(), &partstatus); if (partstatus == 1) { workPart->AssignPermanentName(workPart->FullPath()); } NXOpen::PartSaveStatus *partSaveStatus1; partSaveStatus1 = workPart->Save(NXOpen::BasePart::SaveComponentsTrue, NXOpen::BasePart::CloseAfterSaveFalse); delete partSaveStatus1; UF_terminate();
基于知识融合(KF)在清角工具设计中的应用! 搞模具设计的人,都喜欢用外挂里面的清角工具,在我眼里,不用这些外挂,直接拉伸一下不就行了,一般都是他们搞模具设计的人,不怎么会用草图,草图画不好,所以嫌做起来麻烦。 利用这个周末,我也做了一个清角工具,所谓清角,就是下图腔体变成右图这样。对于想一步实现清角功能,我个人的一个想法是:让用户选择一个底面,再输入刀具直径,就自动清掉了,这样可能操作上,就最简单了。 如果要实现这样的功能,大概的二次开发思路如下: 1、 通过选择的面,找到这个面上所有的边; 2、通过上一步的边去找到每条边上的两个端点,此时会有重复的点; 3、去掉重复的点;(找到这些点,创建圆柱就有圆心的点了。) 4、 利用第3步的点,反求这个点相关的边,(以上图为例为找到12条边,有重复的,还有与第1步边重复的) 5、去掉上一步,重复的边,最终得到了竖直边;(即与第1步底面垂直的所有边) 6、在第5步的边里面找到长度最大的那条边作为圆柱的高度; 7、利用第5步的边,其中一边的起点与终点,来作为圆柱的矢量方向;(注意这里并不知道哪个是起点,哪个是终点,所以还要判断) 8、有了圆心,矢量,高度,就差直径了,刀具直径用户输入,所有就可以创建圆柱,进行求差,就实现了一次清角; 有兴趣的关注,我录制的KF系列课程:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.chuanke.com%2Fs3405460.html&urlrefer=f9d6f0da37dabd94c6bbe2f2723a7766 这个工具的二次开发,会在周一上传视频。
基于知识融合(KF)在清角工具设计中的应用! 搞模具设计的人,都喜欢用外挂里面的清角工具,在我眼里,不用这些外挂,直接拉伸一下不就行了,一般都是他们搞模具设计的人,不怎么会用草图,草图画不好,所以嫌做起来麻烦。 利用这个周末,我也做了一个清角工具,所谓清角,就是下图腔体变成右图这样。对于想一步实现清角功能,我个人的一个想法是:让用户选择一个底面,再输入刀具直径,就自动清掉了,这样可能操作上,就最简单了。 如果要实现这样的功能,大概的二次开发思路如下: 1、 通过选择的面,找到这个面上所有的边; 2、通过上一步的边去找到每条边上的两个端点,此时会有重复的点; 3、去掉重复的点;(找到这些点,创建圆柱就有圆心的点了。) 4、 利用第3步的点,反求这个点相关的边,(以上图为例为找到12条边,有重复的,还有与第1步边重复的) 5、去掉上一步,重复的边,最终得到了竖直边;(即与第1步底面垂直的所有边) 6、在第5步的边里面找到长度最大的那条边作为圆柱的高度; 7、利用第5步的边,其中一边的起点与终点,来作为圆柱的矢量方向;(注意这里并不知道哪个是起点,哪个是终点,所以还要判断) 8、有了圆心,矢量,高度,就差直径了,刀具直径用户输入,所有就可以创建圆柱,进行求差,就实现了一次清角; 有兴趣的关注,我录制的KF系列课程:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.chuanke.com%2Fs3405460.html&urlrefer=f9d6f0da37dabd94c6bbe2f2723a7766 这个工具的二次开发,会在周一上传视频。
1 下一页