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 3981 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()却选不中点线面,是什么原因??困挠了好多天,请大神帮忙解决一下,非常感谢。……, _  Z$ X' w  g$ @- d# b1 b
        tag_t object,view;
& j0 O8 v  r! f, T, S6 d3 A" E        char cue[] = "select object ";) J3 {2 X' @* O5 q* @8 E4 o/ D1 }
        int scope = UF_UI_SEL_SCOPE_WORK_PART;//UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY,UF_UI_SEL_SCOPE_WORK_PART0 ?( j& K% A  H( d/ i. \
        char part_fspec [ MAX_FSPEC_SIZE+1 ];! ]: r4 m, o: g1 s" F& _
        int  response;
" G+ M  X* f: C+ c0 o. K        double cursor[3];' G3 I8 s% ]% g1 G5 ?
        tag_t part_tag;, [3 d+ F9 z- y- H" \4 B; M/ P% m
        CString infro;* s7 a, v; ]0 G1 S6 C
0 I* d! m  W' R9 T/ n% P
        UF_UI_select_with_single_dialog(cue,"select the edge",scope, UF_UI_sel_edge, NULL, &response, &object, cursor, &view );. ~5 K: J- m+ |
        if (response == UF_UI_OBJECT_SELECTED ||
/ V) R/ S* \' S1 v$ O                response == UF_UI_OBJECT_SELECTED_BY_NAME)
6 e% w' J! ]3 p# s; C        {# p& }6 P- Y( b1 H3 I% X
                UF_DISP_set_highlight(object,0);
