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 3869 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()却选不中点线面,是什么原因??困挠了好多天,请大神帮忙解决一下,非常感谢。……% g# c4 K4 ^' L  Q0 _2 k
        tag_t object,view;
% n" C  f# K  ]9 d        char cue[] = "select object ";
& D7 Z& g# G- P3 O        int scope = UF_UI_SEL_SCOPE_WORK_PART;//UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY,UF_UI_SEL_SCOPE_WORK_PART
1 }6 s3 V, v' u) t7 c) E, T' ~        char part_fspec [ MAX_FSPEC_SIZE+1 ];. n% \# u' K( s) M' E
        int  response;
* \& C% e. S3 w& L        double cursor[3];
. G  k# ^) n, {( D! O        tag_t part_tag;
3 D( }8 a1 z  \! J9 z        CString infro;- Y* O6 y& G7 J" w2 g' B5 A

3 f5 U  @/ N* k6 a        UF_UI_select_with_single_dialog(cue,"select the edge",scope, UF_UI_sel_edge, NULL, &response, &object, cursor, &view );
0 s  S) k; t) h5 N: ]( X        if (response == UF_UI_OBJECT_SELECTED ||
  `5 N" ^$ \$ ^0 a/ q8 j& n                response == UF_UI_OBJECT_SELECTED_BY_NAME)
; F+ Q$ W" v( [$ v- @# l0 e        {
, k! _* `3 _* B# H( \" s) u                UF_DISP_set_highlight(object,0);' J  _' J& z- l2 @3 w& k
                UF_MODL_update();& ]8 @1 B, d* \& }' ?
        }
0 o" L" N& v' D. e. |! ~8 j" i( Istatic int UF_UI_sel_edge(UF_UI_selection_p_t select, void * user_data)
2 i, O3 i4 I' [6 x4 S$ `$ w) |{  3 j5 y' u) J+ N4 _& m9 g
        UF_UI_mask_t  mask_triples[] = {UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE};
, z, d1 Z! b5 Q* K( F( A        if (UF_CALL(UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,mask_triples))==0)
* ~9 [8 }) m+ F        {
! ^7 D9 D6 Q  m! ?& W- r1 }6 M                return (UF_UI_SEL_SUCCESS);
" `% n/ V8 }5 B- d  o- I! H+ B        }/ N4 a( r3 I( k" U! a
        else
  g. j8 V+ j7 w5 L5 g        {
; L" M/ z" H. u* B" X$ J                return (UF_UI_SEL_FAILURE);
* w' n; Z& I! m4 [. P% O0 m1 M; Z        }3 g: q1 Y7 u; o2 K! Q" U5 d' p
}0 I# y7 m7 r1 S" W" {

) y5 f2 w( L: M2 z8 R! K
上海点团信息科技有限公司,承接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;5 j8 K" u' `/ J# M/ i
UF_UI_ask_cursor_view(&viewview);//获得你选择的视图范围类型0 = Any view,1 = Work view
) H  X; Q" w$ V
/ f8 H2 V  r7 F5 |# {0 @& A, I1 g5 R6 k2 f8 z' X( }6 q
UF_UI_set_cursor_view(0);//可以选择“图纸上视图”里的对象5 i7 t& k; R4 p/ t8 f
UF_UI_set_cursor_view(1);//可以选择“工作视图”里的对象
- ^, d( l. Z/ b' Q' |* r8 k8 n- m$ K, o- P1 W# ?/ ~
————————————————————————————————————————* h5 C2 S% T1 _8 `* \# ^7 B: e
列子选择视图里的直线边缘
# x# ^, P( q# V, R7 W% i
' k6 S9 [+ h7 c#include <uf_drf.h>' I6 |. y* {# A, \4 B4 }" x
#include <uf_obj.h>
9 Q  Q& }  J5 V#include <uf_curve.h>& ]+ B3 v! s. J8 Y( V" d; f
#include <uf_csys.h>
  R$ C9 ^! e2 X- N#include <uf_modl.h># B0 ]# [8 a  X! w! q! R7 J! G

! G, Y6 B6 o+ f: m! s4 {/ `+ ~  k7 C( y
//设置选择的实体类型
8 U4 R+ K3 E' s& o7 ?9 `3 o8 W( Ustatic int init_proc( UF_UI_selection_p_t select, void *user_data )$ j. h5 p, f5 q. M$ Z' u
{! u9 _+ j3 t8 L$ V% T5 f1 B8 ^
  int  errorCode   = 0;+ ], i$ H- ?) s2 I2 r4 s) E. W3 c
& r2 L, p1 s9 W% y7 M: ^
  int  num_triples = 1; //选择类型数量. q& r; k3 l/ w  b* n/ _: F) ~
  UF_UI_mask_t mask_triples[] = {UF_solid_type,UF_solid_edge_subtype,2};//选择类型
