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

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

airintheair 楼主

2015-12-1 13:48:36

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

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

x
情景如下:
" H& g/ `4 I- g; ?我在NX9里,建立了一个属性模板,模板内容含两条,其中一条选择保存后锁定,然后在建模环境下创建了一个体,对属性的值进行写入,保存后重新打开,看到属性是如下图1所示的。(这种属性锁定是我所需要的,不是不小心锁定哦~)  w& s0 F: J+ n( s+ A

& ]% k9 _6 y! ?; @1 E现在我想做一个开发,可以解锁这个属性,然后再对这个属性进行赋值,写入以下代码之后,出现两个报错,0 l# z; _5 s4 {% Y. U
第一个错误出现在UF_ATTR_set_locked这个函数的值,如图2所示。3 R* B$ ]: Q1 |4 G! J4 d8 R
第二个错误出现在UF_ATTR_assign这个函数的值,如图3所示。
' T  q3 y: o; H$ Z/ ]2 `
$ \4 ^  _3 ~: t& [" x现在就请问大神!有没有什么办法是可以帮我实现我想要的这个功能?
9 m5 G1 H9 U3 A; L8 U9 k* q5 |9 F) @% B) }# z$ h1 ^' }7 ?
代码如下:% K3 r, O! H. }5 \$ J
代码应该没有什么问题,问题在于如何解锁属性模板中锁定的属性?
) }6 l5 z$ s& m/ o! A
  1. . e  m2 L) R0 M1 a+ u
  2. <P>int res=0,a=0,b=0,erro=0;( r9 r1 `& A3 `1 @4 b( ]
  3. tag_t obj=NULL_TAG;
    ( l/ v- M# H5 V/ }# Z8 L6 T6 R5 J' r
  4. double cursor[3]={0};
    & E/ P, b, G# ^8 {0 U* W, S" e
  5. tag_t view=NULL_TAG;
    6 ]  ]1 q. J1 }) t
  6. logical locked;
    ! u( A* _# R9 N% b4 H1 h' v
  7. char msg[256]={0};
    + Q$ k. W4 N4 g) }
  8. UF_ATTR_value_t sv;
    7 L( E# k# U6 C. K
  9. + w+ V" o/ ?1 I, H, y3 e
  10. UF_UI_select_with_single_dialog("","",UF_UI_SEL_SCOPE_WORK_PART,body_sel_init,NULL,
    - R: L. k( S5 ?8 C
  11. &res,&obj,cursor,&view);/ Q' i- s+ c! L- H
  12. UF_ATTR_ask_locked(obj,"text1",&locked);
    7 u3 N* \. y) K5 S. |7 d9 m7 W
  13. a=locked;
    2 H- J: m; F0 H6 d% e$ G. S
  14. UF_ATTR_ask_locked(obj,"text2",&locked);
    ' J' D7 w, W6 _
  15. b=locked;( ~) ]" ~! T8 b% t/ |
  16. erro=UF_ATTR_set_locked(obj,"text2",0);- w0 n8 a( G3 k2 ^4 ~3 G
  17. if (erro!=0)
    . V8 n& G$ S, T2 c
  18. {
    " L9 T; @/ X. I/ M
  19. UF_get_fail_message(erro,msg);, u2 c6 \  G8 p! s, H. a) y
  20. uc1601(msg,1);( P  Q  @# S& l: v3 E7 \; I
  21. }3 O1 M/ H+ ^4 P
  22. sv.type=UF_ATTR_string;
    7 E" A" u8 e* \! s3 }( h5 R
  23. sv.value.string="11111";9 ?3 u" X5 _. E7 f
  24. erro=UF_ATTR_assign(obj,"text2",sv);
    ' p: [# v+ [' v; h
  25. if (erro!=0)
    - k& E3 W8 W2 K( j' A4 C& {  {- a, Q
  26. {
    , a; v! R/ f1 x! G" p. Q  e
  27. UF_get_fail_message(erro,msg);
    2 _3 ?" a% D9 l- W
  28. uc1601(msg,1);
      g9 U5 B2 B0 s2 i/ Y2 l
  29. }
    & t: @2 K7 z: G3 F& e; q1 _

  30. + Y/ D9 B0 Q* {1 h  k8 ~
  31. UF_DISP_set_highlight(obj,0);</P>, j" I/ }2 q  @4 p
  32. <P> </P>9 T% e% W" ~% j9 w0 G4 a$ ^
  33. <P> </P>int body_sel_init(UF_UI_selection_p_t select_,void* user_data)
    * L4 ~; {/ |0 b! {) N- Z
  34. {5 O5 w( p- Y3 F3 T
  35. UF_UI_mask_t a1[3]={UF_solid_type,UF_solid_body_subtype,UF_UI_SEL_FEATURE_SOLID_BODY};! W- v7 d0 b1 |
  36. UF_UI_set_sel_mask(select_,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,a1);
    " U- k/ |, {) d" c& O
  37. return UF_UI_SEL_SUCCESS;3 v2 B! G( y7 z
  38. }
    ( U0 A- L) ~9 K. J) i
  39. <P> </P>
复制代码

/ ~0 \+ C- p  a% @1 f0 S/ ?& Y* F5 s6 v. s$ a: x5 F0 _! g& T

图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$ p. y# h9 G$ u) p! n+ R' x
图1中,text2只读那一栏是锁定的图标

% ^. N& @( m7 S0 f7 O+ YOverview
/ c# F; Z/ S4 ~, B, N. _$ J/ `; Z5 N  y

6 |" X0 ~7 b" v" fSets the lock status of an attribute on the object specified. If the attribute does not
- Y- f3 q4 \6 F# W4 N' j exist for the specified attribute type then an error is returned. " S" l9 [6 |- D, B
) A/ U. W5 a: Q, L# d$ y. J. |
Passing an object tag will result in modifying an attribute 6 |2 p8 P" Z7 x( ]5 d( U6 |
on that object. Passing in a part tag will result in modifying
' v: ^  O  e, }1 f6 O1 H) z a part attribute for that part.
- s) M$ y. o" T& q
$ Z, `) R" G$ m* D$ _3 r The part in which the object resides must be fully loaded. 5 r! N/ z; {  c9 w2 k  Q+ F! h
. ?2 P  I7 @: D: d& t( g9 @6 }' q
Unlocking a locked attribute requires access via a Customer Default setting
6 e) j2 L# R  @# v# j' u4 f0 v7 S' s7 r' b( q
Discouraged in new applications . R, E* ]$ X0 c  {" @* H- h" Y
上海点团信息科技有限公司,承接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
3 q; v" B/ y8 HOverview

2 C4 d6 z) N, L; X4 n太棒了,完美解决问题,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二次开发专题模块培训报名开始啦

    我知道了