PLM之家PLMHome-工业软件与AI结合践行者

[二次开发源码] NX二次开发-关于body,feature,face,edge 之间的访问源码分享

[复制链接]

2013-11-27 14:02:41 4499 0

admin 发表于 2013-11-27 14:02:41 |阅读模式

admin 楼主

2013-11-27 14:02:41

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

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

x

3 a8 P" r  C/ R: ~5 HNX二次开发-关于body,feature,face,edge 之间的访问源码分享% |4 L- r! p8 b0 R. Q/ }* y

/ ?0 D$ U1 T# [2 S: T' Z& j( j也有创建孔,创建阵列的测试哦!
+ a" \9 `  j2 x$ ]# h6 c- v9 ^* s* @. ]" a! S3 j

  1. ( J9 [, f+ S4 b# b7 L- c- n; G
  2. <p>static void do_UGopenApi(void)$ g: G* k, a8 f( u. |# y& _
  3. {5 K5 S  ^5 h$ h$ O
  4. //create a block: v" j: Q1 P' Y) J0 \
  5. double coner[3]={0,0,0};
    / \1 s  u6 X3 c& e# }6 l" J
  6. char *edge[3] = {"100","60","40"};
    9 L2 X" b8 Q- w4 [9 E) d
  7. tag_t blk_tag;" ~3 W- E: @5 _0 ]+ j1 N
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edge,&blk_tag);9 O) ?* n- k: ^4 Y0 C5 W) C
  9. //create a blend start* h$ [% H* q* R4 |) ~
  10.     char *radius = "20";% `3 l, R$ N% F/ {3 q% I
  11. uf_list_p_t blend_list,face_list,edge_list;- Z( }- i1 p4 h1 k! m+ `
  12. tag_t body_tag,tem_face,tem_edge,faces[6],edges[12],blend_feature;
      E/ o$ G. n2 l# G" f6 O' j: K$ }
  13. int face_count,edge_count;" a4 Y! r- Z" L" k# v: C" ^% u2 d1 h
  14. // get faces
    / {" o. n% s! I
  15. UF_MODL_create_list(&face_list);
    9 p3 B* g* ^% Z0 ], \
  16. UF_MODL_ask_feat_body(blk_tag,&body_tag);
    8 S1 d# S! j  K: C, Q5 R8 L1 J4 v
  17. UF_MODL_ask_body_faces(body_tag,&face_list);, P4 a4 U6 q1 T
  18. UF_MODL_ask_list_count(face_list,&face_count);
    6 O% A( ~+ H- j; [- E( {% z& Q1 D0 F; V
  19. for(int i =0 ;i <face_count;i++)
    ' F! T9 Z8 m. |
  20. {  
    0 Q/ S4 X5 C% L4 E# H
  21.   UF_MODL_ask_list_item(face_list,i,&tem_face);4 Z" F" b+ O. H# T
  22.   faces[i]=tem_face;
    ) m5 @  }! A* @* [# _
  23. }
    2 `% m5 S3 M, h$ l
  24. UF_MODL_delete_list(&face_list);
    ; c/ {2 N8 b! L- l
  25. //get edges
    9 q) h" w) G, B
  26. UF_MODL_create_list(&edge_list);+ Z. H4 C/ U  o! w8 j7 \; g
  27. UF_MODL_ask_body_edges(body_tag,&edge_list);
    9 `3 f" @/ _' {  \* L
  28. UF_MODL_ask_list_count(edge_list,&edge_count);
    6 F3 J0 O4 p# P* |3 ?( E
  29. for(int j = 0 ; j < edge_count;j++)
    9 |' Q8 o' j  r
  30. {* n6 q3 c+ \# J9 z3 R: ]
  31.   UF_MODL_ask_list_item(edge_list,j,&tem_edge);
    . Z- \& u# }) ~) g
  32.   edges[j]=tem_edge;
    5 i) m* b) }# a/ ?8 ?
  33. }% }# X" \9 q' O, C( N! L* w
  34. UF_MODL_delete_list(&edge_list);' n1 b6 U+ G2 n" k  Y* I0 m
  35. // create the blend
    & Z' y! C* _- i6 i
  36. UF_MODL_create_list(&blend_list);) T, s' P  p/ |) U3 A0 _$ V
  37. UF_MODL_put_list_item(blend_list,edges[6]);
    , K8 b9 u& v  m  e$ R1 S8 s
  38. UF_MODL_create_blend(radius,blend_list,0,0,0,0.5,&blend_feature);7 \: Z& v# F3 `* p8 J! k  y
  39. UF_MODL_delete_list(&blend_list);</p><p> // create hole* o" d: c% ]. x: T( T
  40. double  location[3]={80,40,40};
    " l: y6 ?& J! B& F2 p' p' N3 R# a
  41. double  direction[3]={0,0,-1};
    6 y2 ?3 Q: _0 Q
  42.     const char * diame="15";
    2 n" t$ f% J- z" u3 ^: n
  43. const char * depth="5";
    ! k- ^0 _- b; T, L- Y( ~: [/ i: J
  44. const char * angle="0";/ N4 e' O9 S+ a  T! {
  45. tag_t hole_id; + |, |3 i* n! l+ @! ~; v' D
  46. UF_MODL_create_simple_hole(location,direction,diame,depth,angle,faces[0],faces[1],&hole_id);</p><p> // create instance6 ^" T! ~- _9 [7 Q9 l" I
  47. double origin[3]={10,10,0};& h9 t& b5 ^' A0 Z$ O( x: \  V! T
  48. double dir[3]={0,0,1};
    ) T7 z# N4 Z- j- {* O5 K  O
  49. tag_t cyl_tag;' D6 _" D; {5 {" n6 l& ]; C( S
  50. UF_MODL_create_cyl1(UF_NEGATIVE,origin,"20","10",dir,&cyl_tag);       , K- b) J! F- k6 t, J& _
  51. char * number_in_x="2";0 Z: G: g! W$ G* T& w9 w
  52. char * distance_x ="30";
    1 A6 V7 I/ h3 L, F
  53. char * number_in_y="2";
    & x" ^4 r+ M- I7 v
  54. char * distance_y ="30";9 F9 L* q  _. O! U" p0 p
  55. tag_t  feature_obj_id;
    ! Z2 v" J1 ~( Y' a, O3 K4 w- P3 |
  56. uf_list_p_t feature_list;
    ; V/ Y& w+ U* D
  57. UF_MODL_create_list(&feature_list);7 V2 @  B+ l6 Y$ n
  58. UF_MODL_put_list_item(feature_list,cyl_tag);
    % q/ n1 e) ?2 h+ c: e, E
  59. UF_MODL_create_linear_iset(0,number_in_x,distance_x,number_in_y,distance_y,feature_list,&feature_obj_id);; [4 k1 L( H( O' M  L$ T
  60. UF_MODL_delete_list(&feature_list);! i: s) S* q1 D3 H
  61. }</p>
复制代码
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了