PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

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

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

airintheair 楼主

2015-12-1 13:48:36

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

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

x
情景如下:! `2 X0 B* ?; k* k$ y6 h# n2 {
我在NX9里,建立了一个属性模板,模板内容含两条,其中一条选择保存后锁定,然后在建模环境下创建了一个体,对属性的值进行写入,保存后重新打开,看到属性是如下图1所示的。(这种属性锁定是我所需要的,不是不小心锁定哦~)% u; K# q* T9 ^1 {" z" t/ J! r

2 r+ k0 J9 y& P8 R. [4 w现在我想做一个开发,可以解锁这个属性,然后再对这个属性进行赋值,写入以下代码之后,出现两个报错,9 Q4 {  y" ]  H5 W! H+ B
第一个错误出现在UF_ATTR_set_locked这个函数的值,如图2所示。
3 J: w# w( p4 F$ m1 U& R第二个错误出现在UF_ATTR_assign这个函数的值,如图3所示。! ]3 z% y1 a5 J
1 H( s+ l# j$ w$ O
现在就请问大神!有没有什么办法是可以帮我实现我想要的这个功能?& d" x; d+ ~7 K8 k- w' V' \+ s
1 ^# L1 ~) ?3 k+ O4 w: X
代码如下:
+ E. n: F1 \3 G. I) H- @& n代码应该没有什么问题,问题在于如何解锁属性模板中锁定的属性?
9 F. i- F! X8 T9 k3 ]
  1. ) y( |$ T$ ]4 G7 B* z
  2. <P>int res=0,a=0,b=0,erro=0;
    8 m  c( D: \; ~  `! w( \( K& w; W
  3. tag_t obj=NULL_TAG;# W- A1 Q4 J* \# v3 }; F/ y
  4. double cursor[3]={0};' F( s. P: K; o  s( w
  5. tag_t view=NULL_TAG;
    ! c+ U+ D& ~; I3 x) s9 S  y
  6. logical locked;) A/ q1 l$ g6 C! w
  7. char msg[256]={0};
    9 e- Y" b% a  k7 L( }
  8. UF_ATTR_value_t sv;! }1 y3 c+ J+ b, @
  9. 8 M) V4 [. ]5 w( M+ P6 T
  10. UF_UI_select_with_single_dialog("","",UF_UI_SEL_SCOPE_WORK_PART,body_sel_init,NULL,
    $ K) H. c$ V3 E/ R) D$ k
  11. &res,&obj,cursor,&view);
    ; d8 A/ N: R2 F; o! Q" M
  12. UF_ATTR_ask_locked(obj,"text1",&locked);, w6 i+ Z9 Q& V# W6 c$ F  r6 [5 O) y2 t
  13. a=locked;9 j+ e3 I7 ^8 z4 U2 w! n4 e# Q
  14. UF_ATTR_ask_locked(obj,"text2",&locked);) N6 ], M; v. |/ C3 c2 k7 v
  15. b=locked;& x0 A+ J6 V2 Y1 w% `
  16. erro=UF_ATTR_set_locked(obj,"text2",0);
    0 q2 k3 ]2 n" z8 L
  17. if (erro!=0)
    + E4 ^0 r2 G) k$ ~, l' f- Q! o
  18. {, d7 N, C9 Z2 y/ v5 W
  19. UF_get_fail_message(erro,msg);
    ( v4 s; c4 C9 [; p
  20. uc1601(msg,1);. H+ j/ s$ }/ R# k: [5 O9 X
  21. }2 f& D  B9 k' ^* K
  22. sv.type=UF_ATTR_string;& ^8 _  h; r& m( @* U( ]
  23. sv.value.string="11111";
    " |% m& [& P8 g
  24. erro=UF_ATTR_assign(obj,"text2",sv);
    0 X8 ~  [$ V4 M7 w7 ~
  25. if (erro!=0)
    ' V; F" @* c1 h6 M! ~. n# C5 T
  26. {. r: u1 i0 Q% G' r$ x& F2 U' O1 ~
  27. UF_get_fail_message(erro,msg);( s/ c* M* [! q) j. |* c; V
  28. uc1601(msg,1);
    7 w- c. h2 A( R$ C0 d
  29. }
    2 i, C6 |" j* ?; Q
  30. - |6 |. h( E2 A& e) l
  31. UF_DISP_set_highlight(obj,0);</P>% G' O, i& s8 w! A- |3 K9 F
  32. <P> </P>
    + P, B# b, P: E
  33. <P> </P>int body_sel_init(UF_UI_selection_p_t select_,void* user_data)
    . x$ B" Y' J/ E. w! i  B7 t& E
  34. {& N; X  Y( [( Q3 }$ ~$ I
  35. UF_UI_mask_t a1[3]={UF_solid_type,UF_solid_body_subtype,UF_UI_SEL_FEATURE_SOLID_BODY};4 v6 d- [: Q8 X2 x! D
  36. UF_UI_set_sel_mask(select_,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,a1);
    - g% d: ?* a& R( a; v
  37. return UF_UI_SEL_SUCCESS;: X: c+ @; f3 _0 F# d
  38. }
    8 q$ E7 d7 I3 I; u( o; p
  39. <P> </P>
复制代码

2 B/ V' J) D" m6 N0 e
$ p9 K7 J* J8 _$ H

图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 k% t+ l2 q- g图1中,text2只读那一栏是锁定的图标

8 x9 y, ?8 v+ f9 U9 \5 U+ ]  S, e; ^Overview* _0 p9 k5 }$ C/ {0 T+ Q  A
9 H9 ]* y/ U0 |7 s1 A% }

5 l$ s( e- A: H' H* }- w  B7 ?Sets the lock status of an attribute on the object specified. If the attribute does not 6 m/ J: g0 z2 T2 {% V
exist for the specified attribute type then an error is returned. " B3 l% a; @% v8 k1 u0 b' s
6 f, B% g- X) p( u* x% F  e
Passing an object tag will result in modifying an attribute
/ v: Y$ r* c3 n  v3 Z9 H% d9 G9 F on that object. Passing in a part tag will result in modifying + X; Y/ h: h% |, x; x2 ]! P; }
a part attribute for that part.
0 T" w/ A( _  o2 x" {8 R* \/ |* [5 [. j9 c6 J& l) I* K
The part in which the object resides must be fully loaded. & {# W6 e; W9 e/ @4 Z' C
6 }3 H* l% f0 Q  ]: a1 q
Unlocking a locked attribute requires access via a Customer Default setting
) S9 m+ ~) M' Q, k3 X1 x8 C: j* i
Discouraged in new applications 6 K! n6 W7 ?- c/ I4 `
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 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
9 T* r# n) i+ h: z* y, }1 LOverview
- |& ?5 _4 x' x( M. \# Y. q% L
太棒了,完美解决问题,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二次开发专题模块培训报名开始啦

    我知道了