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 4000 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()却选不中点线面,是什么原因??困挠了好多天,请大神帮忙解决一下,非常感谢。……+ v  c" c( I9 i! {
        tag_t object,view;
; n) B6 C( O5 F! M        char cue[] = "select object ";
& n0 |7 q) E8 j9 W/ P1 y/ n        int scope = UF_UI_SEL_SCOPE_WORK_PART;//UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY,UF_UI_SEL_SCOPE_WORK_PART8 P- B( w, m& q
        char part_fspec [ MAX_FSPEC_SIZE+1 ];
8 n1 y/ j% S. L( U  I        int  response;
; `' V& [: Y8 r8 p& W        double cursor[3];6 P: s; H% F# R+ r" I, Q1 j
        tag_t part_tag;/ y& Q1 a0 e9 }) s! y; ]9 q
        CString infro;8 B, r- D& p. e' L
9 `7 g5 s% W3 j6 k$ n# g' r$ |
        UF_UI_select_with_single_dialog(cue,"select the edge",scope, UF_UI_sel_edge, NULL, &response, &object, cursor, &view );) V* e: d+ |8 f. q
        if (response == UF_UI_OBJECT_SELECTED ||! S2 R& ?% S0 g" W0 P
                response == UF_UI_OBJECT_SELECTED_BY_NAME)
( D  G' y; J. Y9 Z        {1 k- n# y! P7 d. t7 x4 ?
                UF_DISP_set_highlight(object,0);
; z) ]) u. v6 ?$ ^9 _6 u0 \                UF_MODL_update();
6 r3 `% u5 C! x1 s9 I' @/ q& E        }
: W8 }( S4 R+ U7 ^, `" Mstatic int UF_UI_sel_edge(UF_UI_selection_p_t select, void * user_data)
: r( @2 x$ t' E{  
. J: `. D* P9 h        UF_UI_mask_t  mask_triples[] = {UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE};
) x4 r3 o9 J" w, _: u/ d0 r        if (UF_CALL(UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,mask_triples))==0)0 H; K1 }  K; W+ J6 s5 V( B
        {; J' C2 q" x& Y8 W
                return (UF_UI_SEL_SUCCESS);% t9 V% g$ C: t2 R" Z5 _$ _8 u, p
        }
1 T& F$ [3 R% `! D        else/ L8 n2 y1 z4 m
        {3 e8 x1 z& ^. G  I5 u
                return (UF_UI_SEL_FAILURE);
4 a" C$ M+ w3 G9 \/ @; v6 v' z9 N- Q, E        }
# Y0 M0 y4 ~* ~" R9 P& C}9 `  H" ]" R' W' L* X. ^
+ S1 ~; x$ C" 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;' f' S  _2 e3 M
UF_UI_ask_cursor_view(&viewview);//获得你选择的视图范围类型0 = Any view,1 = Work view
8 G* y+ \) C0 n
$ N% |. U' V+ }" j- b+ L, L8 x3 B8 t3 u/ M* K! R$ Q
UF_UI_set_cursor_view(0);//可以选择“图纸上视图”里的对象# K, ~  s$ i5 H( f$ k
UF_UI_set_cursor_view(1);//可以选择“工作视图”里的对象
# w* B) \- {" J" v- `
2 J: y! g" e' |% W. {" _: }————————————————————————————————————————0 h9 n/ x* S% D+ Q0 m, q" ?
列子选择视图里的直线边缘" x1 W# b' R7 N9 A% l/ j/ W

