PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

PLM之家PLMHome-国产软件践行者

[求助] 工程图模式下用UF_UI_select_with_single_dialog()选不中?

  [复制链接]

2016-12-12 12:22:04 3783 2

丿僦湜灬禧歡沵 发表于 2015-12-3 13:55:58 |阅读模式

丿僦湜灬禧歡沵 楼主

2015-12-3 13:55:58

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

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

x
UG二次开发问题:我在建模环境下用UF_UI_select_with_single_dialog()没问题,在工程图模式下用UF_UI_select_with_single_dialog()却选不中点线面,是什么原因??困挠了好多天,请大神帮忙解决一下,非常感谢。……
  Q( Q0 \9 h2 ]/ Q1 |, @/ x" @# |5 q. ]        tag_t object,view;; k: ?- s% l+ K
        char cue[] = "select object ";: i; d: _, ^6 E0 O2 _2 {' ]
        int scope = UF_UI_SEL_SCOPE_WORK_PART;//UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY,UF_UI_SEL_SCOPE_WORK_PART
/ x# _7 m7 U* N0 u6 e$ o" I        char part_fspec [ MAX_FSPEC_SIZE+1 ];2 X, M- I5 l& i6 M  d9 a
        int  response;
7 O9 T7 q6 F- K        double cursor[3];
* Q+ f* o7 P5 ?0 d& k- c        tag_t part_tag;5 _& r3 C( m5 L7 }" {7 l
        CString infro;$ k6 U. y- M& }4 |! ?1 x5 s' z
