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 3273 0

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

admin 楼主

2013-11-27 10:03:27

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

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

x
NX二次开发中有关表达式的操作代码分享/ y' S1 j) ~  F

; n) X8 k- a3 ], b

  1. / J) y" A/ d0 B- ]! V0 t3 Z
  2. <p>static void do_UGopen_api(void)) b* e5 o4 f# ?  k! H5 ^, F
  3. {" z5 h6 G5 f  ]. [+ B) `
  4. // create block 1
    9 h0 i' P: j9 f& R2 x
  5. double coner[3] = {0,0,0};
    3 @1 M' L9 ]7 i: X+ u. X
  6. char *edges[3] = {"l=100","w=100","h=20"};
    * z2 u- |1 J7 i1 d0 S" V& G; j
  7. tag_t blk_tag;# S2 u# t1 V  E' F+ L9 A, \
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edges,&blk_tag);& f# w, `$ D7 f: D0 I5 t3 m
  9. // create a hole
    ; g2 _  W& e" B! x
  10. double dir[3] = {0,0,1};7 g9 Z; t1 {$ u" p' v, N4 w" c2 Y! Q8 x
  11. double coner1[3] = {50,50,0};4 A6 l0 G& N( k. J! l
  12. tag_t cyl_tag;9 \6 x# y9 V1 Y, {: F+ N
  13. UF_MODL_create_cyl1(UF_POSITIVE,coner1,"h+30","50",dir,&cyl_tag);</p><p> /*
    ; Z( S: g$ }1 x% b/ W8 ~
  14. create expression and delete it
    5 R1 n5 I; |* t8 ?9 \
  15. */# b- L3 V, h$ H$ Q8 i: z1 I# v& A: u
  16. // create expression
    + p5 Y# K2 m6 ?7 Z7 S2 L( x5 C
  17. char *exp_str,*str,*value;  Z# m) ?) r  @" H* ]* ^
  18. exp_str = "new_exp= 100";
    / z, o( d( q# d3 @. l
  19. tag_t new_exp,old_exp_tag;
    % r$ Q5 c5 L1 ~+ |  C% ~: o
  20. char *str_exp,*str_old_exp;3 a! N  d# N. A/ N. ]" |
  21. int nums;! N8 O/ F& @- T# a5 d
  22. tag_t *exps;4 }* T4 T: ~2 D: H5 B
  23. // before create the new expression, we need check if the expressions have been created or not ( o1 c0 A; a) e
  24. // if having, we delete it# C6 i/ f' g: L  J# L' \$ q
  25. tag_t part= UF_PART_ask_display_part();
    6 A( Q$ }+ o7 h, H  H" O
  26. UF_MODL_ask_exps_of_part(part,&nums,&exps);) b! \& M  @5 |+ r
  27. UF_UI_open_listing_window();" a8 _- c2 H5 h  W7 e4 ^7 t
  28. if(nums != 0 )
    ' O8 a) k# R# a% g& R# B5 _1 f
  29. {
    8 j7 \2 P, i5 w% a* h# \. v
  30.   for(int i = 0 ; i < nums; i++), L' ~+ I% ^% e; b
  31.   {% H5 t2 `- k- J. K
  32.    UF_MODL_ask_exp_tag_string(exps[i],&str_old_exp);
    8 ?  S+ z/ S1 w7 ]! o9 n* Q& b# A
  33.    UF_MODL_dissect_exp_string(str_old_exp,&str,&value,&old_exp_tag);
    ) ~- e( W1 f, d% ?, t0 h5 e9 x
  34.    if(!strcmp(str,"new_exp"))9 D4 r: v9 V- `8 ~+ O7 x9 K. B
  35.    {
    9 i* l9 g1 e  X2 j8 V
  36.      //UF_UI_write_listing_window("we find the alreay expressions ==> new_exp and delete it \n");
    - @# s% M. }! N& ?
  37.      //delete expression
    7 U8 l/ t0 Y0 d  }, M
  38.      UF_MODL_delete_exp(str);1 {0 M$ M6 R9 Z5 Z  o! G; S: v  o
  39.      UF_MODL_update();
    : s6 \9 N5 U+ H
  40.      break;7 Y; E+ f/ C: `0 d# I
  41.    }
    6 C7 ?. k" i1 z& R2 `- s9 b
  42.   }$ ^" h- ~5 x; D) I; ]+ L) C( @
  43. }
    ) k2 k/ w2 q6 Z* }; e6 z- s0 S
  44. //UF_UI_write_listing_window("we can not find the expression ==> new_exp and create it \n");
    3 s  x, w; p% \! M5 @' n0 s" c
  45. UF_MODL_create_exp_tag(exp_str,&new_exp);
    6 y& j+ \# v' I' e  Z
  46. UF_UI_write_listing_window("The new created expression is : \n");
    8 ~2 M/ ^7 A3 {. P" z( {
  47. UF_MODL_ask_exp_tag_string(new_exp,&str_exp);2 A, ?( C8 |$ @+ x+ o: l
  48. UF_UI_write_listing_window(str_exp);
    ( C+ [) ]3 }. X' X: _0 w. F( ]
  49. UF_free(str_exp);& ^* {' K) L4 }8 v  d
  50. UF_free(str);" w5 [/ m+ `4 T0 G
  51. UF_free(value);
    ! W- W# J  r4 Y- z
  52. UF_UI_write_listing_window("\n");</p><p>}</p>
复制代码
/ ^/ t; b" C: r( i) q1 `
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了