iCAx开思工具箱

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 25454|回复: 1
打印 上一主题 下一主题

UG 二次开发 标注 选择问题

[复制链接]
跳转到指定楼层
楼主
发表于 2010-2-6 01:37:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我想写个程序.出UG的孔位表 .
只想出我选择的.UG 里有个命令,可以出全部的,但不适合
现在的问题是.假如,我想标注两条边之间的距离尺寸,我要手动选择的话,
用UG open c , 我无论如何都不能选择.肯定是我函数用错了.
目前我用的形式如下:
  1. tatic int init_proc_curve(UF_UI_selection_p_t select, void* user_data)
  2. {
  3. int num_triples = 5;
  4. UF_UI_mask_t mask_triples[] =
  5. {
  6. UF_line_type, 0, 0,
  7. UF_circle_type, 0, 0,
  8. UF_conic_type, 0, 0,
  9. UF_spline_type, 0, 0,
  10. UF_solid_type, 0, UF_UI_SEL_FEATURE_ANY_EDGE
  11. };
  12. // enable only solid body
  13. UF_UI_set_sel_mask(
  14. select,
  15. UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
  16. num_triples,
  17. mask_triples
  18. );
  19. return (UF_UI_SEL_SUCCESS);
  20. }

  21. int select_draft(tag_t select[], int *body_no)
  22. {
  23. char cue[] = "选择所有曲线";
  24. char title[] = "选择所有曲线";
  25. int response, count, i;
  26. tag_p_t objects;
  27. UF_UI_select_with_class_dialog(cue,title,UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY,init_proc_curve,NULL,&response,&count,&objects);

  28. if (count > 0 && count < 100) //write out info & turn off highlight
  29. {
  30. *body_no = count;
  31. for(i = 0; i < count; i++)
  32. select = objects;
  33. response = 100;
  34. }
  35. if (count > 0)
  36. for(i = 0; i < count; i++)
  37. UF_DISP_set_highlight(objects, 0);
  38. UF_free(objects);
  39. return response;
  40. }
复制代码

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 支持支持
沙发
发表于 2012-11-12 17:08:09 | 只看该作者

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

本版积分规则

手板模型制作,在线3D打印服务

QQ|小黑屋|手机版|开思工具箱 CAD工具箱_CAM工具箱  

GMT+8, 2024-11-27 15:20 , Processed in 0.012391 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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