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 3947 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()却选不中点线面,是什么原因??困挠了好多天,请大神帮忙解决一下,非常感谢。……; @, a# A6 {4 }# u) S' V
        tag_t object,view;5 y$ A+ \2 A: R
        char cue[] = "select object ";
, B% `" a( q+ X" @7 `4 r        int scope = UF_UI_SEL_SCOPE_WORK_PART;//UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY,UF_UI_SEL_SCOPE_WORK_PART
9 M5 E/ J, n6 l4 [        char part_fspec [ MAX_FSPEC_SIZE+1 ];' g) x: Z5 {% Q! g8 n  ]: m+ s' U
        int  response;
$ l& V6 C4 U, E+ r+ N. q        double cursor[3];( F1 g4 ?# N# s" N
        tag_t part_tag;
% O. u6 D1 Q9 I! E7 c, x        CString infro;
9 ~" G$ C7 l. ^6 z% N! p) P
* o5 V! M3 J0 E) h/ k8 F        UF_UI_select_with_single_dialog(cue,"select the edge",scope, UF_UI_sel_edge, NULL, &response, &object, cursor, &view );1 E# w) }) J. k4 U0 h
        if (response == UF_UI_OBJECT_SELECTED ||
' z: _1 J: _- w- D, m; r                response == UF_UI_OBJECT_SELECTED_BY_NAME)
9 \3 R: ]$ Y8 r' D6 l9 M4 Q; B        {6 L0 }2 M" L+ ?
                UF_DISP_set_highlight(object,0);
& i$ d2 H1 G! x& p; `- v                UF_MODL_update();
0 y  {7 |$ b6 J2 m6 F3 J        }
5 V$ T, M$ o  G( G2 d' N7 s+ jstatic int UF_UI_sel_edge(UF_UI_selection_p_t select, void * user_data)% m; c" Y9 h2 R' U" z( \
{  
# V- D+ L2 l5 J  O        UF_UI_mask_t  mask_triples[] = {UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE};: o+ [& Z  U4 }. G$ B; n( @6 b
        if (UF_CALL(UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,mask_triples))==0)
3 ~9 G  H3 z) s0 U  i$ P! f9 o        {) q. O. E* M* z; G
                return (UF_UI_SEL_SUCCESS);2 x; K, V* x7 I+ r2 p
        }
# {5 f1 W/ {( \9 e        else
8 n9 N( w9 d/ U3 P6 b        {
4 i% u$ z! q, ~4 `  ?4 I                return (UF_UI_SEL_FAILURE);" y: Y* V6 m0 P$ w
        }
; n# G5 P( Z- _2 f}
! S( i" O" N/ t& _0 R4 Z) J8 u+ ~8 g' c$ K) o
上海点团信息科技有限公司,承接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;& P6 [* G5 {1 C. Y) V! |
UF_UI_ask_cursor_view(&viewview);//获得你选择的视图范围类型0 = Any view,1 = Work view; G  S1 w  x4 v" ]' U4 }$ ?' D0 j
7 z2 L4 `$ Z9 M% k- V, Q7 r

% s* A. U0 E5 A1 A. K; z+ Q% v. N! CUF_UI_set_cursor_view(0);//可以选择“图纸上视图”里的对象
6 C3 w3 K- ~0 B6 P  l1 h1 IUF_UI_set_cursor_view(1);//可以选择“工作视图”里的对象
5 Q. v( c5 y% R: H$ R% h# l6 d5 p7 P
————————————————————————————————————————
  v8 c# d" B0 P% _5 ]  s+ R列子选择视图里的直线边缘2 l3 r- ?7 \- d2 o! t( X9 G
. u% J" v: L; D. ?4 Y2 t
#include <uf_drf.h>; ]0 J6 }* {* S; q/ d
#include <uf_obj.h>( y; @: I! ?; o  V# Y/ x
#include <uf_curve.h>
' r/ X* W  `5 s4 i8 E- j#include <uf_csys.h>
1 s' q4 I5 Q$ Z% ]* p, D& w9 P#include <uf_modl.h>& L3 j* P! f. c/ r) ]# i: e: H
$ N6 K0 i3 U4 B  c0 {% z
9 Q( P/ B" O3 V+ ?3 M8 T3 H
//设置选择的实体类型# k: O% W( Z. z4 Z# ~
static int init_proc( UF_UI_selection_p_t select, void *user_data )( j" J8 a+ \! R/ `5 t, D7 V) C
{2 c! w7 k+ t6 {) N
  int  errorCode   = 0;4 }2 D* S; A0 V- A+ c- C

) _* E( v/ t! y# H  int  num_triples = 1; //选择类型数量! S: f/ u; \' c4 B) O; J
  UF_UI_mask_t mask_triples[] = {UF_solid_type,UF_solid_edge_subtype,2};//选择类型1 l8 Y  ~5 R& X! g$ v& l

0 f3 w- M2 e4 V/ i8 @/*
& P* i1 ~# j& V+ ZUF_UI_SEL_MASK_ENABLE_ALL 所有面具类型
: R  X) T# q8 M$ |5 vUF_UI_SEL_MASK_ENABLE_SPECIFIC  面具使特定的0 Y" J- C. P" i
UF_UI_SEL_MASK_DISABLE_SPECIFIC 面具禁用特定3 |7 `. k+ H4 r2 W; {+ n- I
UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC 面具清晰和启用特定1 k9 m. X! J  j/ R
UF_UI_SEL_MASK_ALL_AND_DISABLE_SPECIFIC 面具和禁用特定8 f& |) G3 r3 Y! q
*/6 g& @) p# H) G, }5 C
errorCode = UF_UI_set_sel_mask(select, : e& ?) R- p4 {; J
                                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,* }1 }% z) Z0 y0 ~& ?
                                                           num_triples, mask_triples);