6 N/ k+ o  u; F9 |5 M- n2 G#include <uf_drf.h>
" P. G$ w- `# u# [0 E# @#include <uf_obj.h>
; G: S* {* r% ]% I1 x; t#include <uf_curve.h>
! ^" [. s( {% u+ i; n+ K#include <uf_csys.h>- n" Z6 ~3 o" M) ~3 T& m
#include <uf_modl.h>
/ E% p& A9 {& j* Q! g% Z( \! w% n9 j

' S1 ?" k* s( s- C6 S2 o; u//设置选择的实体类型/ m4 m, w6 |& ^9 C
static int init_proc( UF_UI_selection_p_t select, void *user_data )
( B, _$ _. q1 d6 F{' v6 x( h* d) n& m$ a5 B* h
  int  errorCode   = 0;# B8 H2 \5 w8 k! {) ?9 C# L9 H
2 w( S2 J) L, b6 |3 \8 \! W
  int  num_triples = 1; //选择类型数量
# u% m% G1 h* T+ a% W/ u  UF_UI_mask_t mask_triples[] = {UF_solid_type,UF_solid_edge_subtype,2};//选择类型
2 d' g& u/ o& _3 d6 o, v% S9 e" Q7 I4 y8 K2 c; k/ o7 Z
/*% L% P' c6 X1 u( x1 G
UF_UI_SEL_MASK_ENABLE_ALL 所有面具类型
% x& C. ~7 t+ _; D3 @UF_UI_SEL_MASK_ENABLE_SPECIFIC  面具使特定的& J; r% N0 J0 }" ]# O1 b- h* |
UF_UI_SEL_MASK_DISABLE_SPECIFIC 面具禁用特定
% x7 i0 m% y4 n; K' PUF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC 面具清晰和启用特定: D  I+ g4 p! w+ r9 K- Z
UF_UI_SEL_MASK_ALL_AND_DISABLE_SPECIFIC 面具和禁用特定
  e6 R1 F0 L. ^8 x' z" S/ g*/; d8 I% D6 T  z, {
errorCode = UF_UI_set_sel_mask(select,
1 J. Z& K& X+ o                                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
9 R% j) O8 O& i0 l6 B# U                                                           num_triples, mask_triples);
' Z  y. ~" ^; t! n3 ~, Tif( errorCode == 0)
+ ^7 g! W% V- O) L0 j; a* N{: L: L  e: V: Z* j$ {
return UF_UI_SEL_SUCCESS;
! B9 A$ ~1 M: y5 J, c}0 b+ z3 F$ \* W- ~  H) P* H) h3 x
else* e. f% |1 P6 a& f
{
; {; _2 f. m3 W6 d return UF_UI_SEL_FAILURE;- v# ]2 h# e0 b9 z
}
1 n$ ~9 ~+ |, D1 R% o: i# F$ C4 }}
( m9 a/ V& o9 k8 z! C2 _+ h, [% U; i
/ e6 Y- g- m4 H: p& ^: v' S
7 }$ j6 x( Q. n0 l. j1 j7 z+ p  }- d- T
  /* TODO: Add your application code here */
5 B2 q( S3 b: q8 D% |
5 X' _; g& ?* t3 w9 C; F+ T  char *message="梅雷提示!请选择视图边缘。";
% v5 V* j' U# }. z: _4 E" h  char *title="梅雷-QQ1821117007";
* e3 }0 d3 Z% J$ Z3 t  int  scope=UF_UI_SEL_SCOPE_WORK_PART;//选取范围+ u! `) _. ]/ K% v
  /*
5 [- g% j' g3 l" f$ k+ h+ g  v4 M) N   scope=UF_UI_SEL_SCOPE_NO_CHANGE;         //选取范围没有变化4 @* Q/ _6 V2 C0 o% |
   scope=UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY;   //选取范围在组装3 w$ a; J2 i. Y1 P2 o
   scope=UF_UI_SEL_SCOPE_WORK_PART;         //选取范围是工作部分3 k' L5 B( k8 c7 m$ N
   scope=UF_UI_SEL_SCOPE_WORK_PART_AND_OCC; //选取范围是工作部分和OCC2 Z; r' u, s1 \4 [7 K
  */
1 I1 j* E. v; k& @int  response;  Y4 e- t9 d9 i7 v; C
tag_t object_tag;
% j- z) j9 J) h! {; `/ O+ G7 H" ndouble  cursor[3]={0.0};
5 H" J& o! m! p  ctag_t view=NULL_TAG;
$ n% h3 k) q) X$ f- c) e* o. P
7 {. J/ y5 X: \( B; ?* t& S; QUF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);加锁
5 p" I7 {0 V% U, ]7 z% cUF_UI_set_cursor_view(0);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)- Y+ s7 e5 D& s1 B2 M* ?+ U: {- k
UF_UI_select_with_single_dialog(message,title,scope,init_proc,NULL,&response,&object_tag,cursor,&view);  //选择框】
3 {: L+ b* o' B0 E. UUF_UI_set_cursor_view(1);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)+ c4 N4 q8 \8 `5 d' }* H6 ?5 x
UF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示
1 W, `4 p# f, L5 [8 @UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);//解锁
0 U+ _8 v) \1 U# H% m3 \* X! a) t% e3 H  U% O7 j; ^

! X6 V. g  O9 C4 y: N. L# \: {if (response==UF_UI_OBJECT_SELECTED) . P( E8 g4 ?0 L) r
{" s+ \+ V6 U6 V. {/ h6 c, _$ w
  char view_name[132]="";% c5 V, ^5 R0 ]2 c1 v9 w, J
  UF_OBJ_ask_name(view, view_name); //获得视图名称
/ C! Y+ d  E' a# {- M# b- N  uc1601(view_name,1);
! t6 R9 |& |6 s}
" _) v; x' d- K  n5 p7 n8 f
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了