PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

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

  [复制链接]

2016-12-12 12:22:04 3993 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()却选不中点线面,是什么原因??困挠了好多天,请大神帮忙解决一下,非常感谢。……, F* i8 @, _% S$ X3 e5 W7 ^
        tag_t object,view;* ~+ Q- p4 H, N) l; K8 o) D0 b
        char cue[] = "select object ";4 B3 Z; f6 }, ^$ }7 H6 z( X$ G
        int scope = UF_UI_SEL_SCOPE_WORK_PART;//UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY,UF_UI_SEL_SCOPE_WORK_PART9 H5 _9 |/ w/ Q6 F
        char part_fspec [ MAX_FSPEC_SIZE+1 ];
8 b, C" x7 A, J5 ^! }9 w        int  response;
- G/ M* X- f) w% r: l0 Q" c; ~        double cursor[3];
: z0 N, d/ D# `- G8 e1 b        tag_t part_tag;& A, R0 C: a- d( n! H
        CString infro;
' ?& K7 S+ b" K  ]8 N# ^  C6 f: W: O' h* O: f" p! T, t
        UF_UI_select_with_single_dialog(cue,"select the edge",scope, UF_UI_sel_edge, NULL, &response, &object, cursor, &view );3 y4 X! D3 e. c" k1 K
        if (response == UF_UI_OBJECT_SELECTED ||, k7 Z4 w* x) z4 p$ ]
                response == UF_UI_OBJECT_SELECTED_BY_NAME)( L3 o* z% ]# A1 u+ W' ~
        {2 m$ `& @+ k# @5 m
                UF_DISP_set_highlight(object,0);( u5 W  Y& P  J! C* u
                UF_MODL_update();5 e6 n# e( `& x" S0 s
        }
