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

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

airintheair 楼主

2015-12-1 13:48:36

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

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

x
情景如下:+ ?! S; N# l* L) P" [
我在NX9里,建立了一个属性模板,模板内容含两条,其中一条选择保存后锁定,然后在建模环境下创建了一个体,对属性的值进行写入,保存后重新打开,看到属性是如下图1所示的。(这种属性锁定是我所需要的,不是不小心锁定哦~)
/ r0 `. M2 k- n, C8 K! v" K5 |- C/ ^, q1 o: `( \: Q
现在我想做一个开发,可以解锁这个属性,然后再对这个属性进行赋值,写入以下代码之后,出现两个报错,8 T: l8 y  y7 Z$ H, B$ B
第一个错误出现在UF_ATTR_set_locked这个函数的值,如图2所示。5 r2 D2 r- z0 g) U- f0 f' ^# q
第二个错误出现在UF_ATTR_assign这个函数的值,如图3所示。* i4 A: z6 ]" o2 Y2 F( u
& r* Q8 O. p5 ?% c* B/ t! F
现在就请问大神!有没有什么办法是可以帮我实现我想要的这个功能?
+ r7 ?1 d. t& U% ?. q  d. Z4 M
! S0 T2 P* e! o. Y, p% I代码如下:' ^1 w5 Z. K, {
代码应该没有什么问题,问题在于如何解锁属性模板中锁定的属性?
+ a* m2 q: a* |- ^0 d; q' W
  1. / V" S( g* C: T) l
  2. <P>int res=0,a=0,b=0,erro=0;% P  K9 d* ]' \9 N( W6 g/ K
  3. tag_t obj=NULL_TAG;/ e  _+ q! x  T& o/ c
  4. double cursor[3]={0};! W2 u  f7 K% t: G* h9 L
  5. tag_t view=NULL_TAG;5 C' G- k( z+ u6 V" [( C. X6 @
  6. logical locked;/ W! b' `' h  y2 ]" j
  7. char msg[256]={0};2 w2 {: X! b% J$ y
  8. UF_ATTR_value_t sv;, e$ h! i0 E1 W9 N+ _: \

  9. 7 p) L. N2 H: X# X- s
  10. UF_UI_select_with_single_dialog("","",UF_UI_SEL_SCOPE_WORK_PART,body_sel_init,NULL,
    , f8 B0 G8 K  j: s/ N0 a! k# V
  11. &res,&obj,cursor,&view);6 Y; ?4 ^( l, S$ D
  12. UF_ATTR_ask_locked(obj,"text1",&locked);
    7 S8 e0 q* t5 E4 _9 i' |$ G* ~' k2 w* c
  13. a=locked;6 r" n4 ~; q- {. S, S
  14. UF_ATTR_ask_locked(obj,"text2",&locked);8 b, {: r/ E  g/ z4 l
  15. b=locked;
    $ s' f. {( e" h0 `5 c# q5 c/ }5 M5 e* q
  16. erro=UF_ATTR_set_locked(obj,"text2",0);8 x( B3 M7 @  C6 M" m' E
  17. if (erro!=0)+ t7 U( i, B  C8 R9 a) \8 i
  18. {0 `4 V/ X1 t! M8 V! Z. I
  19. UF_get_fail_message(erro,msg);
    ; D( ^' I7 c7 O6 Y( P6 N; G3 _
  20. uc1601(msg,1);* A# }- d# L% B; j0 ]# m; _
  21. }: z) d2 i" `' q" v8 L
  22. sv.type=UF_ATTR_string;. }, i+ `- d2 D: Z
  23. sv.value.string="11111";
    - Y7 F/ ^! }/ F8 F$ n
  24. erro=UF_ATTR_assign(obj,"text2",sv);
    9 j$ j0 f) w2 \- A9 u% b5 P
  25. if (erro!=0). h. ~; Z5 j' T' m, V3 r- Y2 m
  26. {
    ) o# I+ S" Z( x; V
  27. UF_get_fail_message(erro,msg);) N9 P7 @6 p/ r; P) ~- ~6 c
  28. uc1601(msg,1);
    3 _7 o. o5 M8 H" k6 E
  29. }
    . o5 U7 Y2 Z+ Y8 X

  30. % o& G" H5 y+ z
  31. UF_DISP_set_highlight(obj,0);</P>, T6 T' {, V( i( R
  32. <P> </P>$ v5 U/ ]; A' u4 ]# N% a% j
  33. <P> </P>int body_sel_init(UF_UI_selection_p_t select_,void* user_data)8 h0 Q) m) m% m* E
  34. {
    + i8 ?5 S3 E2 N6 V: p0 e% h( p
  35. UF_UI_mask_t a1[3]={UF_solid_type,UF_solid_body_subtype,UF_UI_SEL_FEATURE_SOLID_BODY};
    4 [$ ?. q# R5 a6 w3 T* d
  36. UF_UI_set_sel_mask(select_,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,a1);
    4 u( X$ R- b" f; H  j( ~
  37. return UF_UI_SEL_SUCCESS;
    6 p9 p; B/ A" t) P3 q
  38. }
    ) \5 S# c: [2 D  Y$ R# o( O& g: O! w
  39. <P> </P>
复制代码
& l, D* G" _5 o1 A# ~; c

% K7 z: c; P4 d. r8 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& C! b3 q$ Z" @  W$ g# _3 ]+ Q6 Y
图1中,text2只读那一栏是锁定的图标

0 a, H$ K$ `/ I+ h8 XOverview# u7 Q4 z/ K5 k5 Z: s' _3 c

' a6 n- M& g' c! s# b
8 H* `" w) m' r2 P$ {Sets the lock status of an attribute on the object specified. If the attribute does not
# g  B4 A# F( n$ @ exist for the specified attribute type then an error is returned.
3 ~- V: T. g( ^. v3 B) V* n
0 g# h2 C3 L# q' E. A9 F. h6 j; T Passing an object tag will result in modifying an attribute
1 r% e- t* K# A* t, k on that object. Passing in a part tag will result in modifying
& i, d& a: o& o3 ?0 D a part attribute for that part.
$ `) B. x' J4 _. q
& ?4 v! P0 k* c/ K! B The part in which the object resides must be fully loaded. * X% {( q4 n5 X9 i$ l: [3 O9 Y

( ^- X. N& l5 t; [! g Unlocking a locked attribute requires access via a Customer Default setting
/ c3 _( T8 b3 q7 f8 {3 [! Y2 S3 M# w3 S& {) M
Discouraged in new applications
$ f( c5 x6 N- h7 N
上海点团信息科技有限公司,承接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# w* }  `. t0 f# C7 U
Overview
, j* G# m1 p9 K' b* J# ~4 o* c
太棒了,完美解决问题,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二次开发专题模块培训报名开始啦

    我知道了