PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2013-11-27 14:02:41

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

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

x

( F# \; F: {5 YNX二次开发-关于body,feature,face,edge 之间的访问源码分享6 _- |, R- `; G  l

$ B. p* W- _9 _也有创建孔,创建阵列的测试哦!8 c0 ~3 j6 y5 r& a
: H; h# l0 s: Y8 H4 b8 |

  1. . [% K/ {5 `; m; H
  2. <p>static void do_UGopenApi(void)
    8 z& t$ j" X" h8 h' Y7 ]; Z
  3. {2 s" B0 ~1 ~: E( K- A
  4. //create a block
    1 Z0 \. o/ ~3 ~8 @1 \: L
  5. double coner[3]={0,0,0};
    + v9 l7 B$ X, C! ]+ G% R5 ?
  6. char *edge[3] = {"100","60","40"};  @2 G+ u$ v" x4 Z3 ~7 e, j! X+ ^, f
  7. tag_t blk_tag;
    1 b& j* i" y/ y7 N# d
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edge,&blk_tag);
      q& \3 D& I+ R$ R/ M: X
  9. //create a blend start8 L2 e, o& L: V* b+ U  u$ b
  10.     char *radius = "20";
      f' P0 N+ v5 u8 X' M0 D8 o- ]
  11. uf_list_p_t blend_list,face_list,edge_list;/ Y+ d# I5 C0 G: `# p" K/ F
  12. tag_t body_tag,tem_face,tem_edge,faces[6],edges[12],blend_feature;+ A- T- i( I* K" |+ c7 J% [
  13. int face_count,edge_count;
    / p8 L. f9 q* R5 F4 X3 w
  14. // get faces9 E: b7 B2 v" l$ G5 }% h5 ~+ \
  15. UF_MODL_create_list(&face_list);
    ! K; r" d8 p2 `
  16. UF_MODL_ask_feat_body(blk_tag,&body_tag);" v. h: }# @: U- T/ b" A$ Y
  17. UF_MODL_ask_body_faces(body_tag,&face_list);0 j( Z3 B% i/ r% F, o
  18. UF_MODL_ask_list_count(face_list,&face_count);
    * r" r; J: q3 y: M
  19. for(int i =0 ;i <face_count;i++)
    + w8 [" G1 T- K! o0 j! N  e
  20. {  
    ! d  f+ T& Q$ ~) F/ _7 m) Q* u4 ^  L
  21.   UF_MODL_ask_list_item(face_list,i,&tem_face);- k) ^8 \; u9 m7 `) I. D* V
  22.   faces[i]=tem_face;: v2 \& Z6 M( \& R( Z
  23. }5 `* i) Z3 W* T, \( o
  24. UF_MODL_delete_list(&face_list);
    8 M: @- r  m6 B8 S* h
  25. //get edges4 G* L: i( t: W/ N" o
  26. UF_MODL_create_list(&edge_list);7 |6 y, H! ~9 T. ~
  27. UF_MODL_ask_body_edges(body_tag,&edge_list);0 E3 P; {% ]4 X% ]% v( X
  28. UF_MODL_ask_list_count(edge_list,&edge_count);( X; T; H+ @8 t$ {" N- b
  29. for(int j = 0 ; j < edge_count;j++)
    7 d. O# U0 @5 L- ^/ ^* w+ @
  30. {& K  s/ G' H/ j, Z, d8 V
  31.   UF_MODL_ask_list_item(edge_list,j,&tem_edge);2 u) e$ k3 n" z5 c
  32.   edges[j]=tem_edge;0 t" b* |3 F7 u
  33. }6 N) V4 ~9 s2 H5 q
  34. UF_MODL_delete_list(&edge_list);8 {  a- D! [& \2 s" [
  35. // create the blend- r4 q( u, }5 ~
  36. UF_MODL_create_list(&blend_list);
    , }; ?$ i) U: ?4 k! H
  37. UF_MODL_put_list_item(blend_list,edges[6]);
    ! Z5 ]% \# b7 c/ o
  38. UF_MODL_create_blend(radius,blend_list,0,0,0,0.5,&blend_feature);
    5 h) x+ w$ P# }; P& P3 Z- o
  39. UF_MODL_delete_list(&blend_list);</p><p> // create hole8 E. ?. L1 x- J4 {+ c' t1 T
  40. double  location[3]={80,40,40};
    ' q& r- Z7 r# s! }9 ]2 C' B5 r
  41. double  direction[3]={0,0,-1};
    ( H- g; y& A# d6 o9 d
  42.     const char * diame="15";6 y5 A, Z( z0 {3 [+ n
  43. const char * depth="5";
    1 Z1 N$ C- n) S8 S+ i
  44. const char * angle="0";
    % v! H. T9 y: l% X1 J
  45. tag_t hole_id;
    - E6 g. M& O+ t( I( {- k% W
  46. UF_MODL_create_simple_hole(location,direction,diame,depth,angle,faces[0],faces[1],&hole_id);</p><p> // create instance, R7 ~2 r/ Q& E4 Q) M
  47. double origin[3]={10,10,0};. w& D( @4 R! T- o  M
  48. double dir[3]={0,0,1};1 W  H6 o6 m7 c& f/ X& Y) a* U
  49. tag_t cyl_tag;
    , F: c  ?7 w; E0 u7 f& N; H
  50. UF_MODL_create_cyl1(UF_NEGATIVE,origin,"20","10",dir,&cyl_tag);       8 `; ^' k% x1 L+ c
  51. char * number_in_x="2";6 l  w, K' J( s' f1 Z/ m0 k4 z' O. ?
  52. char * distance_x ="30";% T8 w! O$ \* L/ |
  53. char * number_in_y="2";# {4 c5 Q3 u. L1 A
  54. char * distance_y ="30";/ p; g7 `& m6 F9 a5 Y5 P
  55. tag_t  feature_obj_id;. d. H2 [2 m. [) b7 a  K
  56. uf_list_p_t feature_list;3 \, t" R' c2 G$ w# n" z! L
  57. UF_MODL_create_list(&feature_list);
    ) v5 x* }3 q8 r# y: T- ]( x' ^
  58. UF_MODL_put_list_item(feature_list,cyl_tag);
    ' @; X, ^. q. C
  59. UF_MODL_create_linear_iset(0,number_in_x,distance_x,number_in_y,distance_y,feature_list,&feature_obj_id);4 {6 O3 d# s% J
  60. UF_MODL_delete_list(&feature_list);. L, A/ a7 k' E7 f  W; l1 @; ^
  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二次开发专题模块培训报名开始啦

    我知道了