" M4 C1 O; s* J9 H5 P' c  u
8 K, |! w8 Q. T% z) _- y: B/*' U: w4 U5 i8 `
UF_UI_SEL_MASK_ENABLE_ALL 所有面具类型
0 d, F9 k- G& _" c- u) b- R  [* \; |UF_UI_SEL_MASK_ENABLE_SPECIFIC  面具使特定的
5 \( G2 S- m& U7 X# J9 _! A8 GUF_UI_SEL_MASK_DISABLE_SPECIFIC 面具禁用特定
8 T; [+ ^8 T& i* I7 H  UUF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC 面具清晰和启用特定8 Z7 V, s3 c  m$ ?4 Z* {, O
UF_UI_SEL_MASK_ALL_AND_DISABLE_SPECIFIC 面具和禁用特定
) n7 e8 S$ s1 k5 [*/; E9 w( l' E2 o* c
errorCode = UF_UI_set_sel_mask(select, * f) t( |0 n5 ~+ }" O
                                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
; E. h; N7 ^2 }/ Z' H. P                                                           num_triples, mask_triples);
  U$ i) ~" F* d: Qif( errorCode == 0)
  V+ P, x( z- W% A! ^{
; ?5 m3 ?5 N+ ]9 c" x' Y. E4 F3 ireturn UF_UI_SEL_SUCCESS;
" `' @9 i) k6 E! Q& {}
2 K7 q+ m1 |# w: ?; m+ }, t else" i: [! n: |2 j
{
7 }# j5 ]0 |- t) G, A return UF_UI_SEL_FAILURE;
( ^6 ]) s/ }( @% K( Y}: `' h/ P- J* m5 a
}
; t2 L6 V( s; ]5 o+ N0 w$ v" h  H- c/ V. A! m. ]
8 V$ L& S. H  Q: d, |
7 e+ j8 o  q7 A+ e8 |& \% P
  /* TODO: Add your application code here */) W: `" _+ h: x# K9 p
4 j5 l) ]# \- X6 u
  char *message="梅雷提示!请选择视图边缘。";" }. }0 B$ V& m5 ]1 D7 Z2 c. }& l
  char *title="梅雷-QQ1821117007";
) n9 s! `/ d! K  int  scope=UF_UI_SEL_SCOPE_WORK_PART;//选取范围' i1 L! T; a5 `2 z5 ?' e5 g# C
  /*
4 H6 z7 }8 o, T  @8 |: F   scope=UF_UI_SEL_SCOPE_NO_CHANGE;         //选取范围没有变化
& X( _4 |6 e: W0 s7 z, c4 p   scope=UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY;   //选取范围在组装
, z3 A! n2 {" n0 v0 `: q4 K   scope=UF_UI_SEL_SCOPE_WORK_PART;         //选取范围是工作部分
* u  r# w* U) ^   scope=UF_UI_SEL_SCOPE_WORK_PART_AND_OCC; //选取范围是工作部分和OCC5 G4 b4 x. R3 L4 P
  */
( u( K! E4 [; S; Rint  response;
* Y% X8 {# j- w+ ^& Z8 `; h) ztag_t object_tag;
- L1 G  F' p4 @$ ]; x# C0 g6 i4 z# ydouble  cursor[3]={0.0};
! H1 r* F. `, i  h( Ktag_t view=NULL_TAG;
; T6 T+ s- M, e9 r# K! Q9 v
7 E, S1 i; R4 tUF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);加锁: j2 [! s" D  K  U4 B
UF_UI_set_cursor_view(0);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)( T  m, s: p! Q$ n. J  A* v4 ]( _
UF_UI_select_with_single_dialog(message,title,scope,init_proc,NULL,&response,&object_tag,cursor,&view);  //选择框】
& o: e5 P* ~) |0 i8 }% P  h, n$ QUF_UI_set_cursor_view(1);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)
; h+ f8 G1 @- [+ Q4 U, KUF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示0 J. r# n* b" f! Z* y. Q
UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);//解锁
0 L" |; B! r" N% U, m
! Q  N' b$ \& m* f6 v: ?% \! }) c3 f9 C
if (response==UF_UI_OBJECT_SELECTED)
+ b; ~; [! j3 P& A4 E% Q{
4 E- c( r, @5 S/ c! M. L% d  char view_name[132]="";- w+ J1 P! v1 P6 ^+ o! B. x
  UF_OBJ_ask_name(view, view_name); //获得视图名称
! i1 h3 {6 E8 q  f) O: l  uc1601(view_name,1);
$ `3 y! \  c* {5 C7 I}
  E. b/ a3 r9 _5 P( N
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了