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-国产软件践行者

[二次开发源码] NX二次开发中有关表达式的操作代码分享

[复制链接]

2013-11-27 10:03:27 3416 0

admin 发表于 2013-11-27 10:03:27 |阅读模式

admin 楼主

2013-11-27 10:03:27

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

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

x
NX二次开发中有关表达式的操作代码分享( q' I! A3 F8 ^6 i
' v4 N' g" ]2 ]: \' j7 f1 c4 j
  1. * {6 C0 z3 a- ]. Y/ n
  2. <p>static void do_UGopen_api(void)
    ' }6 n! Q& V' P# P  K, k$ v4 x
  3. {, Q: t! L% i/ P. F, f% s: J
  4. // create block 12 ]4 r: K/ i: O! h
  5. double coner[3] = {0,0,0};0 D5 P4 @9 J: V3 z+ i0 m
  6. char *edges[3] = {"l=100","w=100","h=20"};
    1 z. w& ?7 p: {2 \! G1 s# L
  7. tag_t blk_tag;, u& w1 g) ~& E
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edges,&blk_tag);
    - T6 D/ I( @" b
  9. // create a hole: |& P0 O6 Y4 e( H
  10. double dir[3] = {0,0,1};
    2 \/ |" a8 ?! U/ O
  11. double coner1[3] = {50,50,0};
    6 e% n8 R% ^$ V4 H3 G8 _
  12. tag_t cyl_tag;
    ! p; \) W% w+ B
  13. UF_MODL_create_cyl1(UF_POSITIVE,coner1,"h+30","50",dir,&cyl_tag);</p><p> /*
    & d$ y- [% p* O
  14. create expression and delete it7 f, T  B1 B' e8 Y- y
  15. */: o1 d" N: G8 E, i
  16. // create expression
    * X/ Q% e7 D6 @0 j6 ^0 F
  17. char *exp_str,*str,*value;
      D/ U8 M: h8 l( b
  18. exp_str = "new_exp= 100";* X, ^0 q/ T2 h/ h* Q9 ?- i0 E
  19. tag_t new_exp,old_exp_tag;0 N. p% M+ I8 L0 D
  20. char *str_exp,*str_old_exp;& D+ a; t( y2 {- [* B
  21. int nums;6 [0 U! [" X0 I( z# W' E+ r
  22. tag_t *exps;
    " X1 @0 N' \1 M, W. f
  23. // before create the new expression, we need check if the expressions have been created or not 3 `& Y, L9 K; T" |) x
  24. // if having, we delete it
    ! I: S2 Y3 N' U# W; v9 f2 O1 z7 i
  25. tag_t part= UF_PART_ask_display_part();( Z4 R6 l! r6 B
  26. UF_MODL_ask_exps_of_part(part,&nums,&exps);  b* z* J( \3 ^/ k! h5 N
  27. UF_UI_open_listing_window();
    5 \  ^1 Q1 z: Z8 g! ]. w" |
  28. if(nums != 0 )
    % Q+ v( E  U+ @6 x  P2 Z
  29. {7 m5 X1 m' E5 Q1 T0 @3 o9 \. V1 r
  30.   for(int i = 0 ; i < nums; i++)8 G2 m4 w- n6 b! K( d5 ]" k) W+ [
  31.   {3 ?( p' T! h- |0 y; O. H
  32.    UF_MODL_ask_exp_tag_string(exps[i],&str_old_exp);- }# c& g7 d5 D4 T! D! f
  33.    UF_MODL_dissect_exp_string(str_old_exp,&str,&value,&old_exp_tag);
    # }8 m: F7 I, s, Z4 i' L
  34.    if(!strcmp(str,"new_exp"))  L8 c1 \8 `( S( o! l7 V
  35.    {
    3 F  g& a  G5 f) l3 {
  36.      //UF_UI_write_listing_window("we find the alreay expressions ==> new_exp and delete it \n");* ?2 k1 T/ K7 B. D
  37.      //delete expression8 x' I1 b0 z8 u  p* X2 L# @1 f$ W2 F
  38.      UF_MODL_delete_exp(str);
    - f1 Y0 q2 |0 z" P. N
  39.      UF_MODL_update();5 N. h, _& M! C' o2 H. I# L
  40.      break;. K! J0 B; E. e* i
  41.    }% R) o, [! q7 z* ^
  42.   }+ ~3 r0 h. h2 {, k6 O
  43. }# W9 w& L. y- B6 M4 x7 H. n/ P& Q
  44. //UF_UI_write_listing_window("we can not find the expression ==> new_exp and create it \n");
    ( P. W5 \1 W6 E: ^/ l) d  k" q
  45. UF_MODL_create_exp_tag(exp_str,&new_exp);$ H7 R7 a5 b5 ~% q* \" [9 D% ~' L
  46. UF_UI_write_listing_window("The new created expression is : \n");
    + z- l. k& P# F: z4 X1 X. T
  47. UF_MODL_ask_exp_tag_string(new_exp,&str_exp);
    ; N7 A; J; W& W! e  z5 T5 q( i) M
  48. UF_UI_write_listing_window(str_exp);
    , q; y, t) I; |, w$ L  i
  49. UF_free(str_exp);
      p8 J1 L. @/ ]! A
  50. UF_free(str);
    / T. @0 {- \; M  `
  51. UF_free(value);
    / q* H% N* \/ ^- h
  52. UF_UI_write_listing_window("\n");</p><p>}</p>
复制代码

, E  u; X, F8 M* J% W9 _
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了