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

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

airintheair 楼主

2015-12-1 13:48:36

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

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

x
情景如下:- V! B: l( N  d7 h
我在NX9里,建立了一个属性模板,模板内容含两条,其中一条选择保存后锁定,然后在建模环境下创建了一个体,对属性的值进行写入,保存后重新打开,看到属性是如下图1所示的。(这种属性锁定是我所需要的,不是不小心锁定哦~)8 N, S( M9 B, ?% K1 }

, e. v3 E" T# R1 `现在我想做一个开发,可以解锁这个属性,然后再对这个属性进行赋值,写入以下代码之后,出现两个报错,- k7 m  J: x% ^# {5 w
第一个错误出现在UF_ATTR_set_locked这个函数的值,如图2所示。
% \: ^" Z7 n" G( `+ t8 q  F5 B第二个错误出现在UF_ATTR_assign这个函数的值,如图3所示。4 S3 l; I" Z2 I; O9 x% ]( S. _
  g. U) T+ e% z% M' w
现在就请问大神!有没有什么办法是可以帮我实现我想要的这个功能?4 b6 D$ P8 `2 {3 [

3 M1 S2 Z  |: a, U( e" ]. u( b代码如下:
% F5 [1 c# |" W) O5 @5 D代码应该没有什么问题,问题在于如何解锁属性模板中锁定的属性?: K2 @3 R' n2 h4 [
  1. 1 u8 [/ K2 \: p* |8 o& G1 B: z  s: S
  2. <P>int res=0,a=0,b=0,erro=0;
    : o# Z! @; o) x+ L% X/ l3 }
  3. tag_t obj=NULL_TAG;, v4 i1 g4 z1 ?7 ?( e" T+ Z, f: u
  4. double cursor[3]={0};
    9 g& G# I1 F1 K1 k0 b
  5. tag_t view=NULL_TAG;4 U. |; s. S" n3 X- B
  6. logical locked;) G( d% A7 H! f, n8 |! y7 F. }( z
  7. char msg[256]={0};0 Z, S" A- m4 ]/ }+ Q+ a  C$ K
  8. UF_ATTR_value_t sv;
    4 ^) `8 o% l  d5 m2 O/ j3 v

  9. , E3 @. c6 o; {9 s! H
  10. UF_UI_select_with_single_dialog("","",UF_UI_SEL_SCOPE_WORK_PART,body_sel_init,NULL,7 i; \3 l* t! _. G- F
  11. &res,&obj,cursor,&view);: L4 B0 G: \* \+ D6 L/ I/ E2 Z  }
  12. UF_ATTR_ask_locked(obj,"text1",&locked);
    2 j$ L) a* j+ x2 W8 N( a
  13. a=locked;( p2 Z+ W3 s+ I0 C+ j
  14. UF_ATTR_ask_locked(obj,"text2",&locked);
    . S5 `* P& i$ k/ h3 H, u
  15. b=locked;- G/ q4 A0 J2 i; f4 N; f6 \# T# E, X2 D
  16. erro=UF_ATTR_set_locked(obj,"text2",0);  d! I' d1 f1 H2 W3 P
  17. if (erro!=0)0 m1 f9 A9 }: x' `+ f
  18. {* d& k$ }9 ]2 H2 C/ {! W! B
  19. UF_get_fail_message(erro,msg);
    % c4 A1 s* y5 ?" Q* e2 O9 r
  20. uc1601(msg,1);) `6 Q) J! _8 Q, G7 s
  21. }
    ' h+ a: o( ]* s  K* _
  22. sv.type=UF_ATTR_string;
    - {/ p) Y/ L# ?2 j* c' G, ?
  23. sv.value.string="11111";
    " [  z/ S+ Q+ I; a. i
  24. erro=UF_ATTR_assign(obj,"text2",sv);
    - e6 Y( |3 y9 H8 M
  25. if (erro!=0)
    . P/ i  H6 o- p( a/ U  o' h
  26. {
    3 Y' @8 x1 R! N: R& C! Y& {
  27. UF_get_fail_message(erro,msg);; s$ U  C. ^) ?9 j& ]. N
  28. uc1601(msg,1);
    5 T, q8 F' h. e: w
  29. }6 j+ z5 m1 A- U3 e. y+ d

  30. ( c: M% D# J1 n
  31. UF_DISP_set_highlight(obj,0);</P>+ _3 y* c; F4 o8 \
  32. <P> </P>% m4 s. m% w5 s% E; |# S. k
  33. <P> </P>int body_sel_init(UF_UI_selection_p_t select_,void* user_data)
      @: G& W+ \' z' M3 x# x+ j& H/ t
  34. {
    0 q& U1 p3 A% E1 Z0 J" d
  35. UF_UI_mask_t a1[3]={UF_solid_type,UF_solid_body_subtype,UF_UI_SEL_FEATURE_SOLID_BODY};
    ! U+ M- Y6 M$ I$ I0 I1 d% o
  36. UF_UI_set_sel_mask(select_,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,a1);. |: Y. [* @$ b5 Z. N3 K. F! J
  37. return UF_UI_SEL_SUCCESS;
    ) K; R2 C; x+ b7 U( n
  38. }7 f; h' n. z5 L3 P( Q
  39. <P> </P>
复制代码

2 D* h% U" C0 n! f
' p, |: J6 L7 F

图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' O4 k4 a/ f/ Z' g3 b$ X, D
图1中,text2只读那一栏是锁定的图标

  Y% r2 x# X& ?5 f# XOverview
7 m! o9 {$ m7 |6 {$ l9 _; A, m; J; A+ i# r: b
6 f0 W! v/ U( N2 C/ M* a- L5 |
Sets the lock status of an attribute on the object specified. If the attribute does not
* J6 b! C5 }/ [1 x+ o( g* {4 \; B exist for the specified attribute type then an error is returned.
2 _6 T  |5 A* D2 {) c7 u9 t6 y! I3 B8 i2 M" h
Passing an object tag will result in modifying an attribute - E, z$ S) Y- ~+ |; B# w
on that object. Passing in a part tag will result in modifying
' v) r4 C2 m, L4 a a part attribute for that part.   w" S* L# E, s+ T8 Z6 _* E

7 B$ ]! x$ @, C' k- ~  @9 { The part in which the object resides must be fully loaded.
( t5 j" n2 \$ ^! }6 i6 z- h  m. L% S
Unlocking a locked attribute requires access via a Customer Default setting
( Y7 d# H1 D, I6 P& w6 ~$ l& R% c: S" K! m2 z! A. ^2 M# C
Discouraged in new applications
5 D) V' Y0 V0 ~0 L* }
上海点团信息科技有限公司,承接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
  y9 h( U& p$ ?( Q5 [7 O0 ZOverview

8 [3 Z% F7 D* U/ Y太棒了,完美解决问题,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二次开发专题模块培训报名开始啦

    我知道了