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

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

  [复制链接]

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

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

airintheair 楼主

2015-12-1 13:48:36

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

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

x
情景如下:9 d/ M5 }) H# B
我在NX9里,建立了一个属性模板,模板内容含两条,其中一条选择保存后锁定,然后在建模环境下创建了一个体,对属性的值进行写入,保存后重新打开,看到属性是如下图1所示的。(这种属性锁定是我所需要的,不是不小心锁定哦~)7 x& L8 q" }6 X5 a

9 u5 X6 V: R3 V1 k7 Y现在我想做一个开发,可以解锁这个属性,然后再对这个属性进行赋值,写入以下代码之后,出现两个报错,
. c# d9 g2 E7 G第一个错误出现在UF_ATTR_set_locked这个函数的值,如图2所示。
0 k5 B3 E5 }1 t, N第二个错误出现在UF_ATTR_assign这个函数的值,如图3所示。! A9 Q. x" n; R' m- ?
! l, `" h$ z4 _- f$ h7 v
现在就请问大神!有没有什么办法是可以帮我实现我想要的这个功能?
/ Z4 @- ]4 A. u* U4 D( e. E; O
% z0 x# c7 M0 O: _1 }代码如下:- P+ Y8 j) q: S  x# a! F- f
代码应该没有什么问题,问题在于如何解锁属性模板中锁定的属性?8 W% E7 C8 e- [" a( y2 l  G
  1. * h: t* r1 }' s) I! r
  2. <P>int res=0,a=0,b=0,erro=0;3 r3 h( I9 |$ A+ s6 |0 }5 l* L# o
  3. tag_t obj=NULL_TAG;% m! I, f: S' L! U
  4. double cursor[3]={0};
      C" l; x7 [) V$ \( C5 N# W
  5. tag_t view=NULL_TAG;
    8 J, I( Y5 J& D3 U7 n+ [( E
  6. logical locked;- n3 Q' a0 H7 D: T
  7. char msg[256]={0};
    ( I/ ~5 J. @, p" A4 e
  8. UF_ATTR_value_t sv;
    $ O( d$ v  i& M" U" \% s( Q

  9. 6 a' U7 D) a0 u# ^% D0 [
  10. UF_UI_select_with_single_dialog("","",UF_UI_SEL_SCOPE_WORK_PART,body_sel_init,NULL,8 J$ E6 k  R+ @& G
  11. &res,&obj,cursor,&view);
    . G( ~8 ^3 {5 W
  12. UF_ATTR_ask_locked(obj,"text1",&locked);% V9 t7 R# t  H' k9 E8 U8 t5 a8 O+ ~
  13. a=locked;3 S* c) u2 C8 W; x+ [
  14. UF_ATTR_ask_locked(obj,"text2",&locked);8 ^: o0 A* o, m8 _! n
  15. b=locked;
      ?% z( @) }* s  N5 l$ w5 Q2 s
  16. erro=UF_ATTR_set_locked(obj,"text2",0);2 d& |  [7 W* Z
  17. if (erro!=0)
    % P' T& q( d9 ?1 Q! w
  18. {2 l6 b1 Q+ K) @$ _% i
  19. UF_get_fail_message(erro,msg);" r1 {7 y$ S6 T% k! M' |/ _/ l
  20. uc1601(msg,1);
    $ n4 Q& ^6 o* Y8 e
  21. }
    # O, ]/ s8 c& R8 A& X
  22. sv.type=UF_ATTR_string;
    8 {3 P( W- B; [. c
  23. sv.value.string="11111";
      Q! ^" L, y% j8 A; C2 D! B% t* Q1 Z
  24. erro=UF_ATTR_assign(obj,"text2",sv);/ \/ @4 u, l4 f9 r" H
  25. if (erro!=0)) y% L7 p( W3 Z
  26. {
    - e8 `* J9 c+ v! u
  27. UF_get_fail_message(erro,msg);
    ! U2 N+ |/ [. x. ^! `: ]
  28. uc1601(msg,1);
    5 M+ t( M6 Y. K6 {% h4 Y% p
  29. }) g6 E; x+ V' p
  30.   H5 g# k. B5 f9 ~: ^. X* d9 x! e
  31. UF_DISP_set_highlight(obj,0);</P>
    4 @" }0 a' _0 |& ~
  32. <P> </P>$ E# ]1 x1 Y; f" G4 Z
  33. <P> </P>int body_sel_init(UF_UI_selection_p_t select_,void* user_data)1 b- @2 n% \" r  j5 A8 ?3 ]* i
  34. {/ Q: b% [$ d# @5 W+ g1 l3 I
  35. UF_UI_mask_t a1[3]={UF_solid_type,UF_solid_body_subtype,UF_UI_SEL_FEATURE_SOLID_BODY};
    1 ^* X0 d3 f& y8 N4 d/ X
  36. UF_UI_set_sel_mask(select_,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,a1);7 q7 B2 Q" e7 }4 E$ h' w& k  T" {
  37. return UF_UI_SEL_SUCCESS;' a5 v! h2 G  s; Z
  38. }% c4 E! O3 L" n2 m% ]
  39. <P> </P>
复制代码
9 \1 }; r0 ~9 p6 m( x
/ {* w$ m) r/ O2 V2 Z

图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
. _% k" l& Y$ J' r/ x/ C图1中,text2只读那一栏是锁定的图标

" o) w3 s' i* ?! `4 `; |Overview
% j) {. X3 ~, L+ O- B" ]7 B: n7 c
/ {* X  p9 o* E- f! |1 I  K/ x+ E" c
Sets the lock status of an attribute on the object specified. If the attribute does not " n! [& l+ R; k' k9 g9 h; p
exist for the specified attribute type then an error is returned.
+ f6 j, _" D5 L  b) j! P/ _6 u! s$ U6 h
Passing an object tag will result in modifying an attribute   }; F3 M7 N. L# }
on that object. Passing in a part tag will result in modifying ( \) n* w  ~& c
a part attribute for that part.
8 G; N4 v! J7 i# O5 q
0 K& t4 c& m' M$ m5 t The part in which the object resides must be fully loaded.
) `4 e  m; f% b# @
5 W1 B2 k+ a. C- u2 t3 z7 o, j% A; x Unlocking a locked attribute requires access via a Customer Default setting 9 K3 P8 \6 X* e6 h1 L

! k( t$ g% p% G+ n Discouraged in new applications
: a3 D( G: [7 t$ P- o: L
上海点团信息科技有限公司,承接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" L9 a  u+ \; ]* H
Overview

6 K2 K- ~$ F3 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二次开发专题模块培训报名开始啦

    我知道了