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 3982 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()却选不中点线面,是什么原因??困挠了好多天,请大神帮忙解决一下,非常感谢。……# @: D' w) u2 j# F* p8 W" E2 U) s
        tag_t object,view;  ^7 I) R: _  C" q/ l7 O, m
        char cue[] = "select object ";5 _& ?. j2 m( |4 p# Z
        int scope = UF_UI_SEL_SCOPE_WORK_PART;//UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY,UF_UI_SEL_SCOPE_WORK_PART
: k: w9 w0 T  h/ i1 N) U        char part_fspec [ MAX_FSPEC_SIZE+1 ];
9 w+ K* S# k5 c+ H# j% D5 m        int  response;# [  _  T8 w0 J5 F( E
        double cursor[3];
' u2 I' k7 h) G- W; o& s# K        tag_t part_tag;
2 T: e6 ]5 Y7 X' i% _        CString infro;3 l8 ~2 z8 o/ f3 G3 A
$ E7 l4 n& W% W6 m/ B
        UF_UI_select_with_single_dialog(cue,"select the edge",scope, UF_UI_sel_edge, NULL, &response, &object, cursor, &view );
9 ?$ ?) V* D$ x$ Q% \8 _! {        if (response == UF_UI_OBJECT_SELECTED ||
7 |9 q9 Z& d0 c3 w                response == UF_UI_OBJECT_SELECTED_BY_NAME)
( b' K, t6 n4 L4 T, \! @# e1 \+ {        {- }1 v+ r9 A# F! {
                UF_DISP_set_highlight(object,0);
$ Y1 v" c/ f. V6 ]8 L+ a& H; A                UF_MODL_update();
" c- I" u( o3 _1 D( ^        }
5 `( G" Z5 s! Pstatic int UF_UI_sel_edge(UF_UI_selection_p_t select, void * user_data)
8 C: w& ?# {2 e  y$ X0 o" d9 H{  
2 p  O1 }% s  Q. m4 ^- v; a        UF_UI_mask_t  mask_triples[] = {UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE};2 k( v, Q1 b& ?6 j! {; y7 E$ N2 D$ w
        if (UF_CALL(UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,mask_triples))==0); V* T- @$ E* N( N2 T3 H
        {: }" t5 |7 H7 r: ~
                return (UF_UI_SEL_SUCCESS);" l3 \) [) Q- a9 J, v( @( E
        }9 o8 ]; W% L( i6 C( N0 e; u
        else& Z1 N2 [" X/ D7 W  x, b. ?2 a
        {
6 @  y) N, D' V! m3 q+ v- e5 D                return (UF_UI_SEL_FAILURE);
' N- N- x  F, r* t2 Z4 E; b        }/ i7 x* C. ]9 D
}
6 n) a0 I7 @0 T+ @3 ^3 y% [  j& ]/ G0 a* m) C: w2 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;
/ D2 [( g! P# q- S5 HUF_UI_ask_cursor_view(&viewview);//获得你选择的视图范围类型0 = Any view,1 = Work view
) z, A0 j, d& u1 N4 a
; m# Y5 f, O2 x% S4 C* c5 O4 X# _) s; t7 H4 [. j! B3 n
UF_UI_set_cursor_view(0);//可以选择“图纸上视图”里的对象
6 @9 q, V" e6 q4 w8 W+ jUF_UI_set_cursor_view(1);//可以选择“工作视图”里的对象+ E9 `- _0 L& B$ A; `# T0 |
- w8 a8 P4 E2 r, I; R5 D" j' D
————————————————————————————————————————  _* m1 J9 y) P) W9 _
列子选择视图里的直线边缘
  H5 R7 \# o% C* p6 s; L+ G
$ w7 }2 s; x, b- f#include <uf_drf.h>1 p5 z0 G- E" g$ k! h0 x. u
#include <uf_obj.h>7 P0 {. m7 M/ i0 u  a
#include <uf_curve.h>; D% N! b3 D$ j
#include <uf_csys.h>" \+ A4 }# u3 ?2 }
#include <uf_modl.h>
" b2 t5 I4 w5 J) h* f4 T! R1 R" L# s% [; G, q

; |. X7 F* f: k/ `7 v//设置选择的实体类型
2 m2 n- ^6 F. F) J5 G9 u" ostatic int init_proc( UF_UI_selection_p_t select, void *user_data )8 C' X; }, p8 x- h
{! z9 p8 E3 J. E/ {" F
  int  errorCode   = 0;! {( b. y6 E! r
( S, k( ~& Q2 A* }
  int  num_triples = 1; //选择类型数量) P) N3 `5 s) a9 ^# Y7 R1 a. X
  UF_UI_mask_t mask_triples[] = {UF_solid_type,UF_solid_edge_subtype,2};//选择类型9 A. K/ |1 P+ X! ~
0 U. X6 d# {0 b, T: j! {0 R! H/ C9 I
/*
+ C' I; y. p/ DUF_UI_SEL_MASK_ENABLE_ALL 所有面具类型5 l' h8 `* y) c* b7 p
UF_UI_SEL_MASK_ENABLE_SPECIFIC  面具使特定的! F6 o6 Q2 n: W! B- d% X
UF_UI_SEL_MASK_DISABLE_SPECIFIC 面具禁用特定
( i' q5 a4 \/ |) s( FUF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC 面具清晰和启用特定9 c; y" d! Q  b1 `
UF_UI_SEL_MASK_ALL_AND_DISABLE_SPECIFIC 面具和禁用特定
2 |, q+ G* y8 j) q4 d3 T( n9 `*/% y& p& |8 S- `' X* B
errorCode = UF_UI_set_sel_mask(select,
1 D' ~  V8 [8 p1 j& v! I                                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,- o, O+ ?- ~( Z, {4 ^* ^6 {
                                                           num_triples, mask_triples);
+ D; z  s& a0 R( K- K% Bif( errorCode == 0)& I7 ~, M) J) W8 L3 E- O- y0 t
{
% t# _3 [! G5 C% q5 V4 X! d) {return UF_UI_SEL_SUCCESS;
, a4 ?9 ?, u. ~8 L}  A7 ?9 V" s5 r( B4 h% J" q9 v
else
$ q1 R! D: U7 w{
& C8 S) c3 Y5 f+ z* u4 e return UF_UI_SEL_FAILURE;
4 b' a8 B7 s' w: {7 @# L}4 X- q% I6 `7 l( R$ g0 b7 R1 j7 n: `
}
+ l2 F0 d& l3 j8 F4 a7 q! q7 p
7 P- ~' d* i0 w; ^9 W: E, N; w$ |1 n3 ?8 \9 V3 M; A; y5 Q  S5 d

4 {) D8 g- M1 }& ?  /* TODO: Add your application code here */% B+ x: C0 r, [" s1 O+ N7 t
( X0 `0 e/ I! K! \1 q
  char *message="梅雷提示!请选择视图边缘。";) b1 I7 W; N; k& k5 d4 L
  char *title="梅雷-QQ1821117007";
7 H, S1 W9 R1 m  int  scope=UF_UI_SEL_SCOPE_WORK_PART;//选取范围% r; w8 r. y* ~
  /*
& x" v. b) x/ F  ~& L4 X% t+ g   scope=UF_UI_SEL_SCOPE_NO_CHANGE;         //选取范围没有变化" C: t8 Y8 t' u, \9 L9 _& ^
   scope=UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY;   //选取范围在组装
2 n' j* @2 W0 V/ Q   scope=UF_UI_SEL_SCOPE_WORK_PART;         //选取范围是工作部分
  f6 i  `2 C2 v4 p- Y2 E' L" o   scope=UF_UI_SEL_SCOPE_WORK_PART_AND_OCC; //选取范围是工作部分和OCC
' e: P, F8 O" T2 @  */
8 \" D( ~6 J' Q/ @) pint  response;
. E+ b4 H# @6 x& J, Htag_t object_tag;. F3 u2 y9 U8 D1 j
double  cursor[3]={0.0};" C1 b( Q$ S; t; Y% y
tag_t view=NULL_TAG;* P/ N. d# h2 ~1 E" M8 \! b4 e

! W8 P3 P7 l& i1 a  k7 i$ ZUF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);加锁& S+ a; R/ n( B; r
UF_UI_set_cursor_view(0);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)
$ K. Z7 O1 _& R# `- ]  ]UF_UI_select_with_single_dialog(message,title,scope,init_proc,NULL,&response,&object_tag,cursor,&view);  //选择框】% N4 \, m$ n' M# F, o; J
UF_UI_set_cursor_view(1);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)
2 X2 h# v. n$ Z* W) Y" _0 ~UF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示
0 c4 ^6 U! ^6 E  \, E4 P" R* n' {UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);//解锁
1 e& X% t4 c* z1 q7 W4 z2 E$ h) i1 F- ~4 \9 d/ |4 f" o

( B' u8 `" u; u% vif (response==UF_UI_OBJECT_SELECTED)
3 A) t; G* Q/ c# H3 Z- ]{
" i8 f+ I6 e2 K: t/ Z, F' ^  char view_name[132]="";' \2 x9 P/ O$ L% m. A
  UF_OBJ_ask_name(view, view_name); //获得视图名称
; [/ d' O2 K4 P9 Y- ]- _  uc1601(view_name,1);
) ]+ Q( ^- m1 \' x! d}
' ~3 Z2 |3 [+ U5 [. ]# l7 e
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了