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

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

airintheair 楼主

2015-12-1 13:48:36

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

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

x
情景如下:
6 f& M& Q- u0 o  r/ v  h# d5 n我在NX9里,建立了一个属性模板,模板内容含两条,其中一条选择保存后锁定,然后在建模环境下创建了一个体,对属性的值进行写入,保存后重新打开,看到属性是如下图1所示的。(这种属性锁定是我所需要的,不是不小心锁定哦~)
- M" F  i# d0 y% R1 U/ A7 X1 P1 ?: o2 s
现在我想做一个开发,可以解锁这个属性,然后再对这个属性进行赋值,写入以下代码之后,出现两个报错,( f+ Y! ]  c) n2 A3 I
第一个错误出现在UF_ATTR_set_locked这个函数的值,如图2所示。
5 n% Q$ M6 A# D  o6 z第二个错误出现在UF_ATTR_assign这个函数的值,如图3所示。8 x( t' |5 y4 |! W* u  A! i

' M( E0 Y4 C) K现在就请问大神!有没有什么办法是可以帮我实现我想要的这个功能?
; ~! D- U$ o. }/ b7 v* ]0 U5 @; S7 |; ]+ F+ f8 t( a
代码如下:, A5 b" R# v$ e7 G4 H) M4 X
代码应该没有什么问题,问题在于如何解锁属性模板中锁定的属性?
9 D6 y$ d$ e- Q' Q+ D7 d

  1. 3 A. i" @2 C3 Y2 I+ ~4 h' s4 `4 P
  2. <P>int res=0,a=0,b=0,erro=0;" C- f# O4 f- l8 v9 Z- j2 G* Q* ?1 z
  3. tag_t obj=NULL_TAG;
    ( D+ D4 t1 p' N( |$ C2 h$ s
  4. double cursor[3]={0};
    9 |# X4 x7 q3 M/ h# a9 [
  5. tag_t view=NULL_TAG;0 B1 B9 U- p# T! t2 T
  6. logical locked;
    : Y2 T( U9 Y8 X% d8 g: q7 B0 |
  7. char msg[256]={0};
    . V8 X# K. @6 p# |5 a
  8. UF_ATTR_value_t sv;& i) K2 J' `) E1 F3 l& T; U8 z
  9. 9 Z- J9 V; E$ }" r% N
  10. UF_UI_select_with_single_dialog("","",UF_UI_SEL_SCOPE_WORK_PART,body_sel_init,NULL,
    % s' d$ x% l1 j/ P
  11. &res,&obj,cursor,&view);" x7 _# d3 A  \4 `0 r
  12. UF_ATTR_ask_locked(obj,"text1",&locked);- S. B) ]* h$ r( l4 m
  13. a=locked;  l% l8 l3 \2 |3 y
  14. UF_ATTR_ask_locked(obj,"text2",&locked);
    ( h2 w( p5 Q5 k0 @
  15. b=locked;
    . h* M; [+ ?* J: R
  16. erro=UF_ATTR_set_locked(obj,"text2",0);
    ; R5 N0 O! M; e+ h! _
  17. if (erro!=0)
    & e( N* R. ?& U- H- O
  18. {' D( ~9 ^) a! m9 R" j
  19. UF_get_fail_message(erro,msg);
    . b- J1 {5 h. J
  20. uc1601(msg,1);: Y) a" A, Q4 S/ T" ?3 E- l3 w
  21. }
    ! l6 C( w1 J+ B% R
  22. sv.type=UF_ATTR_string;
    $ n; o, F0 a' Y+ Y6 X" X
  23. sv.value.string="11111";
    ' s7 Y/ e$ L/ |
  24. erro=UF_ATTR_assign(obj,"text2",sv);/ s8 o5 }/ M3 Y" H
  25. if (erro!=0)
    / i) B" V: \* T$ Z$ G* M% U+ g1 G
  26. {* |. Z5 s; d, f. {% S2 \! q
  27. UF_get_fail_message(erro,msg);
    " o: k/ T. n* M: \. k& i
  28. uc1601(msg,1);
    & X% `9 z9 z; D8 `( |; D+ L# h' _! S
  29. }* u1 L3 Y3 X' l- {2 i
  30. 4 q0 |! a& L! T) Y, p
  31. UF_DISP_set_highlight(obj,0);</P>9 t+ B1 p3 F. f  K9 J! D. U4 q
  32. <P> </P>
    ! q+ E, ?* {9 W9 u% c
  33. <P> </P>int body_sel_init(UF_UI_selection_p_t select_,void* user_data)/ Z8 j: P5 o. A9 j$ J
  34. {
      h+ z: n, }/ g7 }! c
  35. UF_UI_mask_t a1[3]={UF_solid_type,UF_solid_body_subtype,UF_UI_SEL_FEATURE_SOLID_BODY};3 X8 W) f4 j* u5 J0 ?/ p4 g
  36. UF_UI_set_sel_mask(select_,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,a1);
    5 w  ]# z6 T3 d9 i# C' x, B) I; c
  37. return UF_UI_SEL_SUCCESS;
    5 m8 i5 Q' z. t
  38. }0 A4 G( O- Z5 V' F) Z
  39. <P> </P>
复制代码
. J$ s- i! D6 p9 P2 a: n" d
2 L+ O) H% W3 I- o* X1 v8 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) n# \4 ^( U4 C/ L
图1中,text2只读那一栏是锁定的图标
7 N2 e  [/ e! `, {. I
Overview
* V8 q( C  A0 E. o8 H1 W5 J0 j; t
' `8 D+ _3 ?4 I# p) F' ]% I& Q
Sets the lock status of an attribute on the object specified. If the attribute does not
7 Z9 f( B) S/ A+ i6 b1 @  d# Q exist for the specified attribute type then an error is returned.
2 Z: I  g# ]4 L; ?( k8 I* R8 r7 D+ j0 O( N
Passing an object tag will result in modifying an attribute
& u- r9 |) s. @$ [2 H& a  g on that object. Passing in a part tag will result in modifying
7 P3 g( P. w) `: Z a part attribute for that part.
+ N9 M6 k1 j+ |, @+ y/ j# y! s3 e& l; Q" P
The part in which the object resides must be fully loaded. , j% @8 \; g5 \% T6 D! X+ t

# H, Q: l) S  {# ~% e; ? Unlocking a locked attribute requires access via a Customer Default setting & q# m" W" e+ G3 w. x% X$ K4 L/ g
4 m; h* e7 m# z8 D2 I
Discouraged in new applications - H; Q) |; M/ _7 h, V3 G
上海点团信息科技有限公司,承接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
7 P& L! J$ ]: EOverview

0 O% `/ ]$ _5 N9 `0 F9 P太棒了,完美解决问题,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二次开发专题模块培训报名开始啦

    我知道了