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 3774 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()却选不中点线面,是什么原因??困挠了好多天,请大神帮忙解决一下,非常感谢。……5 C" t: \' O7 h6 j: j1 a0 C
        tag_t object,view;
- a, o0 [9 v1 @3 O        char cue[] = "select object ";5 h7 e7 g' v( u8 p1 K3 H- \7 g
        int scope = UF_UI_SEL_SCOPE_WORK_PART;//UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY,UF_UI_SEL_SCOPE_WORK_PART( P! @2 P" d+ L6 h& O0 V
        char part_fspec [ MAX_FSPEC_SIZE+1 ];, k, s. V$ f6 ?: }- d1 x- _
        int  response;
6 \' |0 F6 P% d+ D3 i        double cursor[3];
% E3 L2 h# ~% h% d  _; N  Q/ H0 t        tag_t part_tag;
/ u& Y& f: e* g  }" L2 K        CString infro;
8 E+ ]  v8 ^0 P3 k9 R6 w* E6 e, q( n5 d- m, i
        UF_UI_select_with_single_dialog(cue,"select the edge",scope, UF_UI_sel_edge, NULL, &response, &object, cursor, &view );
1 C% \/ P" P* N" k7 j        if (response == UF_UI_OBJECT_SELECTED ||' W' z& l+ j+ j! u8 T
                response == UF_UI_OBJECT_SELECTED_BY_NAME)
* J4 V( p/ Y2 F# [0 p        {7 S0 u+ B) u* I7 ?* n- f: Y
                UF_DISP_set_highlight(object,0);7 m6 I* i* v. L  w( k
                UF_MODL_update();
% P( H/ m' ^4 v4 d5 j( U, B        }
& G& |" s; i& f5 N+ m! estatic int UF_UI_sel_edge(UF_UI_selection_p_t select, void * user_data)
1 m3 G6 |( Y4 I& S5 I* n{  
# m+ j  I0 F5 J, K        UF_UI_mask_t  mask_triples[] = {UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE};
: ?4 y  c. I+ `% m, R$ Y& q' G! y4 w        if (UF_CALL(UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,mask_triples))==0)
6 A8 i7 {* g! d1 d8 o, i        {
1 {# X( v3 g$ d1 W6 ^. g& \8 Q1 J* @                return (UF_UI_SEL_SUCCESS);' X2 x5 R$ ^+ ]# C1 t, k8 L
        }3 |( I5 s+ s" y. U0 g% M
        else
6 }) c9 @* b& t6 U        {
, p5 o2 S  L: ~5 z6 _  l5 p                return (UF_UI_SEL_FAILURE);
; x- F: m5 c# [0 S* G( p; U        }
: u. D( R: L; R! n+ U" L( A' n+ ~2 k}
& _; b" b+ ]; x% ^
6 E+ I& y; ]! d2 t. A
上海点团信息科技有限公司,承接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;
+ s! I9 m5 P- S$ S8 p& iUF_UI_ask_cursor_view(&viewview);//获得你选择的视图范围类型0 = Any view,1 = Work view8 B/ _6 B" q. H7 e9 J3 Q
# ?* X4 q  |6 Z5 F( Z

9 S; X- R7 [! A/ u7 H: X4 b' ^UF_UI_set_cursor_view(0);//可以选择“图纸上视图”里的对象# \9 l; l  n) A4 R% C' [, l+ y3 w" q! a
UF_UI_set_cursor_view(1);//可以选择“工作视图”里的对象4 i% {! E- A. k
; f. h# F% ?: m
————————————————————————————————————————; k4 P$ W' s; Q1 L: j) }$ T0 a8 F
列子选择视图里的直线边缘- m3 k( U' z2 J( P* j7 P

% u: ^0 j  Q+ p6 V+ ^#include <uf_drf.h>& Z! P# i5 C" \) P) E& |
#include <uf_obj.h>5 C& N" `1 [# s0 P4 A
#include <uf_curve.h>' n# e, p0 H  X7 N' Q1 N. N
#include <uf_csys.h>5 \& p1 M  O' M' y8 L9 d3 U
#include <uf_modl.h>/ h8 G2 Z7 G! T6 \
, X; S7 q2 M5 A& p! G
/ v" `! [! C' e$ {
//设置选择的实体类型
* W+ B0 F6 `  L9 Pstatic int init_proc( UF_UI_selection_p_t select, void *user_data )$ t# W$ t" X( w" m
{5 d1 Z2 T' W6 C! B0 p; v( C8 V6 C
  int  errorCode   = 0;
' J# n, M+ j* q( J3 H& l# y4 c' @. A  ^, A* \8 e
  int  num_triples = 1; //选择类型数量& E( @7 ^5 a; E& n! X+ v
  UF_UI_mask_t mask_triples[] = {UF_solid_type,UF_solid_edge_subtype,2};//选择类型
; X/ M# c! q  p) Q
7 ]4 \+ a  Z& c4 L+ U% T. n8 b/*  V. ^0 f: g% g$ z( N9 |; Q. U
UF_UI_SEL_MASK_ENABLE_ALL 所有面具类型
  S3 Q7 w7 A: q: NUF_UI_SEL_MASK_ENABLE_SPECIFIC  面具使特定的1 ^2 u9 X1 j9 v1 c3 M; m6 @5 |+ [
UF_UI_SEL_MASK_DISABLE_SPECIFIC 面具禁用特定) w1 \. w3 p: k8 M+ m
UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC 面具清晰和启用特定
: g1 b# ]: s" S" R$ AUF_UI_SEL_MASK_ALL_AND_DISABLE_SPECIFIC 面具和禁用特定
' r7 y' t. @1 z4 v( s- m; ^*/9 {6 c! M% a# ~9 m9 v  R
errorCode = UF_UI_set_sel_mask(select, 0 k% g$ Z/ n3 y# v% M& \
                                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
; ?3 ^  r. x2 d/ z$ {# q* a7 a                                                           num_triples, mask_triples);
0 r3 c& f% e7 K9 Z) xif( errorCode == 0)! v3 {  s0 w/ D- |. d: U0 _
{
3 Y, g6 x3 E4 t, ?% O+ m* t5 Breturn UF_UI_SEL_SUCCESS;. b0 @5 G: E# i; m
}( a$ J5 J% E3 v
else! [4 R) [; X2 \9 N0 X$ R- B
{
) O5 N9 {* n% E( _ return UF_UI_SEL_FAILURE;
" I4 t- l1 Q4 V8 O+ p$ a5 ~# s}8 E: L9 j; b1 m# J8 V" F
}
  e7 T1 `; n' d. U7 W2 r" g- v
: m1 @& Q  T% z/ }% c0 U* S( Q
- e% Z0 @+ j# F  ]. m! `
2 }- f5 a! Q. C- Q  /* TODO: Add your application code here */
( |" w& j# F" Y1 z
- p* L; ]2 t; _& X0 ]4 G: S  char *message="梅雷提示!请选择视图边缘。";  P. Z& u) a1 F9 H
  char *title="梅雷-QQ1821117007";3 u9 T* v+ P3 m
  int  scope=UF_UI_SEL_SCOPE_WORK_PART;//选取范围
; d2 h" S& H4 a  /*5 M) K9 f+ V0 P2 C
   scope=UF_UI_SEL_SCOPE_NO_CHANGE;         //选取范围没有变化
" [1 z1 I- C) v- z/ u$ N9 N$ f   scope=UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY;   //选取范围在组装% n: F% m1 d3 ?8 k4 }
   scope=UF_UI_SEL_SCOPE_WORK_PART;         //选取范围是工作部分
, f6 E/ X1 z2 y3 `* s) r   scope=UF_UI_SEL_SCOPE_WORK_PART_AND_OCC; //选取范围是工作部分和OCC
2 a3 y7 @$ W; [) a3 a  e# T; N8 B  */, f% J/ p# ]  c3 X, K
int  response;* P( h! \" P9 T
tag_t object_tag;
  P/ v. i  Q) u( X! K& T# W# w8 |double  cursor[3]={0.0};) p! g$ `5 {0 f5 m
tag_t view=NULL_TAG;- ~/ z* S- l+ n

; S: ]$ S% ~1 ]6 oUF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);加锁
3 ?+ M4 O0 L  u% L6 q" X  `UF_UI_set_cursor_view(0);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)
' H6 o! y" d& F6 W% D- H: e, R! Z: C# qUF_UI_select_with_single_dialog(message,title,scope,init_proc,NULL,&response,&object_tag,cursor,&view);  //选择框】  Y* `& _+ u$ V6 m6 Q
UF_UI_set_cursor_view(1);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)
" f% y& I6 b( {* t$ d0 AUF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示" o( j2 b& b8 f; i
UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);//解锁( H2 F& H6 \: a# f& s$ \$ R
1 ~- C1 n1 f* |  |
" u# N% _% Q. t: m" `8 C
if (response==UF_UI_OBJECT_SELECTED)
) L2 B1 C6 d! }- ]! e9 b  y+ Y* N{) q$ ~8 T( j4 i: W# q# D; X
  char view_name[132]="";: y$ Z+ g3 V/ b/ J/ C3 |8 O5 l
  UF_OBJ_ask_name(view, view_name); //获得视图名称  t  t8 W# B+ @* n  m' q
  uc1601(view_name,1);
; \% Z$ Y% e+ }, V2 w}3 n; E! u( Q% p' Q
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了