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

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

airintheair 楼主

2015-12-1 13:48:36

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

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

x
情景如下:
$ J4 m+ ~. k6 I  [# D- k我在NX9里,建立了一个属性模板,模板内容含两条,其中一条选择保存后锁定,然后在建模环境下创建了一个体,对属性的值进行写入,保存后重新打开,看到属性是如下图1所示的。(这种属性锁定是我所需要的,不是不小心锁定哦~)8 Z4 `, z0 C  y0 q5 @4 ]

8 c+ h3 x- ]! ~; @, E/ K$ F现在我想做一个开发,可以解锁这个属性,然后再对这个属性进行赋值,写入以下代码之后,出现两个报错,
" R4 V' c. H3 [第一个错误出现在UF_ATTR_set_locked这个函数的值,如图2所示。
& m* {% t3 X  d第二个错误出现在UF_ATTR_assign这个函数的值,如图3所示。3 @/ S% G- i* T

# m7 s4 W& ?  A, |, J+ J现在就请问大神!有没有什么办法是可以帮我实现我想要的这个功能?4 M. z: \8 X! W! z

+ \' E: P% c( ?6 Y代码如下:
+ w' C/ H3 R* c: x8 ]- h" G% t代码应该没有什么问题,问题在于如何解锁属性模板中锁定的属性?9 n! j, a5 z7 c+ Q1 b" E, w
  1. . s  [4 [' k/ @# y! }
  2. <P>int res=0,a=0,b=0,erro=0;
    4 N3 i: e6 \! k, ^1 t
  3. tag_t obj=NULL_TAG;/ d8 Y7 X9 p( `, g. ?
  4. double cursor[3]={0};
    9 W  U3 {( A! m4 O7 l
  5. tag_t view=NULL_TAG;
    8 _. _: _- O! W8 l  K, S8 ]( p5 e
  6. logical locked;/ \, @" F% W3 }# l
  7. char msg[256]={0};
    ) }0 w) J& p  O
  8. UF_ATTR_value_t sv;( ^# N* ]0 X" e5 p7 W
  9. , \( Z: X  U( n: T" ?$ @, b; A9 P
  10. UF_UI_select_with_single_dialog("","",UF_UI_SEL_SCOPE_WORK_PART,body_sel_init,NULL,
    8 d. K+ A- S% S/ \' K
  11. &res,&obj,cursor,&view);; f. o$ J& {7 A" v
  12. UF_ATTR_ask_locked(obj,"text1",&locked);
    . [+ x3 j  e, f7 ^; \+ @+ K
  13. a=locked;% T+ N6 s+ R# v9 N
  14. UF_ATTR_ask_locked(obj,"text2",&locked);
      |& b+ H. I( _9 h
  15. b=locked;) s0 `5 E0 U0 v& r/ t
  16. erro=UF_ATTR_set_locked(obj,"text2",0);! }* R- ?0 {  s& A, p  ]# ?& z1 ~
  17. if (erro!=0)
    8 ], _; O: x) L! }, z2 J$ u+ ?; x
  18. {4 W1 E3 W+ P1 C9 q- A" C
  19. UF_get_fail_message(erro,msg);5 ^$ q% I" |* t) R" J
  20. uc1601(msg,1);( D3 p- ~: N( E5 g  n0 P
  21. }
    9 _5 h1 @3 @+ @4 `- F
  22. sv.type=UF_ATTR_string;
    0 h" C7 i" [5 K) C/ o2 V
  23. sv.value.string="11111";
    5 U4 a% \& e! [% z
  24. erro=UF_ATTR_assign(obj,"text2",sv);7 J6 [2 V( ?" r) l  C) t
  25. if (erro!=0)
    5 L; C( L9 a: K5 O( [/ n
  26. {$ l8 p7 R$ R6 f  |
  27. UF_get_fail_message(erro,msg);* [2 K! x* q5 `: q1 K7 [, }
  28. uc1601(msg,1);( R$ O  {; [. }! @$ Q2 j
  29. }
    / y& t* K0 A) ^) w2 g& Y% b

  30. 9 N9 \" M& N! d/ ^6 n
  31. UF_DISP_set_highlight(obj,0);</P>
    & |7 ]* y9 E1 i
  32. <P> </P>" w, l8 ]% d* s1 N
  33. <P> </P>int body_sel_init(UF_UI_selection_p_t select_,void* user_data)
    : \: Z: s: N+ i6 e8 H
  34. {
    : q# T( g. b% M8 i, c1 y
  35. UF_UI_mask_t a1[3]={UF_solid_type,UF_solid_body_subtype,UF_UI_SEL_FEATURE_SOLID_BODY};( M, f$ Z& U! A! N
  36. UF_UI_set_sel_mask(select_,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,a1);
    $ U* c/ b0 W( q) Q0 w- g  t
  37. return UF_UI_SEL_SUCCESS;* |. e0 e+ T  N
  38. }
    9 p! n1 ]$ o7 g1 F- N! J( S7 n
  39. <P> </P>
复制代码
( e- x% d( v" W" Y% P7 \/ _

8 f5 {5 e  Q3 j# e- R! n

图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
5 ]. U" E0 g4 A8 n- o4 a图1中,text2只读那一栏是锁定的图标

' ^# y" j* A) i1 JOverview1 @, j& L% K3 A- o8 V
; H( Y0 Q6 f, j, Y  ~
0 l: K8 e; `, K) M1 C; g& m
Sets the lock status of an attribute on the object specified. If the attribute does not
* `. g# O' N! p$ j  G" W exist for the specified attribute type then an error is returned. - W6 J- G" k5 R3 |; f
% V" W- X6 O- I
Passing an object tag will result in modifying an attribute
! z5 c- {" H  @3 `$ j8 K3 Q" T on that object. Passing in a part tag will result in modifying
" U7 ^" N" E/ T7 i6 H$ W7 Y& y a part attribute for that part. ; F% [; m. D6 J
: j% v6 E/ v6 C8 H) e
The part in which the object resides must be fully loaded. 6 P7 m4 G$ z. N3 h0 J5 i
$ K9 T% [9 o' X# \2 D
Unlocking a locked attribute requires access via a Customer Default setting
8 ~) D) G! B1 o/ a* T/ E6 f7 X7 o% V/ {# g$ F/ r; M+ Q9 n
Discouraged in new applications # D: q" |2 d: }" D  {
上海点团信息科技有限公司,承接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
, O5 o" N; J+ I( q+ ]Overview

: N( g) }1 m% m% o) A& F太棒了,完美解决问题,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二次开发专题模块培训报名开始啦

    我知道了