PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

PLM之家PLMHome-国产软件践行者

[求助] 关于属性模板使用的问题求助

  [复制链接]

2018-6-16 12:51:43 5392 4

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

airintheair 楼主

2015-12-1 13:48:36

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

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

x
情景如下:
& S6 a* g1 O8 J/ d6 G& k我在NX9里,建立了一个属性模板,模板内容含两条,其中一条选择保存后锁定,然后在建模环境下创建了一个体,对属性的值进行写入,保存后重新打开,看到属性是如下图1所示的。(这种属性锁定是我所需要的,不是不小心锁定哦~); `" w+ g1 g7 M* a
( ?) j7 d- C9 |; ^9 ]6 M; S
现在我想做一个开发,可以解锁这个属性,然后再对这个属性进行赋值,写入以下代码之后,出现两个报错,
0 r. n, z9 u8 l# w1 x: d! _第一个错误出现在UF_ATTR_set_locked这个函数的值,如图2所示。' ?) E7 d4 I2 {. X: e# P1 H
第二个错误出现在UF_ATTR_assign这个函数的值,如图3所示。
" O" [. d7 J9 R! b6 o0 F3 \" y; P7 `1 ~4 ?: {1 D% Y% n6 f
现在就请问大神!有没有什么办法是可以帮我实现我想要的这个功能?, b$ b! h: D/ H
: f' }2 e7 G' Y, x$ z7 K
代码如下:, @9 V3 k: q3 m8 ]) n$ k. Y& M
代码应该没有什么问题,问题在于如何解锁属性模板中锁定的属性?% X6 B/ N, N' W( J$ l- l$ f  N

  1. % G7 j+ F" Y5 M  w
  2. <P>int res=0,a=0,b=0,erro=0;8 |  [* H) c/ y% O+ F( i" _
  3. tag_t obj=NULL_TAG;
    ! K- ]- Z; g# ?5 q! i! r9 j
  4. double cursor[3]={0};4 q+ {1 X: ^: O4 }3 ^
  5. tag_t view=NULL_TAG;
    8 N' ^1 s1 \( l! [$ C: V  R# H2 Z
  6. logical locked;: q% _  m0 u% ~, R0 c$ N$ d9 ?
  7. char msg[256]={0};1 z& X/ g/ K7 G7 z
  8. UF_ATTR_value_t sv;
    6 s# C4 e5 q+ R. i

  9. ( g+ d0 `% m( ^; u
  10. UF_UI_select_with_single_dialog("","",UF_UI_SEL_SCOPE_WORK_PART,body_sel_init,NULL,$ S# ?7 f; j( F& S  }  m, a2 n1 Y
  11. &res,&obj,cursor,&view);: T  L4 {  i6 [. L7 Y3 W( S: v2 _
  12. UF_ATTR_ask_locked(obj,"text1",&locked);1 `# N$ @8 |: Y0 z  g0 Z+ D
  13. a=locked;  g% m/ v1 K- G# A. G6 u
  14. UF_ATTR_ask_locked(obj,"text2",&locked);
    - x9 o; `  s5 u2 w4 u
  15. b=locked;
    , V) r' [; I! ~% R% H' b1 u, L1 b) u- o
  16. erro=UF_ATTR_set_locked(obj,"text2",0);: A$ t5 u( Y$ `# l0 b% K
  17. if (erro!=0)) h, }$ D6 J% s0 v5 E  r; X
  18. {
    : i4 _( b4 C8 s$ K" p6 ~. m+ a3 b
  19. UF_get_fail_message(erro,msg);7 s1 [3 _( ?6 Q
  20. uc1601(msg,1);+ O7 {# f- _, a  b3 }0 y. W
  21. }& l& A7 S" L4 z8 V4 d: j! S7 X
  22. sv.type=UF_ATTR_string;
      v" Y0 H# Y6 E- B1 {
  23. sv.value.string="11111";7 f! \/ ^# @, Q
  24. erro=UF_ATTR_assign(obj,"text2",sv);  ]8 _# s1 U5 Z; U) w9 {  x) C& v
  25. if (erro!=0)
      J( U2 z: d  `- z4 h* g
  26. {
      x8 E$ k, v, m; B  @
  27. UF_get_fail_message(erro,msg);
    , M1 D6 n* e0 C; N  ?
  28. uc1601(msg,1);
    3 y- I' q5 A0 {5 z( N7 }
  29. }
    + \# ]8 S9 X; J- }* k
  30. 1 A- |6 j: S' A! S8 i
  31. UF_DISP_set_highlight(obj,0);</P>
    7 s# Z7 Y; n+ g* w0 R
  32. <P> </P>  V  O( U+ C' j  f1 t0 L: P
  33. <P> </P>int body_sel_init(UF_UI_selection_p_t select_,void* user_data)
    * k* a; |- C' K: }/ u
  34. {" ?4 U1 J8 o" g9 x5 z3 D0 h) f
  35. UF_UI_mask_t a1[3]={UF_solid_type,UF_solid_body_subtype,UF_UI_SEL_FEATURE_SOLID_BODY};+ y8 n2 R# H& b4 z: `
  36. UF_UI_set_sel_mask(select_,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,a1);; w1 s/ j) z2 R* Q
  37. return UF_UI_SEL_SUCCESS;
    8 H7 Y. b" o- b- r1 N0 T
  38. }& m* U6 W$ ]9 \8 V( q8 w+ _+ S
  39. <P> </P>
复制代码
8 W2 ~6 {- j6 b1 a- P* R
8 u6 {. k, q5 e4 r

图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" J8 T- M  U  H7 v" R( v
图1中,text2只读那一栏是锁定的图标
+ W( M- q. Z5 u  c
Overview
( q& ], \) d7 r+ Z
; [: N" G6 T7 Q, S6 i  S: [$ E, g6 a6 R, o
Sets the lock status of an attribute on the object specified. If the attribute does not
' K& G7 m! g5 ]& c0 C6 c1 {# ] exist for the specified attribute type then an error is returned.
, p3 L- T3 |8 q/ c& S# @% }2 @) Q
Passing an object tag will result in modifying an attribute ! e8 F$ h9 u, G# Z+ j
on that object. Passing in a part tag will result in modifying
1 E; E$ X9 y2 {, V; j4 \ a part attribute for that part.
2 h. a7 r( A' x' m! e& w& Y, b3 q9 a+ Q2 t$ y/ a
The part in which the object resides must be fully loaded. ; s1 ]; O; ]. q& z
( J$ K# N, b0 Q( D+ V* u
Unlocking a locked attribute requires access via a Customer Default setting
3 \+ a+ v. T/ W. e" F/ U4 f
. q5 F1 w! t1 y Discouraged in new applications
$ u* K, f$ l' F  s: Q2 C% o& ]
上海点团信息科技有限公司,承接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
0 X5 x' p4 N  `6 d8 zOverview

. k* ~9 a) h4 w* y  y" p( A太棒了,完美解决问题,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二次开发专题模块培训报名开始啦

    我知道了