PLM之家PLMHome-工业软件践行者

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

  [复制链接]

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

11

主题

28

回帖

181

积分

培训VIP会员

积分
181
发表于 2015-12-1 13:48:36 | 显示全部楼层 |阅读模式

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

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

x
情景如下:
$ [& [- J( c. a1 s' }' ?9 U) x! s我在NX9里,建立了一个属性模板,模板内容含两条,其中一条选择保存后锁定,然后在建模环境下创建了一个体,对属性的值进行写入,保存后重新打开,看到属性是如下图1所示的。(这种属性锁定是我所需要的,不是不小心锁定哦~)9 |' k. V( q& q, r) D  |, y0 t2 |

5 h2 S/ v8 a! `( C' P7 V现在我想做一个开发,可以解锁这个属性,然后再对这个属性进行赋值,写入以下代码之后,出现两个报错,
/ q" |2 T; Q' I9 @第一个错误出现在UF_ATTR_set_locked这个函数的值,如图2所示。
2 [+ y1 o' N4 H( r, d" z2 s第二个错误出现在UF_ATTR_assign这个函数的值,如图3所示。8 _+ F4 |5 V) S' X+ Z9 ~" V9 J
# J; }5 [1 }  X0 X' l
现在就请问大神!有没有什么办法是可以帮我实现我想要的这个功能?! L1 V  w4 A/ a6 \' v
2 `2 V  Z6 |! n" O7 S/ f* W. O, x) f
代码如下:
, A2 B* b1 r1 m( F* A代码应该没有什么问题,问题在于如何解锁属性模板中锁定的属性?
5 q2 K* N4 ?# P0 L6 W: W7 G

  1. ; a2 f, a: o: i; Q
  2. <P>int res=0,a=0,b=0,erro=0;& l6 U3 M8 R2 ~) ~& a
  3. tag_t obj=NULL_TAG;0 i8 J( k  V8 S( C4 a7 Z
  4. double cursor[3]={0};
    ( \/ c' Z6 G3 n# Z; c6 U, e
  5. tag_t view=NULL_TAG;+ B) p% A/ i! Y3 Q$ _
  6. logical locked;
      L7 I$ G5 u7 Q1 U
  7. char msg[256]={0};2 k) z+ l* {2 M( m5 W4 L
  8. UF_ATTR_value_t sv;
    / m+ X/ {4 j/ M" e
  9. 0 _" d2 m" c$ z' G9 f4 h
  10. UF_UI_select_with_single_dialog("","",UF_UI_SEL_SCOPE_WORK_PART,body_sel_init,NULL,
    4 \, H! ^# N  b, o4 ~, x
  11. &res,&obj,cursor,&view);* L* i$ M* D3 `8 T+ [; M
  12. UF_ATTR_ask_locked(obj,"text1",&locked);7 M* n# \% c- \4 ~& V) l
  13. a=locked;
    8 t0 Y; k# v9 i7 s' l6 B+ x
  14. UF_ATTR_ask_locked(obj,"text2",&locked);3 O1 @2 S" w, _$ \( T
  15. b=locked;# G) h1 ~5 T! c' n7 ]! F3 T
  16. erro=UF_ATTR_set_locked(obj,"text2",0);9 O2 N5 |+ r: Q5 p! |, k7 A
  17. if (erro!=0)
    5 k4 R; |! d" F' [- t) o$ s+ _
  18. {
    4 Y8 j1 V% [5 V6 ]* i- E0 c
  19. UF_get_fail_message(erro,msg);
    6 i  H6 c# J) x1 O: R0 {& X
  20. uc1601(msg,1);: {' W( R  u1 z8 u
  21. }- n( m4 z7 c' K
  22. sv.type=UF_ATTR_string;8 ]! R; U1 v# z8 x- Y) M8 }4 E8 P
  23. sv.value.string="11111";7 E3 V7 u$ s9 S/ n  @# u- o
  24. erro=UF_ATTR_assign(obj,"text2",sv);
      X& j- V3 {2 W
  25. if (erro!=0)
    1 ^4 W+ `: z7 l1 D, q
  26. {. B- p6 t8 L. v# {0 u  H' C
  27. UF_get_fail_message(erro,msg);3 P6 N) d  o$ ^. y/ J2 L# }" S
  28. uc1601(msg,1);
    & M" I9 A  V" g2 n4 i) k! Y" d
  29. }
    : K1 F  ?. M$ z) d# N# p& {' f( o0 D; o

  30. 6 u. E4 z3 m; {5 h9 {
  31. UF_DISP_set_highlight(obj,0);</P>
    ) J( a  L& ?, J. ?) ]9 d. b
  32. <P> </P>
    % E5 X* n( {: B" q7 P! ^
  33. <P> </P>int body_sel_init(UF_UI_selection_p_t select_,void* user_data)
    - @& f: o2 `- S* f" Z$ g$ R5 U
  34. {
    3 b2 J  v7 v1 Y& c7 |. t% B% J. r
  35. UF_UI_mask_t a1[3]={UF_solid_type,UF_solid_body_subtype,UF_UI_SEL_FEATURE_SOLID_BODY};( s; Y4 w8 ~* i3 }# b( [' z% c+ S3 G
  36. UF_UI_set_sel_mask(select_,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,a1);
    ! D2 U5 F/ W0 N& z4 ~; @# |
  37. return UF_UI_SEL_SUCCESS;6 O% h; L# I6 b- `
  38. }
    2 f6 t3 Z' w1 g1 T) G2 M1 y9 M/ F: R0 v
  39. <P> </P>
复制代码
& q$ L& j0 z6 S
8 t* v3 l/ s# d; v

图1

图1

图2

图2

图3

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

使用道具 举报

全部回复4

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82170
QQ
发表于 2015-12-1 20:10:05 | 显示全部楼层
airintheair 发表于 2015-12-1 05:497 G" T4 B4 O' Y9 N# Y( A
图1中,text2只读那一栏是锁定的图标

, i+ Z& j5 l5 f* a+ LOverview  G5 l2 L$ h- j5 _
# b) {: Q: Q* [/ g# C7 [

  I; j4 N+ J* z5 W, P% H8 ASets the lock status of an attribute on the object specified. If the attribute does not
0 G7 S% Y1 E: m  @8 L exist for the specified attribute type then an error is returned. . e3 R+ d$ B1 B7 s4 V, J9 l

; Y" G) W0 y5 s# Y7 ]/ Z$ R; y Passing an object tag will result in modifying an attribute
8 l- z) Y. Z5 T) [- N' L5 r on that object. Passing in a part tag will result in modifying
8 e' j9 `6 x/ V5 A6 G+ m; y% J a part attribute for that part. 4 X' X: _, D# Z0 T; x- o  r

$ f) x( I. p; C' i4 B+ P The part in which the object resides must be fully loaded. 0 K4 I+ J1 _4 S2 `; B
$ ~$ g: Z% H& a0 C, E& G# e
Unlocking a locked attribute requires access via a Customer Default setting
0 C- g/ P) F( a+ Q# u- Z' v3 |5 o8 V% y9 a7 d
Discouraged in new applications 3 r$ ~8 r$ o* D
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 1 反对 0

使用道具 举报

11

主题

28

回帖

181

积分

培训VIP会员

积分
181
 楼主| 发表于 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.doteam.tech
回复 支持 反对

使用道具 举报

11

主题

28

回帖

181

积分

培训VIP会员

积分
181
 楼主| 发表于 2015-12-3 12:59:14 | 显示全部楼层
admin 发表于 2015-12-1 20:101 W; K  S% O2 t: ]% Z
Overview

% J, e  @  i* o4 U$ D9 {2 _! [太棒了,完美解决问题,3Q老大!!
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了