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

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

admin 楼主

2013-11-27 10:03:27

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

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

x
NX二次开发中有关表达式的操作代码分享
% I( c2 y  j4 Q0 v1 Q; R 8 b$ J. y$ I4 p6 D- B/ m$ b# P

  1. # e4 X6 }  o+ y% [# B6 i5 }7 l
  2. <p>static void do_UGopen_api(void); u- t; y, r: Z, j; ~
  3. {
    % A8 b4 u) a! }/ K9 C$ x! H! u% k
  4. // create block 1
    ( a# b( t* @* i  c: ]- x  T
  5. double coner[3] = {0,0,0};' T7 F/ |, @* K+ [) V
  6. char *edges[3] = {"l=100","w=100","h=20"};; {% e' j5 H+ E# T# R
  7. tag_t blk_tag;8 P8 L& ^6 U* }- t# k% z
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edges,&blk_tag);
    " [& }) t7 _1 {- m* t
  9. // create a hole- _) p3 q/ w& [+ X5 I8 s1 x  [4 K
  10. double dir[3] = {0,0,1};
    2 v& M' y6 Z7 L, V/ j7 z0 |" l: @
  11. double coner1[3] = {50,50,0};
    * P! f4 I5 `2 u) M2 y( X
  12. tag_t cyl_tag;2 U, h! x8 }9 Q: H
  13. UF_MODL_create_cyl1(UF_POSITIVE,coner1,"h+30","50",dir,&cyl_tag);</p><p> /*
    5 w" ?, T3 d9 O# O
  14. create expression and delete it! X& h* S9 H) m
  15. */" [" ?1 B6 Y8 a( b7 s4 J5 |/ Z- `
  16. // create expression" }7 k; _/ [, P
  17. char *exp_str,*str,*value;( z, {. u9 k) r$ y) [
  18. exp_str = "new_exp= 100";
    6 ?$ m2 a, l& K, p2 j3 e4 p
  19. tag_t new_exp,old_exp_tag;
    ) Y" p$ b3 N, v. G& p/ f
  20. char *str_exp,*str_old_exp;1 L8 V9 P) G8 c4 o% y( ~" J
  21. int nums;1 C/ i7 N/ x5 V+ J0 a! ]
  22. tag_t *exps;
    & k: b6 ~, I& \
  23. // before create the new expression, we need check if the expressions have been created or not
    6 z8 {+ }+ t; l* J' r
  24. // if having, we delete it
    6 }( w& c# r# A7 N0 A
  25. tag_t part= UF_PART_ask_display_part();. ?4 E9 }( I, x3 f
  26. UF_MODL_ask_exps_of_part(part,&nums,&exps);" P" I9 z% i# r. T, d
  27. UF_UI_open_listing_window();
    6 y; n4 X# q' w" V! y% r
  28. if(nums != 0 )) N' ]9 Z5 t2 {: x' f
  29. {
    / p6 K% t( B7 V: _7 C1 O
  30.   for(int i = 0 ; i < nums; i++)
    / F: i9 v/ `, O9 B; {6 O" f5 F
  31.   {5 Y4 L: `% N" l1 `  F
  32.    UF_MODL_ask_exp_tag_string(exps[i],&str_old_exp);
    / m/ _6 ^& M6 ^& S; z
  33.    UF_MODL_dissect_exp_string(str_old_exp,&str,&value,&old_exp_tag);
    1 F% m1 v. J+ v7 o/ q' G
  34.    if(!strcmp(str,"new_exp"))
    ( c0 _) d3 ]) x* Q
  35.    {
    7 L) j* R4 }9 P8 Q5 O9 K
  36.      //UF_UI_write_listing_window("we find the alreay expressions ==> new_exp and delete it \n");
    / R/ k; {3 B2 \; `0 _
  37.      //delete expression* N+ [( j. h. p
  38.      UF_MODL_delete_exp(str);1 e' ?3 n2 J8 ?; w9 p" ~, U
  39.      UF_MODL_update();' \  ~$ a( {! d, }5 E& M
  40.      break;
    ) m; N' t( Y" ?7 C/ b4 [4 ^3 C, }
  41.    }; y( E: J) v+ Q6 u  R6 {
  42.   }
    3 a3 N4 D! |+ `
  43. }
    : ^7 R7 `  {5 N$ G1 g- P/ F' L
  44. //UF_UI_write_listing_window("we can not find the expression ==> new_exp and create it \n");
    ; P+ H+ d, w2 |/ Y/ U) J) g
  45. UF_MODL_create_exp_tag(exp_str,&new_exp);
    # ^. T; d: C, B/ T' w3 s. b7 k
  46. UF_UI_write_listing_window("The new created expression is : \n");4 O- s' C: b) M7 j% h% e
  47. UF_MODL_ask_exp_tag_string(new_exp,&str_exp);( R" k9 ~# s% t4 b) x
  48. UF_UI_write_listing_window(str_exp);
    # C4 Y# l, S+ Z- E7 V! j, ]; e
  49. UF_free(str_exp);% O4 K( b" o: \' m, |
  50. UF_free(str);
    ; k* z+ b, Z2 ^8 _9 p; Q
  51. UF_free(value);( v& \" b- V, \1 B
  52. UF_UI_write_listing_window("\n");</p><p>}</p>
复制代码

! F# j4 u  y: a/ A  S! x0 j/ c# k" ^
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了