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

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

admin 楼主

2013-11-27 10:03:27

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

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

x
NX二次开发中有关表达式的操作代码分享
% p. B5 h- c3 h4 Q% _4 h, g 8 o8 ]! h3 G4 x# l5 Y7 G& M

  1. + M; \, S+ o+ f& X9 {% T9 K0 @
  2. <p>static void do_UGopen_api(void)# y5 P+ q) C- S% b
  3. {1 |3 W; N) ?% D9 e; Y
  4. // create block 1
    ( Q3 h/ \* y+ O: ~8 k0 n$ ~
  5. double coner[3] = {0,0,0};* N! S: ?" \) b6 E: F9 n. K3 u% _
  6. char *edges[3] = {"l=100","w=100","h=20"};
    8 I0 `; O$ \$ X& r; p/ [8 R
  7. tag_t blk_tag;
    7 k/ D/ s6 ~  s! b. t" o  K
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edges,&blk_tag);
    ! Z# C/ t# F6 E- R( u5 y
  9. // create a hole
    ) K# V( G1 Q/ t
  10. double dir[3] = {0,0,1};" h8 D- {  H3 d; `% o$ {+ x
  11. double coner1[3] = {50,50,0};: t% J: Q( l9 K
  12. tag_t cyl_tag;
    0 }9 S% U/ i8 D  v# S" o8 L
  13. UF_MODL_create_cyl1(UF_POSITIVE,coner1,"h+30","50",dir,&cyl_tag);</p><p> /*+ e- C7 H9 Y6 I$ f
  14. create expression and delete it
    ) e" R5 x" x1 i! q  v
  15. */
    - @5 X* t. B0 b# h. U
  16. // create expression
    % R+ J) Y' J; H: {9 w) J
  17. char *exp_str,*str,*value;
    / {4 e- Z: M3 `1 g/ W: s3 z
  18. exp_str = "new_exp= 100";
    0 {, z" }9 F: @+ M5 X9 O: q8 e0 [- O
  19. tag_t new_exp,old_exp_tag;$ j" S2 k' {' j
  20. char *str_exp,*str_old_exp;
    6 p' J7 X3 M2 W. {2 q
  21. int nums;7 ^/ E  ^* l2 U' Q
  22. tag_t *exps;. n3 l  A9 V9 ^- [- T1 x
  23. // before create the new expression, we need check if the expressions have been created or not / ~) |) s1 c$ g
  24. // if having, we delete it, X8 g& K6 V% J3 l4 a
  25. tag_t part= UF_PART_ask_display_part();' S" b& E- P0 r6 B& F5 v4 N
  26. UF_MODL_ask_exps_of_part(part,&nums,&exps);3 Y3 q; {2 f7 F+ I& [; \9 ~  `
  27. UF_UI_open_listing_window();. S9 m- B- X, [, O  f5 v
  28. if(nums != 0 )
    : A1 g' [2 L+ s1 z3 X9 c
  29. {
    $ n. `: M. T/ M) W5 }& f
  30.   for(int i = 0 ; i < nums; i++)0 q. G6 a# j( n* i
  31.   {- y  ?" l7 N; o2 v
  32.    UF_MODL_ask_exp_tag_string(exps[i],&str_old_exp);
    ) @/ i' g* D) l  E! E3 @" o
  33.    UF_MODL_dissect_exp_string(str_old_exp,&str,&value,&old_exp_tag);
    % @# Q6 D2 G' t6 m+ w
  34.    if(!strcmp(str,"new_exp"))6 X! s9 ?: W$ y6 g- A
  35.    {
    % _) E9 f$ c* l9 D! K
  36.      //UF_UI_write_listing_window("we find the alreay expressions ==> new_exp and delete it \n");/ e$ x8 w: R7 u; G3 C2 S# g  N" R! L
  37.      //delete expression/ N& T' ?: G3 ?  O  O8 R* d
  38.      UF_MODL_delete_exp(str);
    3 t9 D7 G+ m1 V' i% |$ [) P  F
  39.      UF_MODL_update();* I/ u  y' e5 k3 J7 `( S
  40.      break;
    8 r2 J+ S0 X5 E* F. _" y
  41.    }
    0 T8 A/ c% [" X$ K3 Z$ ~
  42.   }
    # a& ?! g0 C( O7 s4 K4 m
  43. }) y  C- D2 R" _- `/ h9 @: K# R8 k% n
  44. //UF_UI_write_listing_window("we can not find the expression ==> new_exp and create it \n");- ~' s( z( u& }
  45. UF_MODL_create_exp_tag(exp_str,&new_exp);
    4 I$ g# F. X* ]; u" Y, s
  46. UF_UI_write_listing_window("The new created expression is : \n");
    / \$ t* h% j1 P4 r
  47. UF_MODL_ask_exp_tag_string(new_exp,&str_exp);
    * Y* k$ _) U& J, w- q! z) G
  48. UF_UI_write_listing_window(str_exp);. M- `' C, O+ a# p2 w
  49. UF_free(str_exp);
    6 A, y+ t: a9 C' a
  50. UF_free(str);& I4 V& ^- H, f
  51. UF_free(value);2 X- L2 Q% K+ P' {! E5 S
  52. UF_UI_write_listing_window("\n");</p><p>}</p>
复制代码

9 g; T3 |/ K! y/ J5 ?1 y4 s
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了