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-国产软件践行者

[求助] 关于属性模板使用的问题求助

  [复制链接]

2018-6-16 12:51:43 5369 4

airintheair 发表于 2015-12-1 13:48:36 |阅读模式

airintheair 楼主

2015-12-1 13:48:36

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
情景如下:
" \  y6 Y* s6 ^5 e  O$ G: n. U我在NX9里,建立了一个属性模板,模板内容含两条,其中一条选择保存后锁定,然后在建模环境下创建了一个体,对属性的值进行写入,保存后重新打开,看到属性是如下图1所示的。(这种属性锁定是我所需要的,不是不小心锁定哦~)
  n9 b9 v; X7 D% ~+ N9 V2 J, h. ?( I* q6 u+ v0 Z. [$ W, s" m
现在我想做一个开发,可以解锁这个属性,然后再对这个属性进行赋值,写入以下代码之后,出现两个报错,
: P% p" o" d# a8 d第一个错误出现在UF_ATTR_set_locked这个函数的值,如图2所示。
: n* i: C* K6 x! B第二个错误出现在UF_ATTR_assign这个函数的值,如图3所示。1 D' `# q+ p9 }, b+ ~

, k  L& A$ U7 T0 _, n; L现在就请问大神!有没有什么办法是可以帮我实现我想要的这个功能?3 D- W' F* Y- U' i, D

; u2 i6 L  E8 b2 _代码如下:: ~" L4 O( G7 ?  t
代码应该没有什么问题,问题在于如何解锁属性模板中锁定的属性?9 {( O3 g8 n& w# _; x, I

  1. * ?8 a0 s! C- L* r, ?1 [+ g
  2. <P>int res=0,a=0,b=0,erro=0;$ A* q' g7 ~2 q% b, H; f  \% a
  3. tag_t obj=NULL_TAG;
    0 }! I! ~2 S5 L5 o! A
  4. double cursor[3]={0};4 m& y: k; M, r* W
  5. tag_t view=NULL_TAG;/ O/ D: z8 O* W( f
  6. logical locked;
    ! O1 i4 K5 q0 P6 w/ Y* B$ j
  7. char msg[256]={0};' Y" P* l) J% Y# V6 {( Y* t2 [
  8. UF_ATTR_value_t sv;8 y/ a/ A: Z% u$ Q. u$ V2 m  L
  9. 6 u9 p& U; M* t  F
  10. UF_UI_select_with_single_dialog("","",UF_UI_SEL_SCOPE_WORK_PART,body_sel_init,NULL,6 J6 {  Q3 e  S! k  u' |; ]
  11. &res,&obj,cursor,&view);
    ( y8 A5 `# w% K" `2 h
  12. UF_ATTR_ask_locked(obj,"text1",&locked);  E/ E# ?7 ]5 f& s; S3 M$ Z7 f1 g: t
  13. a=locked;
    4 u6 f5 d% W$ p' C) P- Y
  14. UF_ATTR_ask_locked(obj,"text2",&locked);* B! e; i! N7 {0 ~5 V# j. ~) |8 i
  15. b=locked;
    + g' m- t6 U. o; Q" ?2 W; w
  16. erro=UF_ATTR_set_locked(obj,"text2",0);
    ) Q2 K+ E4 C/ U# D
  17. if (erro!=0), K; m# y3 a) u2 f
  18. {0 J' O! @. y% Z9 g/ K; c' ?
  19. UF_get_fail_message(erro,msg);
      V  B  C) d, h% Y9 {6 Q
  20. uc1601(msg,1);
    + v4 M1 c& M) u  W9 e
  21. }
    / l& O" C* X1 g7 p$ X
  22. sv.type=UF_ATTR_string;
    ( Y6 B3 o8 k6 G2 V) @
  23. sv.value.string="11111";
    9 @) ^9 w* w' s2 s
  24. erro=UF_ATTR_assign(obj,"text2",sv);
    ) Q  r$ M  D5 Y. v3 w8 s$ ^( J  m" w
  25. if (erro!=0)
    ; r- t( q+ Z3 r+ L
  26. {" ?! N" _) P  }) D2 w
  27. UF_get_fail_message(erro,msg);
    & R4 q2 {7 o# r  ^$ g  w: _% j  ]
  28. uc1601(msg,1);
    % R. s: T6 t- W; w1 N0 O: `
  29. }
    ! K/ I  M+ [; J/ z/ @( [
  30. / v0 o% K0 @! j
  31. UF_DISP_set_highlight(obj,0);</P>
    " y* H* L# q& d  ~' q8 T( O9 U0 w& b
  32. <P> </P>
    7 ?% u  W6 ~" s3 n! i2 S, d0 G  W' O
  33. <P> </P>int body_sel_init(UF_UI_selection_p_t select_,void* user_data)
    ' v/ P& [% \) V0 e8 h4 ^' J
  34. {
    - s# `- o" y; d" ]
  35. UF_UI_mask_t a1[3]={UF_solid_type,UF_solid_body_subtype,UF_UI_SEL_FEATURE_SOLID_BODY};
    7 S  T8 V/ D: K' c
  36. UF_UI_set_sel_mask(select_,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,a1);5 J6 ~5 i; C/ V% Y
  37. return UF_UI_SEL_SUCCESS;2 U7 m! @2 U) M1 h3 B& O
  38. }
    $ w! p' }2 b8 j: H3 w4 V: R: g7 g
  39. <P> </P>
复制代码
2 t. |8 [: k' l4 j' b0 r

" Q% d4 t3 ]* d& A6 m$ P/ {

图1

图1

图2

图2

图3

图3
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复4

admin 发表于 2015-12-1 20:10:05

admin 推荐

2015-12-1 20:10:05

airintheair 发表于 2015-12-1 05:49
. ?! d+ @) @1 Z7 i7 ]9 v6 j图1中,text2只读那一栏是锁定的图标

: R5 G" r/ `) u7 JOverview1 H5 j; X& j7 U6 L  }
, L* Y/ V6 v, P
) f  v7 z. ^% Z' R/ N4 g! R
Sets the lock status of an attribute on the object specified. If the attribute does not
8 ^- B9 C. j1 |: ]- V( e3 u% h exist for the specified attribute type then an error is returned.
0 t9 Z, i1 A: X, e
5 l! k8 O$ C5 _! G6 j7 t Passing an object tag will result in modifying an attribute
# ~8 c4 s( q( O4 S2 H& ^7 s on that object. Passing in a part tag will result in modifying
4 ]% |# p! b9 ?/ ^' h a part attribute for that part. 3 e5 P; Y/ [+ A1 u
" b  s2 |, E3 r
The part in which the object resides must be fully loaded. 5 Q! N% f  P8 S  e* t+ [

! O/ M# U$ p, b8 _5 |% _8 h Unlocking a locked attribute requires access via a Customer Default setting 3 k1 H- z& ?! m# q6 Q
0 P$ H7 h* i1 n8 a
Discouraged in new applications % _3 [! _) Q6 B! ]$ a/ _
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 1 反对 0

使用道具 举报

airintheair 发表于 2015-12-1 13:49:58

airintheair 沙发

2015-12-1 13:49:58

图1中,text2只读那一栏是锁定的图标
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

airintheair 发表于 2015-12-3 12:59:14

airintheair 地板

2015-12-3 12:59:14

admin 发表于 2015-12-1 20:10$ Y; K5 Z6 d3 F  H+ O! F; ]& f6 _# K
Overview
- _5 E1 D3 b: ]8 h
太棒了,完美解决问题,3Q老大!!
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了