% Y; S! U1 u+ U9 s$ g6 \% n- Jstatic int UF_UI_sel_edge(UF_UI_selection_p_t select, void * user_data)) w& w. L5 i& v) {# X
{  
1 n! S3 v! q6 M; z# Y        UF_UI_mask_t  mask_triples[] = {UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE};
( x9 ?" |8 F. f+ L5 H3 u' S        if (UF_CALL(UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,mask_triples))==0)4 r: j- g' O" b$ j$ Z/ w2 ]
        {
9 X5 s* N0 {/ A# ^6 T. V0 a% O3 E6 P                return (UF_UI_SEL_SUCCESS);
1 s9 K3 `0 b3 o. F        }+ T6 q+ n& s" h: x: w$ ?2 t5 a
        else
; @, Q- B5 q1 ~3 Y/ c+ j        {8 X3 `) }. @3 ~$ t! s1 b1 n
                return (UF_UI_SEL_FAILURE);
2 C1 D2 z8 w# |; O. c5 b        }1 d# ^$ r' l$ [' p' z$ P4 P
}3 a! ^4 f1 m  j9 `$ t% m

: K" J) U: t4 ?# d
上海点团信息科技有限公司,承接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' ~0 E* s- N' Y
UF_UI_ask_cursor_view(&viewview);//获得你选择的视图范围类型0 = Any view,1 = Work view  w* Z0 I4 A( X9 D; V1 D4 ~- r$ }; u

" F$ C+ m$ o7 e
: g  M1 ?7 ~1 p  g% s' g* O+ i5 lUF_UI_set_cursor_view(0);//可以选择“图纸上视图”里的对象
# C) s/ D6 I7 m4 n* pUF_UI_set_cursor_view(1);//可以选择“工作视图”里的对象
* L9 @: a! L; l, t# F
3 J0 d9 U7 V( [( {2 w————————————————————————————————————————
, W( E0 F/ O  r: y. n' w( E列子选择视图里的直线边缘
# D2 Q% c- Z# \
; l# J3 E# B8 k0 R$ D, B#include <uf_drf.h>
0 R2 H0 d: E. {. N; K#include <uf_obj.h>4 F4 n0 }) S0 ?+ h
#include <uf_curve.h>% v( V, S2 p5 L8 O# W$ s
#include <uf_csys.h>: r; w$ @$ |; e6 P- F! Q1 H
#include <uf_modl.h>
$ O# Z: @" p8 }7 N# Q3 O3 \5 R# T5 N1 ?/ Q  y7 P0 H( _5 k

$ V  R9 v; C8 Y% d" x//设置选择的实体类型
& l! V8 g* L- K& Ystatic int init_proc( UF_UI_selection_p_t select, void *user_data )
$ @  B: w+ L# u4 _{
' q7 n% v* _# w3 a4 p7 S$ U8 M  int  errorCode   = 0;) X0 S* O& |$ U5 E! g5 C( Z

% x; g  A) Z0 G8 v4 P  int  num_triples = 1; //选择类型数量
" d7 l" L* i* R* n) z  UF_UI_mask_t mask_triples[] = {UF_solid_type,UF_solid_edge_subtype,2};//选择类型
: Q/ F) `" ?: [5 B) c
6 X+ I0 L# X- _3 p/*
/ C9 [+ S8 W* WUF_UI_SEL_MASK_ENABLE_ALL 所有面具类型4 @: e' Q8 m/ @- W3 `
UF_UI_SEL_MASK_ENABLE_SPECIFIC  面具使特定的
0 I. d& Y! r# ~2 x: }+ N9 BUF_UI_SEL_MASK_DISABLE_SPECIFIC 面具禁用特定+ r: C! T. A5 @3 l: O
UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC 面具清晰和启用特定
2 _1 ~5 O2 x: W: q" @# {UF_UI_SEL_MASK_ALL_AND_DISABLE_SPECIFIC 面具和禁用特定- V& [" D$ s: r: {( f0 f
*/' J" k/ X1 G  c
errorCode = UF_UI_set_sel_mask(select,
% _) c7 K1 w" J1 Q6 q- U# B1 V) O                                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
1 r; M, t4 K4 a, J                                                           num_triples, mask_triples);' w  u, C+ L$ Y2 Q0 r; j% Q+ t
if( errorCode == 0)& Z' b. J5 f: p3 P$ S
{) M( J6 U# ~* L1 g: |
return UF_UI_SEL_SUCCESS;
' s$ N2 ]% B# q+ ]4 Y; v}
5 J6 ]4 p: D. U" {9 e else3 C, t9 `6 j' x. ]) c7 U: v1 u
{
: c0 y5 x% P" y. }7 R+ i return UF_UI_SEL_FAILURE;
% m5 l, t( s- {, w1 J  L5 @}
+ r$ k: g! i# n3 }% {3 O" G}( x% R- t+ G! b( L8 i5 r; O
! @+ q$ Z1 y6 L+ N3 ^; E0 p( k0 X

( g- O$ q8 V( I  M1 h
) G; c! j* q) E' H: Z* h" a$ e; @8 P" ~  /* TODO: Add your application code here */
( q2 \! H, o0 Y  s4 W/ B  F, H( \9 }) }3 ~- @9 k
  char *message="梅雷提示!请选择视图边缘。";- l! G1 ^* t' A; [; h; v: i
  char *title="梅雷-QQ1821117007";) r. u- Z' B% J
  int  scope=UF_UI_SEL_SCOPE_WORK_PART;//选取范围
. R8 a% S' W& Y/ B  /*
+ D* l. ?/ I0 z! ?6 \8 r5 ~" O   scope=UF_UI_SEL_SCOPE_NO_CHANGE;         //选取范围没有变化/ K. Y7 G9 D: `" O
   scope=UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY;   //选取范围在组装
6 H: ^$ T% f0 k* j% f   scope=UF_UI_SEL_SCOPE_WORK_PART;         //选取范围是工作部分) [1 C2 u9 K) K; Y% {3 z
   scope=UF_UI_SEL_SCOPE_WORK_PART_AND_OCC; //选取范围是工作部分和OCC
2 G% _5 }8 w1 U7 x( e& P% m  I  */9 Y, a% T( K/ ~! g
int  response;0 F6 C) t+ [( A. V0 u# H* I& Q* B
tag_t object_tag;# r1 D, Y' c' v! d$ u" W. a
double  cursor[3]={0.0};
. |* _. s% I, V( V2 i' xtag_t view=NULL_TAG;, l* K) s7 y" K' c4 M0 S
) ^+ @/ r( b9 _- a- t" T6 O
UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);加锁
5 }  J$ F& Y5 }& iUF_UI_set_cursor_view(0);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)
1 |6 j- h0 m) }UF_UI_select_with_single_dialog(message,title,scope,init_proc,NULL,&response,&object_tag,cursor,&view);  //选择框】$ `- V" G7 t. Q1 U  ]; \+ D) a# ~
UF_UI_set_cursor_view(1);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)
! h& i% I2 ]% x, m: hUF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示
. ^3 J8 k* R# {; AUF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);//解锁% F) a& n: L0 d. Y# Q  u

- h; \' t: X' L
  a, x+ c/ B( [) @! G$ D3 d, _if (response==UF_UI_OBJECT_SELECTED) 4 z, ~6 R$ z9 p  X
{
9 W" Z6 V& T+ S' {  char view_name[132]="";/ C/ \: K* g3 }' e$ L2 R# g, \/ G( \
  UF_OBJ_ask_name(view, view_name); //获得视图名称; g1 [: \* F9 J6 w
  uc1601(view_name,1);  `: d' g0 n' n" J" L, ]
}7 n6 ^( F2 Z: E; C: C2 B
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了