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 3952 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()却选不中点线面,是什么原因??困挠了好多天,请大神帮忙解决一下,非常感谢。……
$ {, @2 F% H' u1 F# w7 Y8 t6 w        tag_t object,view;
: X2 c8 F/ v1 l! ?! E        char cue[] = "select object ";+ W) B0 m+ _0 S) H% p4 j" {
        int scope = UF_UI_SEL_SCOPE_WORK_PART;//UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY,UF_UI_SEL_SCOPE_WORK_PART
2 G7 i4 z" W  `8 G8 z7 [        char part_fspec [ MAX_FSPEC_SIZE+1 ];
* g# t, r- p; }- g9 G- z        int  response;' X. v, r+ C- @, j$ R
        double cursor[3];
  ^' ^3 Y/ g/ `5 v        tag_t part_tag;9 s, K6 K. j0 r- p9 T
        CString infro;3 X0 k4 F. p( @2 S% V; V2 k, @

4 l2 w* b! z# ^$ @6 s9 j        UF_UI_select_with_single_dialog(cue,"select the edge",scope, UF_UI_sel_edge, NULL, &response, &object, cursor, &view );; x( a! M% j: E/ ^8 r
        if (response == UF_UI_OBJECT_SELECTED ||& s1 [& _, @+ ~( \. g, E% g
                response == UF_UI_OBJECT_SELECTED_BY_NAME)
# p; k4 Q* U- D1 y! v( v: N+ ~        {' W8 l$ o  X! I
                UF_DISP_set_highlight(object,0);% o- Q4 _: R5 `& r. ?+ g* M
                UF_MODL_update();
' p; Z+ [8 j- |) }        }
# [! p. F6 g$ d: ~& @static int UF_UI_sel_edge(UF_UI_selection_p_t select, void * user_data)% W7 K: ~! w& ]+ ]0 G' D( t& W4 L0 `
{  2 C5 \* Q' W7 \: Q# J# }
        UF_UI_mask_t  mask_triples[] = {UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE};
6 _$ r: K4 ~: ~0 d        if (UF_CALL(UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,mask_triples))==0)
  X! o) m/ k/ \        {& Z" k: Q5 _; ^/ J5 x# v
                return (UF_UI_SEL_SUCCESS);' ?- Z6 F2 ?  ?- `
        }
2 E- e1 t! U" n0 l  Q' H6 P        else
$ _) U4 I7 L6 \; r2 D0 h, W        {( R; i2 P) s) f- D
                return (UF_UI_SEL_FAILURE);9 h( X! q+ D0 v0 C, C, p5 M2 b
        }7 L0 t. N9 C1 H- z
}2 {" g) X9 N9 D& s
- ^4 t% P; Z  C- e! V
上海点团信息科技有限公司,承接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;
* R- ^5 Y5 J) O9 E/ A3 \UF_UI_ask_cursor_view(&viewview);//获得你选择的视图范围类型0 = Any view,1 = Work view, X+ w( w" k: g# H9 y6 w
8 o  j+ ?6 t, j! M1 r" }$ Z, v
' [0 m* T  g4 T7 I& @; g
UF_UI_set_cursor_view(0);//可以选择“图纸上视图”里的对象8 a/ ^7 Q) }. F1 ~: f( t3 W
UF_UI_set_cursor_view(1);//可以选择“工作视图”里的对象
0 u, [% T8 d! \% V) ~1 G% ~& O' l" I' _1 B9 ]. g
————————————————————————————————————————
2 K( y6 M, C: z1 J列子选择视图里的直线边缘
0 S8 t7 k% [; c  ]+ k8 W
: U( b- N. Z% {* q7 b#include <uf_drf.h>( u# B9 ]3 W  j
#include <uf_obj.h>0 S8 |1 O# A6 A: r5 [  \  G2 V# h
#include <uf_curve.h>& @: x4 J8 T* [6 s5 g- y
#include <uf_csys.h>
) j6 m! P/ u8 d& L4 [) x#include <uf_modl.h>; S1 u6 R2 l# J8 r- q  ^/ C
# t, ^0 d6 p: T% V  {! R

- ^5 L9 N" F. a7 ~//设置选择的实体类型8 t& I. `; ?1 Y1 Y! F3 W* V: n: ?
static int init_proc( UF_UI_selection_p_t select, void *user_data ). `5 K# @) Y8 L7 y' A
{: z/ v0 z$ z3 U# ?7 j
  int  errorCode   = 0;: U, u9 X: X+ F

4 d( I# ^  x& ?- c4 F  int  num_triples = 1; //选择类型数量
/ d* J! X2 x7 G4 A# u  UF_UI_mask_t mask_triples[] = {UF_solid_type,UF_solid_edge_subtype,2};//选择类型1 p5 [+ J) [6 b4 m1 \  E
3 o5 q8 ?" H" S% _  V
/*( S! ^0 u$ P5 r& [" U
UF_UI_SEL_MASK_ENABLE_ALL 所有面具类型5 v0 {; ?, A# r5 z; n8 K1 J
UF_UI_SEL_MASK_ENABLE_SPECIFIC  面具使特定的. Y$ h4 ]# d7 d
UF_UI_SEL_MASK_DISABLE_SPECIFIC 面具禁用特定
* z5 q1 S# y, U& k2 ^& @+ EUF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC 面具清晰和启用特定
' B) ?) V, `- bUF_UI_SEL_MASK_ALL_AND_DISABLE_SPECIFIC 面具和禁用特定
7 C( y' p. H+ M  S*/
  g$ |% d! w0 R$ h. @5 EerrorCode = UF_UI_set_sel_mask(select,
5 W0 S5 a5 }* k' \                                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,0 g4 h: ?  s! S9 g& C
                                                           num_triples, mask_triples);+ D# M/ D' X: X3 x$ @$ A, Z4 p
if( errorCode == 0)' G4 E' ?6 U7 u8 n2 u# n% S4 @
{( d, f* `0 t" A: q& X: H$ S
return UF_UI_SEL_SUCCESS;% w% Y; a3 j) G0 W7 t- Z
}: ?( @0 T: L! j1 c
else0 ?) N4 G, G/ C+ Z
{7 w1 [: p2 \( J/ ^* e
return UF_UI_SEL_FAILURE;- U; j  f( D" e- d0 ?3 b8 }) j% d; m2 D
}4 E: f8 E9 K" {% j( F
}
5 N, m! i1 q. @5 p. @# }* c& Z# o3 Y: y
) i" Y- {2 g/ a

3 T+ ]2 `3 U+ e9 H+ d  /* TODO: Add your application code here */' y5 m5 L2 g/ X" d( h6 B" }

8 b, N/ C* \8 S( h5 {  char *message="梅雷提示!请选择视图边缘。";
- G( s/ k9 Y" u2 G/ c  char *title="梅雷-QQ1821117007";
( s2 d8 {2 Y$ Y3 r0 I  int  scope=UF_UI_SEL_SCOPE_WORK_PART;//选取范围
) P9 I1 I" m9 q) s- R" _4 e  /*
, E! O  o/ `+ s1 U( v   scope=UF_UI_SEL_SCOPE_NO_CHANGE;         //选取范围没有变化+ h* ?1 [  J/ x0 O8 h" g7 h
   scope=UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY;   //选取范围在组装
7 H( I0 L! O* E0 p& j) T   scope=UF_UI_SEL_SCOPE_WORK_PART;         //选取范围是工作部分5 ^3 }# _8 o& t" v. @& ]- K+ \  x
   scope=UF_UI_SEL_SCOPE_WORK_PART_AND_OCC; //选取范围是工作部分和OCC
, R+ I( v& _# |- {  */  `7 D! i4 p) u$ \8 u( z6 ~' a
int  response;. b/ |& F: `/ h$ ?! I4 X( y8 j' W
tag_t object_tag;; D; r+ V4 t8 [1 S( F/ S. p
double  cursor[3]={0.0};# W( f# g/ }1 n/ g
tag_t view=NULL_TAG;
- [, ^* H! h! j1 q+ K
0 \. b) x! I3 U9 @! A& XUF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);加锁  r$ p+ ]* W- f0 _2 s" S
UF_UI_set_cursor_view(0);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象): ]% Q) p! f7 I3 n2 p
UF_UI_select_with_single_dialog(message,title,scope,init_proc,NULL,&response,&object_tag,cursor,&view);  //选择框】
) I: ]* o- ]6 T) c  s1 b8 A0 l3 WUF_UI_set_cursor_view(1);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)
0 C4 w% o% @- MUF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示
9 i( G7 I4 c$ a0 w6 g8 M, hUF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);//解锁
/ K: G4 z( r# Q' f' Z8 I& A& w0 m7 \$ f2 q
3 n& P. C' E* K# U
if (response==UF_UI_OBJECT_SELECTED)
8 u# C, V7 R4 T  x8 D5 e{% ^: x) s  n: M9 N/ h
  char view_name[132]="";
, y9 }; K5 t3 k, M  UF_OBJ_ask_name(view, view_name); //获得视图名称
+ b4 ]. f; Z1 l) i. y  uc1601(view_name,1);6 b! Y$ B0 Q( j# i
}
& `( ]0 D0 @/ h2 O# k; p! K* U
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了