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 5250 4

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

airintheair 楼主

2015-12-1 13:48:36

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

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

x
情景如下:" ]* \5 a" v1 o4 b
我在NX9里,建立了一个属性模板,模板内容含两条,其中一条选择保存后锁定,然后在建模环境下创建了一个体,对属性的值进行写入,保存后重新打开,看到属性是如下图1所示的。(这种属性锁定是我所需要的,不是不小心锁定哦~)
- c8 i: I! [8 t: z9 V) p- r' R4 V
$ S, t. f' R- d% ^4 g现在我想做一个开发,可以解锁这个属性,然后再对这个属性进行赋值,写入以下代码之后,出现两个报错,
+ A% @5 l/ X$ y$ }# J- ~第一个错误出现在UF_ATTR_set_locked这个函数的值,如图2所示。
% v1 f" d- W- A: n3 ?- ]# `第二个错误出现在UF_ATTR_assign这个函数的值,如图3所示。& g+ D8 H1 a% o5 k
6 d: l' x# }* v' D
现在就请问大神!有没有什么办法是可以帮我实现我想要的这个功能?4 M; y% t! s, @3 Q/ ?+ \* q  M
4 [1 b) @3 m" p9 \% R4 c- q8 G
代码如下:
. L1 Q" Q- \  o代码应该没有什么问题,问题在于如何解锁属性模板中锁定的属性?. V3 Z# j+ U0 L: l1 a

  1. ' P( O- F+ ?) z4 `
  2. <P>int res=0,a=0,b=0,erro=0;
    + y, m$ X$ R& f9 Y2 z4 O. x
  3. tag_t obj=NULL_TAG;3 t, l5 x( ~/ T
  4. double cursor[3]={0};
    ! w+ G) X+ x. t3 c5 a) g" h
  5. tag_t view=NULL_TAG;
    8 O' G3 Q( Z& }/ g
  6. logical locked;
    / x7 v( i" ]$ I5 d- A- \$ t
  7. char msg[256]={0};
    * o8 d0 {6 g5 ^- c! i" T6 C% _6 ^
  8. UF_ATTR_value_t sv;4 g2 h: {5 N! ?- w
  9. + r3 V7 t# f' ]) M% n/ W+ h% u6 T
  10. UF_UI_select_with_single_dialog("","",UF_UI_SEL_SCOPE_WORK_PART,body_sel_init,NULL,
    , d. w$ P( ~! [: ?, f* a4 O% b
  11. &res,&obj,cursor,&view);4 d8 B+ x9 K+ x9 [
  12. UF_ATTR_ask_locked(obj,"text1",&locked);' A- Z, {+ r! `0 x4 o( r& b
  13. a=locked;: d9 g& |" R1 w7 @
  14. UF_ATTR_ask_locked(obj,"text2",&locked);: H* V8 G8 i, F( E4 y4 |
  15. b=locked;
    + r" U/ ^- \9 {2 ]. S" g
  16. erro=UF_ATTR_set_locked(obj,"text2",0);$ i3 k, t- q* g) ~+ B
  17. if (erro!=0)3 h1 m7 v' e2 ^0 Q$ ?# B
  18. {% L) j: E) U- u  }+ I7 `- ]
  19. UF_get_fail_message(erro,msg);
    2 s: H) z3 c6 a
  20. uc1601(msg,1);
    / C  V* Y0 H4 b( r/ D9 K4 x
  21. }- G7 X9 B3 m( }$ o; `
  22. sv.type=UF_ATTR_string;" s) x. ]3 m* W$ D& `
  23. sv.value.string="11111";6 F  n% R+ f) b' t, U* o
  24. erro=UF_ATTR_assign(obj,"text2",sv);& v* K0 Z& u( \* [
  25. if (erro!=0)
    7 F- V8 |7 q4 [) ~/ w, b" J
  26. {
    " O' }" i; P3 Z6 \) |0 J7 W; w
  27. UF_get_fail_message(erro,msg);9 b! p7 D5 w4 K
  28. uc1601(msg,1);
    7 [, n5 C& j  e+ d: S
  29. }
    * t; ^& A* ]" ~! Z( [, x9 w
  30. / _3 @* F$ p5 A2 s. s1 O
  31. UF_DISP_set_highlight(obj,0);</P>
    + \* }) m/ U' |) T4 e& `
  32. <P> </P>2 G0 f) I6 s3 L2 P7 q
  33. <P> </P>int body_sel_init(UF_UI_selection_p_t select_,void* user_data)& \% o9 P% o4 c! E
  34. {
    1 t" L% b% Q  g  o# x+ m, a. V
  35. UF_UI_mask_t a1[3]={UF_solid_type,UF_solid_body_subtype,UF_UI_SEL_FEATURE_SOLID_BODY};
    % U$ Y) p/ Q  K
  36. UF_UI_set_sel_mask(select_,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,a1);
    ' K. ^. d; \7 a( {! m$ G
  37. return UF_UI_SEL_SUCCESS;
    7 O% h1 j+ z- V1 j
  38. }
    ) i( Y& g5 B: x, y* G
  39. <P> </P>
复制代码

( O% z6 O/ p3 J. d" |6 j! i" h; d  j3 ~) ]% @& ]2 z- j

图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
9 O! Z: O7 G1 M& [$ N) p图1中,text2只读那一栏是锁定的图标

, H' P$ A7 g+ Z6 J+ p6 GOverview
  m' Z% `. n+ ~- o, p" U
! e5 {: j  Z' `3 w2 {# B# e) q. \+ X7 M1 |: i4 |
Sets the lock status of an attribute on the object specified. If the attribute does not
' I5 ~7 X7 O* U exist for the specified attribute type then an error is returned. " j8 R, d1 {# M0 _6 ]  e, P

5 f* G% W1 e0 y, e6 P# I Passing an object tag will result in modifying an attribute ) [& ?0 ~5 v) V+ R- l% l3 n
on that object. Passing in a part tag will result in modifying
& y- h0 S2 \6 `# }! p a part attribute for that part. ' F8 p+ L0 T* }6 @  u0 A  s% @
1 Z* g0 Z' R6 t0 O1 b1 B, f/ C
The part in which the object resides must be fully loaded.
5 |2 Y( p" U( y2 d
4 q/ w3 B: F# s" f& P Unlocking a locked attribute requires access via a Customer Default setting
( s0 C; Y' w" v% k4 u( d9 o# m1 q0 T) s0 C+ F
Discouraged in new applications
6 v( U# Z9 @8 J+ {& ]# Q: z5 G
上海点团信息科技有限公司,承接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! N- C; x( O- j' L; y5 \
Overview
% \' H: u5 G3 n+ v# m
太棒了,完美解决问题,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二次开发专题模块培训报名开始啦

    我知道了