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

唐康林NX二次开发论坛

 找回密码
 立即注册
搜索
热搜: nxopen ufun
查看: 282|回复: 0

[函数说明] UF_GROUP_ungroup_all取消分组(完整)

[复制链接]

532

主题

700

帖子

2990

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2990
发表于 2018-1-20 09:03:18 | 显示全部楼层 |阅读模式
UF_GROUP_ungroup_all
功能:取消分组
该功能虽然一句话可以说完,但还是有很多细节的,也许你只有在本论坛可以看到由本人原创的讲解。
取消分组有两种方式:一种叫完整,一种叫顶部,具体可以参考NX本身的命令。而本贴说的就是完整这种方法。
别说二次开发,可能在使用上,绝大部分的人,都还不知道完整和顶部有什么区别。
顶部的解释见贴子:http://www.nxopen.cn/thread-1105-1-1.html

我举一个例子:
1、新建一个组A里面包括对象A1
2、新建一个组B里面包括对象B1;
3、设组B设为组A的子组;
现在我问各位同学,如果我去删除组B,并且设置为完整,会是一个什么样的结果呢?直接告诉大家结论,此时组B被删除,但是B1对象跑到了组A里面去。再假设,我删除组A,会是什么结果,此时组A组B都被删除。(组对象还是存在屏幕上的)
这也就是UFUN帮助里面描述的:
Remove all members of a group, deletes the group, and ungroups the
immediate group and all subgroups.  If the group specified is a  
subgroup, all of its members become members of the ancestor group.
移除组所有成员,且立即删除组及子组。如果给定的组本身就是一个子组,那么该组下的所有对象,将变成父组下的成员。
通过以上分析,大家应该明白函数UF_GROUP_ungroup_all在什么时候用了。
用法也极简单:
  1. //创建第一个点
  2. double poin1[3] = {10.0, 20.0, 30.0};
  3. tag_t point1TAG = NULL_TAG;
  4. UF_CURVE_create_point(poin1, &point1TAG);

  5. //创建第二个点
  6. double poin2[3] = {100.0, 50.0, 80.0};
  7. tag_t point2TAG = NULL_TAG;
  8. UF_CURVE_create_point(poin2, &point2TAG);

  9. //创建一条直线
  10. UF_CURVE_line_t line1;
  11. line1.start_point[0] = poin1[0];
  12. line1.start_point[1] = poin1[1];
  13. line1.start_point[2] = poin1[2];

  14. line1.end_point[0] = poin2[0];
  15. line1.end_point[1] = poin2[1];
  16. line1.end_point[2] = poin2[2];
  17. tag_t line3TAG = NULL_TAG;
  18. UF_CURVE_create_line(&line1, &line3TAG);

  19. //创建对象组
  20. tag_t groupMembers[3] = {point1TAG, point2TAG, line3TAG};
  21. tag_t groupTag = NULL_TAG;
  22. UF_GROUP_create_group(groupMembers, 3, &groupTag);
  23. UF_GROUP_ungroup_all(groupTag);
复制代码


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2018-6-19 01:36 , Processed in 0.078722 second(s), 25 queries .

Powered by www.nxopen.cn

© 2001-2013 nxopen.cn

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