$ ~# c' E# ~' J- ]5 c                UF_MODL_update();
1 G, w) S- z8 V        }
( t5 w/ L  O9 c% ^3 p1 a' r* Vstatic int UF_UI_sel_edge(UF_UI_selection_p_t select, void * user_data); }3 ]- ^( n7 {$ q- Y
{  
6 M) Y, [' ~( }+ q        UF_UI_mask_t  mask_triples[] = {UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE};
1 _$ i! ~5 Q8 q  {. `        if (UF_CALL(UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,mask_triples))==0)$ y9 P  U7 z1 q1 P6 I3 {$ v% L
        {
' H9 @. m4 q; [9 h9 O0 I. }* z                return (UF_UI_SEL_SUCCESS);
% a* H1 K* v% n" l, O        }
. ~  ]$ q( w0 h3 M  B& ^" W, u% W% O        else
+ O2 ]$ x, [! \" k) u: Z        {5 a" `# p, h& q. N$ I' `; x
                return (UF_UI_SEL_FAILURE);3 H+ ?( J2 T0 A* T* M0 U9 w4 @
        }
7 @" l. u3 v% I5 |* }}" {/ r1 X8 \" u  n& |$ |. I' A
% M  F9 d7 f1 C/ o9 t# i
上海点团信息科技有限公司,承接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;4 l4 o* m1 V$ _0 k" P7 o( Q* j
UF_UI_ask_cursor_view(&viewview);//获得你选择的视图范围类型0 = Any view,1 = Work view
5 S( u2 K  ?, x
3 l, Z0 ]- A/ h$ K/ ^  N, a7 T3 R; A, ~6 u, O. X7 F: D" c
UF_UI_set_cursor_view(0);//可以选择“图纸上视图”里的对象
8 \, j/ ?; y5 x$ u0 O3 rUF_UI_set_cursor_view(1);//可以选择“工作视图”里的对象. G1 M7 h2 I% ?9 z+ p, ?

! _$ p# a% D( ]: b5 F+ Z————————————————————————————————————————
$ h* w5 M9 Z3 |: h9 _) C; M列子选择视图里的直线边缘
, \" ]$ ]9 f' u" W4 t
, p1 ^* |# u* F#include <uf_drf.h>
1 u9 W" s/ Z8 I  r3 p5 Q' C#include <uf_obj.h>
. S4 z5 L7 ~- v- ^5 }#include <uf_curve.h>
8 |7 W" k, j! X#include <uf_csys.h>* A) r$ V* k  [" m
#include <uf_modl.h>
7 F( B- Y) A$ F& _$ B0 f/ o; [
% O; I8 p! G6 C
//设置选择的实体类型
' h4 d# s4 y. k+ f1 D* ostatic int init_proc( UF_UI_selection_p_t select, void *user_data )  {- ]7 _: ~" l/ v1 R
{2 V- Q- y1 Y3 C# M" W+ K
  int  errorCode   = 0;
" O  g! m) `' Y: w' L) }$ R) Z' r  x+ i
  int  num_triples = 1; //选择类型数量
6 u$ U' |! C6 o% F( ~) I  |  UF_UI_mask_t mask_triples[] = {UF_solid_type,UF_solid_edge_subtype,2};//选择类型8 c6 D& c+ G+ e9 D* h

& u7 |, L2 s, ]2 _! ?# A3 c/*
+ R7 V1 D& }. P5 r/ C5 K6 e- YUF_UI_SEL_MASK_ENABLE_ALL 所有面具类型
1 n2 d# Y0 o0 L4 i) n: p6 M) h+ [UF_UI_SEL_MASK_ENABLE_SPECIFIC  面具使特定的
, M8 v, t/ z! ?' W) ^; ?UF_UI_SEL_MASK_DISABLE_SPECIFIC 面具禁用特定
0 s+ a7 |( |/ _4 S* z0 x6 YUF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC 面具清晰和启用特定8 Z3 l! a; `& D1 N  C9 E' Z! a
UF_UI_SEL_MASK_ALL_AND_DISABLE_SPECIFIC 面具和禁用特定) A  s( B; g, b8 w* b
*/2 [* |. B- X0 q# A
errorCode = UF_UI_set_sel_mask(select,
, \8 o  g( e* r5 W                                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,- \  z& z/ P' p% C
                                                           num_triples, mask_triples);
- A+ _8 Z0 s+ r; Jif( errorCode == 0)
% `( f: W3 O! I1 V{' D# s3 I' ^: t7 S7 n. n( L3 [1 n, J% V
return UF_UI_SEL_SUCCESS;! ?: l" D+ R5 F3 S/ z  t
}2 K2 ^4 f( [' Z$ t+ [1 O3 q
else
# f8 [. H- v2 j' K. c# l{
2 q: `( O6 P, N% V return UF_UI_SEL_FAILURE;
& j+ t7 N; s1 L}2 ?& v8 {% f+ z2 Z* f
}" {/ C2 A( D( R3 k, r

# E) [5 B/ q$ P' @% s1 M1 E, h0 B" n1 `6 n# {8 {" W* E1 Q/ i
4 C- ~& [7 V2 G1 h) e! b  W
  /* TODO: Add your application code here */
8 d5 b, H! Z$ h: J& @! D
7 Q! V: x4 j' A/ G. m3 G0 W  char *message="梅雷提示!请选择视图边缘。";: W, O0 d* P, K7 I0 e
  char *title="梅雷-QQ1821117007";% p5 r8 r/ ]) l5 Z
  int  scope=UF_UI_SEL_SCOPE_WORK_PART;//选取范围
; }' ~( U. |% W. a7 H/ r3 y  /*; M) |6 d" @( M: y
   scope=UF_UI_SEL_SCOPE_NO_CHANGE;         //选取范围没有变化( _: ~6 i: o+ `) d6 q  x, Z
   scope=UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY;   //选取范围在组装
' q0 ^5 J0 i$ E* e+ k# f, i   scope=UF_UI_SEL_SCOPE_WORK_PART;         //选取范围是工作部分
- S9 C* y' f% B. J2 o1 w   scope=UF_UI_SEL_SCOPE_WORK_PART_AND_OCC; //选取范围是工作部分和OCC
) H- F! L6 @! R: W. U. T' @  */( r5 o8 p) ^2 S' ]
int  response;. Y' ?2 H/ y- M
tag_t object_tag;
0 \, W* {- o6 L7 M+ c. T  J& wdouble  cursor[3]={0.0};
0 }( @" _/ n% S! U, Q& ttag_t view=NULL_TAG;* g# J4 n* `8 l; ]5 V+ w  `1 Z) }4 m6 z
, P0 ?% R+ K2 O& L8 g* ?. J
UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);加锁; g, V. A# [' s( T
UF_UI_set_cursor_view(0);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象). {3 H. r4 |% f3 T
UF_UI_select_with_single_dialog(message,title,scope,init_proc,NULL,&response,&object_tag,cursor,&view);  //选择框】; D8 S& F5 D' b$ q+ e" G
UF_UI_set_cursor_view(1);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象); G5 K  \, g5 k& T$ L7 ?5 S
UF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示0 x: q" ~! I5 w
UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);//解锁
/ A7 H# G4 ]' i
2 A) P. f6 ~; Z( Z1 Z' J$ m5 t2 t% ^
6 o9 c2 A) V/ o( V, a1 Xif (response==UF_UI_OBJECT_SELECTED)   S5 S5 `$ G) L8 f5 ^. \$ ]
{
3 U& }. ]& X9 c2 o# H  char view_name[132]="";, G0 ]: O9 w( n8 x  z1 Z# i" w' H8 Z
  UF_OBJ_ask_name(view, view_name); //获得视图名称
- I# G* [- l9 u* s. q  uc1601(view_name,1);! P/ g3 h0 r( J7 T+ B
}) r: m0 s, i) Q4 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二次开发专题模块培训报名开始啦

    我知道了