; {& M7 w, A! j: [+ }
        UF_UI_select_with_single_dialog(cue,"select the edge",scope, UF_UI_sel_edge, NULL, &response, &object, cursor, &view );" L$ Y  l: e5 k* r7 j; S+ |+ j
        if (response == UF_UI_OBJECT_SELECTED ||7 l% B* A9 L, ?. Q* g" |" D6 ]# Q
                response == UF_UI_OBJECT_SELECTED_BY_NAME)5 U% }" F+ x+ H+ M
        {& C2 e$ d. @' W. z' n
                UF_DISP_set_highlight(object,0);* B* [9 A$ u( Z9 ]
                UF_MODL_update();
* [8 S) E8 a/ K# G  F        }
6 J0 X/ a% k( w0 x' @; mstatic int UF_UI_sel_edge(UF_UI_selection_p_t select, void * user_data)
% p# Q; |' ]5 L' f{  ' N7 A: @% q9 G& F
        UF_UI_mask_t  mask_triples[] = {UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE};
: N8 j, w' P- S        if (UF_CALL(UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,mask_triples))==0): [; z$ G; ~9 i1 C" o4 M$ Q
        {
/ D- R; ?4 J( h2 Y7 B                return (UF_UI_SEL_SUCCESS);, u- g! d9 U( [! N
        }: V! _9 l  F: a7 {' G% [, N* d8 ~
        else
/ e4 e( U1 U0 o/ H1 @        {0 c& l7 O. g  O: `- }
                return (UF_UI_SEL_FAILURE);: u; `3 b" p5 g1 k1 a' B
        }
/ L& D/ J3 I8 V5 J) E}, C  O, s: I' n( r* L

7 w* H- W4 v+ u7 C3 z/ a; b
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复2

丿僦湜灬禧歡沵 发表于 2015-12-3 14:36:31

丿僦湜灬禧歡沵 沙发

2015-12-3 14:36:31

难道我过滤错了?没人回答?……。自己顶下啊
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

15757753770 发表于 2016-12-12 12:22:04

15757753770 板凳

2016-12-12 12:22:04

int viewview=1;
! G* n; H# p! d5 H) Y# ]UF_UI_ask_cursor_view(&viewview);//获得你选择的视图范围类型0 = Any view,1 = Work view
; ?: x; e) V: b4 X. d/ _1 P7 j. b, L& {* Q: ?
! B+ `0 J) H! U/ u3 u
UF_UI_set_cursor_view(0);//可以选择“图纸上视图”里的对象
, i1 ^# `9 k: I* fUF_UI_set_cursor_view(1);//可以选择“工作视图”里的对象
4 s$ t# J; }4 }6 S- w8 G' Z7 ^* P7 q4 b7 X
————————————————————————————————————————" ?& y/ Z. D  G( E+ r, o
列子选择视图里的直线边缘
5 ~7 e  k+ z' ^# w
+ g' W1 R, C, [# ^$ j8 e#include <uf_drf.h>& f! x2 T3 ?: ?  [9 j0 \( }  t
#include <uf_obj.h>
* S' U, P. n% u: c#include <uf_curve.h>. B) S* b  l) @& b/ |! z
#include <uf_csys.h>6 ~! i' E, A) J$ D- C; F; K
#include <uf_modl.h>
1 c6 A$ I6 g5 w# \
( @  B% ^- H4 r3 H8 D( U" n1 @7 i- k7 \  X
//设置选择的实体类型" T( G1 W/ ?; f1 v  A+ i/ D
static int init_proc( UF_UI_selection_p_t select, void *user_data )$ L$ H, d- X8 x( X' d0 o
{4 N. [1 v6 s/ P- `& d2 ?6 |3 H6 [
  int  errorCode   = 0;2 T' G3 \* E/ j' S  {0 C, E% |. t$ A
& b' `% k' u; Z! X/ H( P& }4 o
  int  num_triples = 1; //选择类型数量* M9 ?- S6 |* }1 n3 D, O) {# T
  UF_UI_mask_t mask_triples[] = {UF_solid_type,UF_solid_edge_subtype,2};//选择类型9 l; Z( C0 S7 Q3 I2 s  @

* ~, Q9 T) @9 o/*3 e+ A4 O: N8 X% i3 |
UF_UI_SEL_MASK_ENABLE_ALL 所有面具类型' N3 D6 c( N. D1 g2 D0 V4 Z. u6 }. q1 n
UF_UI_SEL_MASK_ENABLE_SPECIFIC  面具使特定的
  S* ~7 @% ^' Q1 ], j% y" H% WUF_UI_SEL_MASK_DISABLE_SPECIFIC 面具禁用特定9 U7 S4 g1 p& Z6 J7 J5 a
UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC 面具清晰和启用特定
2 C* C7 f$ ?& B; vUF_UI_SEL_MASK_ALL_AND_DISABLE_SPECIFIC 面具和禁用特定
  ^, @* C3 _& [, K*/
/ d# b+ S8 v' derrorCode = UF_UI_set_sel_mask(select,
  k+ o8 m/ i' h0 V( d9 T5 l2 B                                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,7 U8 ]1 v7 J7 I9 l# l; [$ N, `
                                                           num_triples, mask_triples);
4 e# J6 A1 r/ d/ ]/ Q# |) Aif( errorCode == 0)2 `2 A; I. [# W
{
& a7 C8 s! G7 T2 \" ?! e9 Greturn UF_UI_SEL_SUCCESS;
8 o% F0 v, P" o# @( M# R) Y}
$ |, |! Y% }$ W/ }4 {$ w) y& q else
1 V% \; }" _* O6 ?{+ a$ d" G; y( i" W1 i
return UF_UI_SEL_FAILURE;
/ v1 t% ?. O' B! a}
% ?' i7 u* f6 |" ]}
8 r5 C2 O- K+ i% ?5 W% H- P
/ V, W6 C; j  e0 K6 U
7 A+ K$ T) R$ Q* ~  G3 r; h: W
1 _* a2 M( M0 t: c* w+ K  /* TODO: Add your application code here */* z5 i& D8 O9 E3 b. p

2 e, b. K0 W, E# w  char *message="梅雷提示!请选择视图边缘。";
  u- U! z3 ^2 x# d; Y! C  char *title="梅雷-QQ1821117007";
' h+ A4 ~$ s; @  int  scope=UF_UI_SEL_SCOPE_WORK_PART;//选取范围
) r/ r: w- {: K+ `( t- G  /*
$ D  b( @6 V1 O: _" p   scope=UF_UI_SEL_SCOPE_NO_CHANGE;         //选取范围没有变化: k# J) x) P0 Q* g' @8 }
   scope=UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY;   //选取范围在组装
6 T7 b& _! e5 U$ n4 w! v" c8 u   scope=UF_UI_SEL_SCOPE_WORK_PART;         //选取范围是工作部分
+ r! h' H5 j0 \( D" \2 ^- }( r+ @   scope=UF_UI_SEL_SCOPE_WORK_PART_AND_OCC; //选取范围是工作部分和OCC, Y. T( K" ~& U2 w! J/ P# V/ k
  */$ {: \; \/ s  P1 O& l
int  response;
% E% T" I8 T4 F" i9 r* \2 utag_t object_tag;
( n6 d6 h/ N  I, q7 x6 b1 X  {double  cursor[3]={0.0};
9 B7 {6 e6 Q4 G2 p6 e9 D5 qtag_t view=NULL_TAG;: @/ U( k6 O) E
0 X3 g, i! v2 P, H' x/ d( I
UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);加锁
6 B& o9 q; e! \+ OUF_UI_set_cursor_view(0);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)
8 F. Q3 Q. G- ?, Z" S. KUF_UI_select_with_single_dialog(message,title,scope,init_proc,NULL,&response,&object_tag,cursor,&view);  //选择框】3 e% P) H( @2 w1 J" M# w* F
UF_UI_set_cursor_view(1);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)
8 M4 k: `' Q. y1 S7 YUF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示5 e/ J; Q, h' m7 O5 `2 V( W; k) o5 V
UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);//解锁# X$ J! X# d8 U* z

) i) u- K5 {/ l1 P# n# q  Q; J, m6 y6 m5 t8 k) T: R
if (response==UF_UI_OBJECT_SELECTED) / N' y4 Z2 x! e  N6 r4 O
{
% U. T1 D' v, B* j  char view_name[132]="";
  r2 \% z; [' y: i  UF_OBJ_ask_name(view, view_name); //获得视图名称
7 I9 a% i2 {" h2 u: q3 A" u  uc1601(view_name,1);" |' d* _; V6 S% g8 }; p
}" @* A  P+ q$ b( c
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了