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

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

airintheair 楼主

2015-12-1 13:48:36

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

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

x
情景如下:2 I$ s* C; V. V1 T5 u! L% U! }
我在NX9里,建立了一个属性模板,模板内容含两条,其中一条选择保存后锁定,然后在建模环境下创建了一个体,对属性的值进行写入,保存后重新打开,看到属性是如下图1所示的。(这种属性锁定是我所需要的,不是不小心锁定哦~)
+ o* V0 c4 I# d3 G( o% s+ H; f: P" J4 [4 r7 \/ p
现在我想做一个开发,可以解锁这个属性,然后再对这个属性进行赋值,写入以下代码之后,出现两个报错,0 z2 N$ ^8 M8 v! u
第一个错误出现在UF_ATTR_set_locked这个函数的值,如图2所示。
* P/ H5 g" b4 E" y6 i第二个错误出现在UF_ATTR_assign这个函数的值,如图3所示。- D, a5 r* E+ i$ D

( I5 k% E/ v( x$ I( v/ L现在就请问大神!有没有什么办法是可以帮我实现我想要的这个功能?
4 H* N; z$ m  M
/ {+ m0 D2 r  ]3 `代码如下:
) w7 `; a( I2 T* b代码应该没有什么问题,问题在于如何解锁属性模板中锁定的属性?2 S! E4 F8 L6 `! [4 m
  1. ' a# G7 e4 {3 }- ], Y; v" p* P; y
  2. <P>int res=0,a=0,b=0,erro=0;2 U. {7 `2 U% x6 T) [  s* |" g6 N
  3. tag_t obj=NULL_TAG;  i( l) Q) ]- Q9 l
  4. double cursor[3]={0};
    2 y2 x9 o4 H' N. n  g
  5. tag_t view=NULL_TAG;2 L6 S& A! I1 z' {$ x0 ~
  6. logical locked;
    ' A, e) }* V7 ^; K  _
  7. char msg[256]={0};* ]) B; J6 T1 b0 i
  8. UF_ATTR_value_t sv;
    , p  F( ?/ e7 K: ^

  9. % G' E$ V7 m! F5 a! O; u# l
  10. UF_UI_select_with_single_dialog("","",UF_UI_SEL_SCOPE_WORK_PART,body_sel_init,NULL,, l( Q# c4 C0 o3 T1 r/ ]; O0 U# ~
  11. &res,&obj,cursor,&view);
    ' b) l$ X0 k- t/ n
  12. UF_ATTR_ask_locked(obj,"text1",&locked);
    ) f/ h  }& K; z, G
  13. a=locked;
    ' R" U$ e. ]2 x$ s
  14. UF_ATTR_ask_locked(obj,"text2",&locked);. _# B2 H/ @9 U7 L
  15. b=locked;4 Y$ w0 P0 ^9 I$ ^9 q0 L( Y* D
  16. erro=UF_ATTR_set_locked(obj,"text2",0);
    , o8 K2 H5 r% m, ^) N
  17. if (erro!=0)( C6 ~  V0 d4 f! O
  18. {
    # [" e, a5 |" Y6 B
  19. UF_get_fail_message(erro,msg);
    + f# b: U2 T0 w
  20. uc1601(msg,1);( h) v/ E  T2 o4 p1 {4 ?
  21. }
    ( m- Z. I+ t  W+ g2 h/ {
  22. sv.type=UF_ATTR_string;
    7 _5 L. b3 N: t3 d' `6 ]
  23. sv.value.string="11111";6 t+ Q# q+ G5 J6 ~3 ]# N1 S
  24. erro=UF_ATTR_assign(obj,"text2",sv);: _% M3 e4 c( Y
  25. if (erro!=0)6 P! u& _% @: |4 M/ V8 Z1 I$ Q9 e/ y$ {
  26. {. ~* \3 ]: P( w
  27. UF_get_fail_message(erro,msg);4 j$ {# b" v; `9 M5 G
  28. uc1601(msg,1);
    * x! a) X4 E& e# L
  29. }; ?% n/ H% l$ O: A4 o

  30. 2 }. O+ K! p9 h* ?3 R- X, w' n
  31. UF_DISP_set_highlight(obj,0);</P>
    # l% E  U0 n. ]/ y5 s; k) }1 C( k# `
  32. <P> </P># z. z% W; j* F1 B# b8 ?' Q
  33. <P> </P>int body_sel_init(UF_UI_selection_p_t select_,void* user_data)
    / A) a9 o* \. G, |
  34. {
    & U7 J, [; |  w0 M) N, }0 F
  35. UF_UI_mask_t a1[3]={UF_solid_type,UF_solid_body_subtype,UF_UI_SEL_FEATURE_SOLID_BODY};9 Q8 q& u4 X' t+ I
  36. UF_UI_set_sel_mask(select_,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,a1);8 Q: w) @8 l3 H9 r9 E5 k( Z
  37. return UF_UI_SEL_SUCCESS;. Z' i  [4 E% `4 @) r
  38. }
    8 K& m2 y& ?+ D6 s+ T" f. Z( o
  39. <P> </P>
复制代码
! Z$ b. d" q1 `0 ^; c/ {+ l
8 X1 Y8 f9 F5 G1 o: s

图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/ l1 S9 [# |2 |  O图1中,text2只读那一栏是锁定的图标
) p- U/ V  v4 O
Overview
  t1 z" N9 m7 A( k+ Z4 t- I  K, c% A$ J, r/ f+ G0 }. `

5 j7 C( I5 _8 Y- I" Z. aSets the lock status of an attribute on the object specified. If the attribute does not
  w. [: z3 n' p8 e& i5 C" Q exist for the specified attribute type then an error is returned.
  f% C( w) `$ s3 ^' e
5 X3 m; W( }5 c& e Passing an object tag will result in modifying an attribute % D6 S0 b' T. r
on that object. Passing in a part tag will result in modifying
  U2 F; p7 A, _ a part attribute for that part.
! j8 \) ~, m9 Y$ A0 o8 U" [. R' A
The part in which the object resides must be fully loaded. ' {3 C) [4 b' X0 n0 s

" t3 [; K' k3 f" g6 R Unlocking a locked attribute requires access via a Customer Default setting # J( C4 K  [* l* k
, d& ], K% @& w* g, Q
Discouraged in new applications 8 a" p% r% x6 O! k1 ~/ Z* r
上海点团信息科技有限公司,承接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
" F/ h1 N: H. S+ d- P- EOverview

5 F5 b4 d: f6 J2 o, h太棒了,完美解决问题,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二次开发专题模块培训报名开始啦

    我知道了