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

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

airintheair 楼主

2015-12-1 13:48:36

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

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

x
情景如下:) ~4 y( u. I) P; J4 i7 I7 p
我在NX9里,建立了一个属性模板,模板内容含两条,其中一条选择保存后锁定,然后在建模环境下创建了一个体,对属性的值进行写入,保存后重新打开,看到属性是如下图1所示的。(这种属性锁定是我所需要的,不是不小心锁定哦~)$ ~% l% ?- b! V" C  Z# g
+ Q! m, b8 R4 p, b0 ^! u% r+ I$ l/ B
现在我想做一个开发,可以解锁这个属性,然后再对这个属性进行赋值,写入以下代码之后,出现两个报错,- l5 }3 S* D# F: S
第一个错误出现在UF_ATTR_set_locked这个函数的值,如图2所示。
, |" ^; U) E3 c# B9 R# p' q) h第二个错误出现在UF_ATTR_assign这个函数的值,如图3所示。
. ], k' \+ T: u) W; Y& V: s$ K7 D" K
$ X" B5 x( o0 H+ X% F' D1 x8 W! [现在就请问大神!有没有什么办法是可以帮我实现我想要的这个功能?* m/ ?. D5 \8 T# U0 ]
8 k. [0 m2 m! S3 X! A1 F; }
代码如下:
) h! s  E0 {  Z$ u7 s代码应该没有什么问题,问题在于如何解锁属性模板中锁定的属性?
( h' m1 ^  l* {1 U$ d3 Q

  1. / ^; O* b+ o1 g1 j
  2. <P>int res=0,a=0,b=0,erro=0;
    2 d; j3 P" M# K  v( p% J
  3. tag_t obj=NULL_TAG;( O) p' _" V. V/ Y" i
  4. double cursor[3]={0};" _, W8 q0 Z& D6 w) b. q
  5. tag_t view=NULL_TAG;6 U' Y2 M; y4 m. L  g: H' X( e' f% \
  6. logical locked;$ O1 ^9 V6 x0 F' e4 G/ K3 G
  7. char msg[256]={0};( k+ W- n. H, I+ z. }7 H) Z0 W1 s
  8. UF_ATTR_value_t sv;
    - G: }) ^' K% }+ f
  9. 9 @& W3 C+ {6 X2 S6 [% G/ X
  10. UF_UI_select_with_single_dialog("","",UF_UI_SEL_SCOPE_WORK_PART,body_sel_init,NULL,% I/ v# j* d5 m. S: J: ^
  11. &res,&obj,cursor,&view);
    8 V; B% \# w4 n  W4 @
  12. UF_ATTR_ask_locked(obj,"text1",&locked);
    : M0 Q9 F* C2 u* Q1 V) f
  13. a=locked;0 _1 P' a# N9 U2 Z, w
  14. UF_ATTR_ask_locked(obj,"text2",&locked);
    - k" H  c$ z) t: k2 k5 C
  15. b=locked;" [! d" x3 j" W, B% g
  16. erro=UF_ATTR_set_locked(obj,"text2",0);
    & K% @* R: y0 f' i5 t: p
  17. if (erro!=0)9 D7 \/ Y  b4 H3 \: e' m
  18. {0 S' C+ s2 H# K! u
  19. UF_get_fail_message(erro,msg);+ N( ~1 a. |0 P& l2 g4 A3 ^
  20. uc1601(msg,1);
    ( {$ G  v- `1 G. O, C
  21. }
    4 O/ ?. }3 t0 V+ f6 s
  22. sv.type=UF_ATTR_string;! y9 Y. n6 D8 C
  23. sv.value.string="11111";
    & g. V% ~' i& e
  24. erro=UF_ATTR_assign(obj,"text2",sv);
    ! Z: h# c6 N+ L! B
  25. if (erro!=0)
    % l1 Y5 ]; G* f7 f
  26. {5 \) _( r$ X. p
  27. UF_get_fail_message(erro,msg);
      I( w* A9 m* D- X8 I
  28. uc1601(msg,1);- k9 Q6 r# x1 j& t' r
  29. }$ A& y* V0 p6 H1 o% u3 f
  30. - n# u, d6 t+ }# W$ H5 J
  31. UF_DISP_set_highlight(obj,0);</P>
      t2 N6 G( A+ w, \$ d  \( W
  32. <P> </P>1 s0 Y4 k' W3 ^5 ]* [6 Q. |4 G  u" O+ j
  33. <P> </P>int body_sel_init(UF_UI_selection_p_t select_,void* user_data)
    * j3 w/ \$ \5 ?
  34. {
    ' p" V6 h  _- \! D, r
  35. UF_UI_mask_t a1[3]={UF_solid_type,UF_solid_body_subtype,UF_UI_SEL_FEATURE_SOLID_BODY};
    ; a) \7 V+ T) P8 e* T9 t" `: m( y( T
  36. UF_UI_set_sel_mask(select_,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,1,a1);
    $ P0 f$ I. q7 x6 J6 O# |* L# O9 @7 l' E
  37. return UF_UI_SEL_SUCCESS;: v4 R% n+ x7 b$ N
  38. }
    % S/ j- k5 x9 _
  39. <P> </P>
复制代码

- M; W2 F! N! `3 J# _% e' u. i9 W# L* E" z' C8 p& ?% P

图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
3 R! x6 }+ e/ e& @0 v. Q图1中,text2只读那一栏是锁定的图标
5 [: W' L- m" |. L9 r1 }% ]* W
Overview4 C5 v. Q: s% w5 B
- b7 f0 C* J! }! q' i$ o
& d4 p( w. R7 R0 B7 f
Sets the lock status of an attribute on the object specified. If the attribute does not ) I0 ^7 z' \/ T0 }% D- z2 W
exist for the specified attribute type then an error is returned. 2 O2 Z" e) F) p

$ I: U4 O# s$ O* L0 x Passing an object tag will result in modifying an attribute
  J4 ?9 t+ ~( |1 `* }2 H on that object. Passing in a part tag will result in modifying
) D4 n( ], u' m2 P( i a part attribute for that part.
$ L* [. S$ w+ V7 t5 `4 k& z5 E! x/ ^& _& |: s+ P. D7 \
The part in which the object resides must be fully loaded. , u7 t6 Y) C/ J1 ?9 |, S

2 G; y4 d. I1 B: _9 c/ Q Unlocking a locked attribute requires access via a Customer Default setting 2 m% p$ _* h" E# d4 R4 N
) Z( A* F; p, b' F
Discouraged in new applications
5 D, }1 M  w3 v+ g' F1 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) c0 W0 \6 O1 E. B" _7 t
Overview

* b- u9 f8 H7 }9 ?太棒了,完美解决问题,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二次开发专题模块培训报名开始啦

    我知道了