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

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

[复制链接]

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

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

admin 楼主

2013-11-27 14:02:41

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

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

x

9 N9 t4 W' L- {) P$ K# K4 R2 _+ k1 pNX二次开发-关于body,feature,face,edge 之间的访问源码分享; y7 @8 C& Q4 ^8 c
2 {1 P6 L) S( Q: ]* q% S& z
也有创建孔,创建阵列的测试哦!
6 m# b( T2 J: L& f1 _4 G+ a' p0 ]% {: r9 j. y4 p2 u6 Z) {- w8 O& g+ ^
  1. 4 J# M0 X, U* i" }. t& J
  2. <p>static void do_UGopenApi(void): V0 I( Y/ c+ B7 B& p- T$ f
  3. {& L: C6 u5 f  [+ ?) H0 d
  4. //create a block
    9 F) ?* E3 z$ g4 d. M: O
  5. double coner[3]={0,0,0};
    ) C# v) t" ?- `, G- a& }
  6. char *edge[3] = {"100","60","40"};
    7 N6 i9 h7 S& _" x" V- s. o; ]
  7. tag_t blk_tag;
    " m4 ~, o+ q+ m$ {9 ^/ W- w
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edge,&blk_tag);0 |% O$ M, f$ j( r) |
  9. //create a blend start
    ! i2 c! x, ~, x) b' y
  10.     char *radius = "20";
    7 @8 ], W' \; X
  11. uf_list_p_t blend_list,face_list,edge_list;
    # I" _# W# I& |$ o
  12. tag_t body_tag,tem_face,tem_edge,faces[6],edges[12],blend_feature;( ~/ v! l/ m0 i& M, A+ H
  13. int face_count,edge_count;
    4 i) e% ^$ ?/ s+ I. m/ l+ q, m/ R& L
  14. // get faces
    , B8 J- e, i  f+ o; [; \) X
  15. UF_MODL_create_list(&face_list);
    9 ~( A* L! U' H# r; T
  16. UF_MODL_ask_feat_body(blk_tag,&body_tag);8 g/ K- t0 G( K: T0 {! |- k+ |7 t% w
  17. UF_MODL_ask_body_faces(body_tag,&face_list);
    : O+ M3 V9 @4 ?3 P0 Z( \( x6 s
  18. UF_MODL_ask_list_count(face_list,&face_count);
    . S; |5 V- u3 j" v$ k, O2 x
  19. for(int i =0 ;i <face_count;i++)  ?% q: K" ~# V! ?. x
  20. {  , `  `- P5 E8 y
  21.   UF_MODL_ask_list_item(face_list,i,&tem_face);
    9 E: ]! f" ~* m7 e& p/ p
  22.   faces[i]=tem_face;
    % _: ^1 N4 ?4 }6 ]
  23. }. D5 f& w! J: Z. h" n0 I8 J3 Q
  24. UF_MODL_delete_list(&face_list);
    0 E5 v2 v  O  D1 e! O* \
  25. //get edges
    $ b3 s' s, l' G+ ~+ w' V
  26. UF_MODL_create_list(&edge_list);/ H  }# d4 A7 B# J
  27. UF_MODL_ask_body_edges(body_tag,&edge_list);. E0 y8 C2 ~4 j3 x/ d% G' x' G
  28. UF_MODL_ask_list_count(edge_list,&edge_count);' Y2 D) v& H. X) w6 K
  29. for(int j = 0 ; j < edge_count;j++), y" W2 g4 J! ]/ m5 O3 |! s
  30. {
    $ A  Q) R9 j! [
  31.   UF_MODL_ask_list_item(edge_list,j,&tem_edge);$ Z% Q  m+ M; ~1 Z0 a4 g0 m- ~8 o
  32.   edges[j]=tem_edge;
    8 m  G% \# z8 s, Y' t5 \1 T
  33. }
    . B6 j& r* }1 r5 ~7 i
  34. UF_MODL_delete_list(&edge_list);2 q8 u7 [" [4 q8 j7 K4 M3 a
  35. // create the blend$ `; \4 F. ]. h% e
  36. UF_MODL_create_list(&blend_list);% D' q' y. E$ O  c
  37. UF_MODL_put_list_item(blend_list,edges[6]);
    5 l3 h1 T; i" {
  38. UF_MODL_create_blend(radius,blend_list,0,0,0,0.5,&blend_feature);! f4 S/ v) _$ v4 K# |
  39. UF_MODL_delete_list(&blend_list);</p><p> // create hole
    3 `# C7 ^7 p. V4 e9 i" |
  40. double  location[3]={80,40,40};
    0 X* Z2 ]& o9 ]* i, S: R. ]
  41. double  direction[3]={0,0,-1};
    0 ]: r# G. E* p4 A4 `
  42.     const char * diame="15";
    3 O- ^3 v3 Y+ F5 }3 r# u6 I
  43. const char * depth="5";
    : g- ]0 c' Y- ~% U9 W; D, X
  44. const char * angle="0";$ W4 a* y& e; O
  45. tag_t hole_id;
    ! t+ W0 C% t# [4 B! E) }3 w" l  ~
  46. UF_MODL_create_simple_hole(location,direction,diame,depth,angle,faces[0],faces[1],&hole_id);</p><p> // create instance+ o' o. R8 u% B, _
  47. double origin[3]={10,10,0};0 ^# w" R( ?5 P: @9 w; G
  48. double dir[3]={0,0,1};
    . i- K# V6 o0 o7 a* e
  49. tag_t cyl_tag;* c6 D7 ~; N  A" Q
  50. UF_MODL_create_cyl1(UF_NEGATIVE,origin,"20","10",dir,&cyl_tag);      
    ! v8 u, A' C6 D" s: d
  51. char * number_in_x="2";7 _/ j* h# X+ D5 Q4 F
  52. char * distance_x ="30";( U+ }( |/ K" x  K
  53. char * number_in_y="2";
    ' ]* B' P/ F: z- [
  54. char * distance_y ="30";, A0 ~5 p3 S0 C; r+ [% D' n$ C, ?
  55. tag_t  feature_obj_id;  U7 V3 Y, U) D% _' |- e1 h
  56. uf_list_p_t feature_list;: R- U( \8 b$ ]. x) T. T
  57. UF_MODL_create_list(&feature_list);
    . m" [+ W: R- g- I2 d# a7 ^( k
  58. UF_MODL_put_list_item(feature_list,cyl_tag);" W% U; ]* e2 ]! p0 Y, S( V7 X
  59. UF_MODL_create_linear_iset(0,number_in_x,distance_x,number_in_y,distance_y,feature_list,&feature_obj_id);
    8 ^( \" O: h8 d& N- q3 q4 _& u
  60. UF_MODL_delete_list(&feature_list);
    - x0 I( O" D# U. Q
  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二次开发专题模块培训报名开始啦

    我知道了