. A2 G- Y- f: y' l  Dif( errorCode == 0)% x! M: b/ b6 k$ [) R0 e
{
/ x; C; s% l( _4 A+ Y; t: m' Areturn UF_UI_SEL_SUCCESS;
2 G3 j  j- i7 r$ z' x# t) x0 ^}$ M" Q9 g4 u# I) z
else
6 Q- s7 E$ m7 Y5 W! d{0 c  x, a7 ]$ g7 K
return UF_UI_SEL_FAILURE;
. s$ y; a' Y3 G& W}
& |% ~/ ^7 G' M# D! O6 \- ?: h}' X- Q9 k8 a% _* t+ r

) T! j6 r1 F0 c% w+ ?
/ I4 z5 r3 {# o7 F- j" G' V6 m# \6 y
  /* TODO: Add your application code here */
, Y4 o0 i: `* Q, y1 p
" a" S5 {5 E8 m) S8 s9 \  char *message="梅雷提示!请选择视图边缘。";
: Z4 ]+ Q+ Z$ {+ n2 ?4 s  char *title="梅雷-QQ1821117007";
  v1 f; m; D, Y* {4 Y, r' F  int  scope=UF_UI_SEL_SCOPE_WORK_PART;//选取范围
2 b4 D) Y: o# ?8 |0 x  /*
; u6 n- u; f2 \   scope=UF_UI_SEL_SCOPE_NO_CHANGE;         //选取范围没有变化6 |: _# V4 E, c8 h
   scope=UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY;   //选取范围在组装
; [: N9 ~9 s1 k& j1 J   scope=UF_UI_SEL_SCOPE_WORK_PART;         //选取范围是工作部分
* Z' m. s' F1 J& y+ D5 h   scope=UF_UI_SEL_SCOPE_WORK_PART_AND_OCC; //选取范围是工作部分和OCC/ o6 A) M# U  g. M2 M
  */, n- y8 z% J. R
int  response;6 o6 ?; L5 E$ s* r
tag_t object_tag;2 i" y' K  i. G5 \4 h& R: M% H
double  cursor[3]={0.0};
& }) p# E% M; R4 S8 Q5 a3 ytag_t view=NULL_TAG;2 v+ `; m8 J8 w, l

: r' d0 G4 K+ t9 w. f! G9 |8 RUF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);加锁7 `& Q8 U6 s7 s. ?  f2 `, ^5 t
UF_UI_set_cursor_view(0);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)8 ^8 v" y, _0 v5 V
UF_UI_select_with_single_dialog(message,title,scope,init_proc,NULL,&response,&object_tag,cursor,&view);  //选择框】- f- d( Z# f) o' ]! M
UF_UI_set_cursor_view(1);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)
5 ~$ |0 B2 V2 Q% gUF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示6 g! `  d# ]: U& ?) Q# Z
UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);//解锁( ]6 h7 A; x5 N& s9 a1 _1 t5 k" C

+ P( f) ]4 r/ D! }$ Y7 |3 B  Q  \# z2 P. \
if (response==UF_UI_OBJECT_SELECTED) 0 ]4 f$ B# {% r: p
{
% ?1 P- X' n: a+ T* R  char view_name[132]="";
) T; x/ k; N. L( D  UF_OBJ_ask_name(view, view_name); //获得视图名称/ \7 S3 B4 \. X- _
  uc1601(view_name,1);
* ^" X" X4 e+ k, _}
& U8 e. ?1 `$ d0 z) P
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了