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

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

admin 楼主

2013-11-27 10:03:27

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

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

x
NX二次开发中有关表达式的操作代码分享
" c) C# {6 |- [ , B& Q* j& w5 ^( p; R

  1. 9 m! D5 n4 [5 U8 s5 [3 r. t
  2. <p>static void do_UGopen_api(void), }3 a6 ^; h! S6 u2 A4 V; `
  3. {
    6 ^' G: N/ p! _2 S9 A& w
  4. // create block 1
    * s' e. e0 s. \  a% ?$ M7 k
  5. double coner[3] = {0,0,0};  J3 i5 m0 V/ W5 A! n8 Q0 a: U
  6. char *edges[3] = {"l=100","w=100","h=20"};
    0 j- C6 P% G3 a
  7. tag_t blk_tag;! |( f, t/ T7 V+ Z. _
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edges,&blk_tag);& q! |" a: Q8 n7 \' j& C1 l. _4 E
  9. // create a hole
    , q: V; d: @) p7 d3 R1 h$ w/ x& w
  10. double dir[3] = {0,0,1};
    * I4 |) F# `, p7 b9 d5 l
  11. double coner1[3] = {50,50,0};0 ~9 N( K8 V, s# d$ i
  12. tag_t cyl_tag;
    , S9 D2 x' V" Y' Q; h; j6 b
  13. UF_MODL_create_cyl1(UF_POSITIVE,coner1,"h+30","50",dir,&cyl_tag);</p><p> /*
    / T- ~/ J! a7 q. K
  14. create expression and delete it: T/ U2 V3 }) d! r( \
  15. */
    ' n/ B0 d0 X% n  o! O' ^
  16. // create expression/ ~8 w8 O) G7 {# s, N3 M* O0 H, O
  17. char *exp_str,*str,*value;1 g# Y/ {2 r$ r6 _5 Q7 ~1 d
  18. exp_str = "new_exp= 100";
    ' N4 {3 O$ l: V. K1 Q2 J+ P+ Q0 S
  19. tag_t new_exp,old_exp_tag;. Z1 H( ]& e" J2 Z
  20. char *str_exp,*str_old_exp;* m/ h6 s5 O/ n( u
  21. int nums;
    7 U, [: ?6 A0 K" }) u0 }$ T! Q
  22. tag_t *exps;
    4 n0 N$ w$ `$ ~
  23. // before create the new expression, we need check if the expressions have been created or not 9 _! }0 F1 d1 z
  24. // if having, we delete it/ X9 \( E- O" @1 U7 U
  25. tag_t part= UF_PART_ask_display_part();
    ! Y! C8 A0 Z* W7 j
  26. UF_MODL_ask_exps_of_part(part,&nums,&exps);
    ' R! ]& ^, S% [2 D
  27. UF_UI_open_listing_window();
    * F- d7 L: J+ N) v$ P4 Q
  28. if(nums != 0 )
    1 Z7 `, N5 n2 |, A; y" {& A- g
  29. {) M# X+ l, y  p5 p
  30.   for(int i = 0 ; i < nums; i++)
    $ e; M4 H! M7 f) T$ c! \
  31.   {5 P# c) R8 N! B7 _; L4 g0 E2 x1 A
  32.    UF_MODL_ask_exp_tag_string(exps[i],&str_old_exp);; T, H5 K" `, W: O* M, t2 A4 p
  33.    UF_MODL_dissect_exp_string(str_old_exp,&str,&value,&old_exp_tag);! d! a0 Q8 x7 n3 j
  34.    if(!strcmp(str,"new_exp")): x; D% s. [* p
  35.    {
    ' u  O* G' P$ V
  36.      //UF_UI_write_listing_window("we find the alreay expressions ==> new_exp and delete it \n");
    & f3 }: y5 d1 @; g; O' d
  37.      //delete expression% h) R4 t; R. s
  38.      UF_MODL_delete_exp(str);
    * i& {: L; x7 t* t
  39.      UF_MODL_update();
    , t0 A. r1 M& v. Y2 T+ Q& H, V
  40.      break;
    + e' U1 }5 q# }& j9 B# F8 R% [
  41.    }
    , o7 G/ d. ]$ h! w4 R! d3 z
  42.   }
    $ \. w1 _" H& `* e
  43. }* J3 e6 U3 x5 [9 Q/ U/ a, M6 H
  44. //UF_UI_write_listing_window("we can not find the expression ==> new_exp and create it \n");) _+ \$ U- X, j4 `3 r; x
  45. UF_MODL_create_exp_tag(exp_str,&new_exp);& z8 T8 c9 {) h/ ~* b  a
  46. UF_UI_write_listing_window("The new created expression is : \n");
    2 H$ h" X% W# g6 t6 ~  I
  47. UF_MODL_ask_exp_tag_string(new_exp,&str_exp);. x$ t- I: p4 k
  48. UF_UI_write_listing_window(str_exp);# m4 D$ f) \8 C
  49. UF_free(str_exp);- I' S$ u# c+ Y
  50. UF_free(str);0 C  y  \2 x. R
  51. UF_free(value);$ G% ^0 U2 @: a1 p
  52. UF_UI_write_listing_window("\n");</p><p>}</p>
复制代码

$ I4 L8 I- p- H! ~8 W  I2 M  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二次开发专题模块培训报名开始啦

    我知道了