PLM之家PLMHome-工业软件践行者

[二次开发源码] NX二次开发中,其他一些有用函数的使用大全

  [复制链接]

2017-3-2 13:15:39 5138 1

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2015-3-2 10:31:39 | 显示全部楼层 |阅读模式

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

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

x
0 W; E5 }! `7 F  O1 m
7,裁剪片体
, C* {* E5 U5 _. L% n- ltag_t  *trim_objects;5 ~8 c2 I6 p0 s+ E. d8 c4 h
trim_objects =new tag_t[count];
0 Y& K) ~( Y! |/ a$ Y5 d" Q& F/ Ntrim_objects =bound_id;2 v0 F- d1 T3 v; c( I& c
voidtrim_sheet()
# V7 j8 W2 b2 ]3 _{; K: ~" W/ O( m. ]9 c2 K* l  m

5 t0 c) c0 ]0 b% Q      UF_MODL_vector_t projection_method ;, u( z) E- G( ~
      projection_method.reverse_vector=0;
7 z" L9 N! X* a0 b0 ^      projection_method.vector_type=UF_MODL_VECTOR_DIRECTION;
& K$ O  I5 v4 P* q" g- n' R      UF_MODL_vector_defined_by_union_tdir1;+ y: e, I) c7 O' A# Q3 g
      UF_MODL_vector_direction_t dir2;9 ^2 c- M. Z2 {( m; Z2 V5 x" X1 e
      dir2.xyz [0]=dir[0];
; z0 V8 F3 p! O3 a$ Y9 M! j' d& U7 }      dir2.xyz [1]=dir[1];
# d' w7 p2 m0 y! _      dir2.xyz [2]=dir[2];
) y5 L* j. d# [/ ?  t      dir1.direction=dir2;
* }% e! c% w6 i
+ K$ u; y. n' T. w: h* ?      projection_method.defined_by=dir1;0 T& P. |# [# t/ Q
9 @/ A2 Y+ E( g7 o+ x- i6 K
      double point_coords[3] ;5 W( k/ Q- P3 N- E' M

2 V, d/ U! n/ t, B! r. `3 E% n+ H      point_coords[0]=center[0];/ z' |( H( u2 ]0 I# t: X8 m
      point_coords[1]=center[1];5 G" N8 |0 @+ K0 [0 K. M, ^  I
      point_coords[2]=center[2];- c1 u6 j; {7 I3 B& d0 X0 R

" k3 R, B4 E: _      int gap_point_count ;* ~* z# {: E3 J# t& o' ?. X' m
      double *gap_points;1 L) P$ I- _/ d
      tag_t feature_obj_eid;! X' ^+ R' m. A" S" d: j4 b0 m
      UF_MODL_create_trimmed_sheet(sel_sheet,edge_count,trim_objects,&projection_method,# b& c0 b5 c2 s7 z/ V) V8 @
                                           0,1,point_coords,0.1,&gap_point_count,&gap_points,&feature_obj_eid);
2 _/ l. y- i& l- m: y: H
6 M4 J0 \, o0 K}" Q& i& {" F1 p  q
8,offset偏移
) v* o$ y, t, p* O$ ]) D; U4 k: b3 e, G
char   distance_str[] = {"10.0"};//偏移的距离
. B. g* ?8 [- A* |6 J6 y" o) P. H9 G: k; G" M
int  num_curves;% ?7 P0 t+ e6 ?
tag_t *offset_curves;
3 i( P" B0 K2 gUF_CURVE_offset_distance_data_t  offset_distance;% S0 o7 t' N, P4 C
offset_distance.distance= distance_str;: E6 n. v- E' H6 B% f0 X' k% \
offset_distance.roUGh_type=1;, X; X" t8 j( Z7 r9 [. W! o
UF_STRING_t   input_string;
9 `1 Q  l( p" ?9 Pinput_string.id=curve_id;//加入想要偏移的线% K0 H' s' }, U  x* b! M* b9 [
input_string.num=1; //偏移矢量方向数量
. Y! [. D8 Y- A/ u7 V! J! winput_string.string=&string_count;//偏移线的数量
9 a7 t4 V0 G1 y2 M. gintstring_dir=UF_MODL_CURVE_START_FROM_END;
! J# L" c# D9 F9 uinput_string.dir=&string_dir;$ I5 b2 _7 \. d

) M, N% o2 H8 e( @* }& B: o3 U! [UF_CURVE_offset_data_toffset_data;) i0 G& [- \. K
" z1 c% d7 z4 ?1 _4 x! m& m
offset_data.offset_def.distance_type1= &offset_distance;7 ~: d7 h5 v: r9 ]) f
offset_data.input_curves= &input_string;5 M1 {1 ^/ H4 \7 e' K: v- I2 y2 f
offset_data.approximation_tolerance= 0.01;
8 m# M  f7 X3 O' O( Koffset_data.string_tolerance=0.001;
6 ^% ~8 s; a7 @. f( {3 ^) r5 u5 eoffset_data.offset_def.distance_type1= &offset_distance;
; p6 l, t' I" Soffset_data.offset_type= UF_CURVE_OFFSET_DISTANCE_TANGENT;
" x  l3 e% @- u, A- wUF_CALL(UF_CURVE_create_offset_curve(&offset_data,5 y# E% b2 P& r" @" A' V
&num_curves,&offset_curves));+ o5 \" s& l: C+ b. a$ r, I4 R6 T
9,创建平面4 }' s! s0 S8 Z0 G: H. q, ~1 S0 p
UF_STRING_tgenerator;: _2 h( R: A- X/ m' _: r7 ]
UF_STRING_p_tge = &generator;
4 X0 H1 y1 z; c# e/ K5 W# }# F$ a& \. T% h: n
UF_MODL_init_string_list(ge);
% Y( h) X* E3 X2 @' Q) kUF_MODL_create_string_list(1,12,ge);0 e: [* t1 }% @) H/ s
, f" l4 o. b. W" t: Q9 k
ge->string[0]= 1;- f: K3 \( N! M9 `% d
ge->dir[0]= 1;//指定线从开始到结束0 P& b: W( w; s; I/ t% |
ge->id[0]= arc_id;//指定边界的id
0 Q8 \; k9 B  G4 Y. u! fdoubletol[3];
5 |$ q, l& p8 K0 _. C9 ^* o7 xtol[0] =.001;//直线公差
) R5 F/ M, N, }5 o! mtol[1] = .5* (PI/180);//圆弧公差
6 I$ g' C, `' H6 ^8 S' b8 W# }tol[2] =.02;//不起作用9 I1 R7 |) k7 B. v, L# E5 t
UF_CALL(UF_MODL_create_bplane(ge,tol,&bplane));
1 U) {# c% h+ V' L10,选择
% G& m4 z, L% r& ]' I0 g1),点选择
- S, o- i  p" i% `. ]8 ntag_t point_tag;" F  i3 E0 S4 A& }4 R
double point[3];0 s" h- R: f/ ^$ z  ]
       UF_UI_POINT_base_method_t  base_method=UF_UI_POINT_INFERRED ;  
$ ^8 C7 \% ~& @2 ?  D       intpoint_res;" l6 k) ]1 Z' a, s
9 k7 [! H; V! x  x; g
UF_CALL(UF_UI_point_construct("选择起点",&base_method,&point_tag,
9 k5 p. [% P! M- J% ]; F3 E8 C8 Hpoint,&point_res));1 O! z3 V% v9 ]! b1 s. D$ G
if(point_res=UF_UI_OK&&NULL_TAG!=point_tag)
7 x# ~' a3 e) `( F0 F{7 L# H9 p' ]& V: w& _& m
}
5 t4 Y* h- `+ N8 p# o2),向量选择6 C& ]8 O2 e$ S
     int  mode = UF_UI_INFERRED ;* D) n4 g0 h' l2 k) d
     int  disp_flag = UF_UI_DISP_TEMP_VECTOR;
. m8 m- ~1 Q% M, Ldouble vec[3];+ S9 Y% @$ X* b8 ]
double vec_pnt[3];
% C1 s: g4 `% w- m1 Wint res_vec = 0;3 l+ a5 s- T; c% e* ^6 {
     UF_initialize();  6 h' `0 n1 Q$ ]# \. R' Q
     ifail=  UF_UI_specify_vector( "Choose aVector",&mode,disp_flag,8 l7 _& ?& p* F: E/ v- T0 Z. L
           vec,vec_pnt,&res_vec);
8 @' ^% ~- `7 h) u2 C     if( ifail != 0 || res_vec!= UF_UI_OK )   ' ~7 }5 q/ j5 v. R, M- t( q5 L
     {     : J$ c; \( v; U6 p
           UF_UI_ONT_refresh();
/ x7 {2 v* {" L; [           printf("No vector selected \n" );9 H; Y4 w. c) {9 y
     }8 \5 W7 G2 `# _, N7 ?5 [7 Q4 Y
     else7 ]5 v. P, u3 k3 P3 p# z1 R
     {
/ Q3 e" e, g" Q) J  C3 n9 P           printf("Vect base (%f, %f, %f), direction (%f, %f, %f) \n",( w6 T9 W  N( u  P7 h% e: \& k! B: g
                 vec_pnt[0],vec_pnt[1], vec_pnt[2], vec[0], vec[1], vec[2] );3 x- l% y5 k+ ?3 L$ c0 a
}
% }% Z, u" N) t3),平面选择
2 P! g  ^7 \8 `# _8 Atag_t plane_eid=NULL_TAG;
& P) W7 j4 ]% l+ K1 w; ]7 cdouble orientation[9] ={0,0,0,0,0,0,0,0,0};
% h2 a/ ?8 t! Q3 A4 P   double origin[3] = {0,0,0};
; f* w" |6 c" t/ J. K0 T/ s) a; a   double pts[6] = {0,0,0,0,0,0};
* x0 Y+ M4 O9 r2 C  h" k$ B   int i, error_code = 0;
6 k& E; Y1 m+ _8 X: H9 V9 l) b   int mode, display, response;8 \! Q1 D) f$ o0 a( r
   mode = 1;                    & b; q% N) }4 M, L1 \4 u
display = 0;      
! a" j, b: V! ], H: P9 J, iUF_initialize();7 Y& i7 @; d1 D2 D1 A$ }5 j; w
   error_code = UF_UI_specify_plane(  c" u8 f2 j) m5 U  Z: T* F2 J; v
         "Select Plane", &mode, display,& w( p8 v, c/ w$ C( \3 j" [: R! K
         &response, orientation, origin,&plane_eid);! `7 p) i. [. m9 H! d
7 _/ ]: l# d2 K" V4 P
   if ( !error_code && response != 1&& response != 2)0 ~3 _. G! A1 K' Q- W- x9 k8 F$ N) W
   {
( `! X! U0 _  t$ q                     for (i=0; i<3; i++)
2 p$ J3 O$ }" E% ~2 k, v$ ^               pts = origin + orientation;* w3 \; t, A0 ^( {/ }6 {
                     for (i=3; i<6; i++)6 {) {" W- k! d+ T% o$ V
               pts = origin[i-3] + orientation;+ v3 T7 M$ N: w
         FTN(uf5374)(origin,pts,&pts[3],&plane_eid);
( s! V; p1 n; C! g5 g2 T/ G   }6 @6 R) v9 w) W6 t& m. Q
11,临时点,线
: {( u! h3 Z5 h9 wvoid display_temporary_point_line (double point1[3], double point2[3])
; O1 l+ w  d. q8 \0 g+ s6 s7 J{
7 ]: D. C7 ~7 e) u) s  UF_DISP_view_type_twhich_views = UF_DISP_USE_WORK_VIEW;
' u8 n8 _- J5 _. ?7 W* n- j  UF_OBJ_disp_props_TColor;
0 W# o1 y( W( E  color.layer= 201;/ \, h; l0 X0 r" T# \1 G9 w
  color.color= 186;+ R% H  @0 D( X8 _6 d4 I
  color.blank_status= UF_OBJ_NOT_BLANKED;
4 n7 x1 B% x7 j  color.line_width= UF_OBJ_WIDTH_NORMAL;
0 R3 g2 L& S0 p5 Z# }+ ~; q7 c  color.font=0;
0 V( p5 u9 `4 V2 Z  `, T- [9 w  color.highlight_status= FALSE;
6 v' K) _3 J) C" C% t. b( n3 R  UF_DISP_poly_marker_tmarker_type = UF_DISP_POINT;
. p6 n: @: ?1 l1 ^; S" P6 P% o- j9 y9 g" f5 {
UF_DISP_display_temporary_point ( NULL,which_views, point1, &color, marker_type);8 C) l+ d0 k) k) G) n
UF_DISP_display_temporary_point ( NULL,which_views, point2, &color, marker_type);
/ r  h7 ]4 K4 J, Y# QUF_DISP_display_temporary_line ( NULL,which_views, point1, point2, &color);! C7 j/ e. u: E# S0 q' ^2 @+ B
}
* P; f* c" G  I! A12,WCS与绝对坐标转换% G5 p9 o. J) D, }
                        voidcycs_wcs(double point[])& c) Y0 \( u# P- i
{- m' s2 z) @: {0 |1 G4 U5 V
      tag_t  wcs_id,matrix_id;! B7 t1 K9 z/ C
      double matrix[ 9 ];) h1 e5 H+ p2 X  E
      //wcs_origin:工作坐标系原点,vec:工作坐标系轴向量,point_origin:点到原点的矢量! |! E) s1 C& w5 _" E
      double wcs_origin [3],vec[3][3],point_origin[3];2 \+ Q# D  @, }6 W; P& Y, k7 j% I
      //1,得到工作坐标系, F3 R0 l; d4 z+ w; _& l* g  I
      UF_CSYS_ask_wcs(&wcs_id);
: @  @3 j( y; P: @. F" A      UF_CSYS_ask_csys_info(wcs_id,&matrix_id,wcs_origin);                    $ d& v& A% z  ^, N7 ]1 w
      UF_CSYS_ask_matrix_values(matrix_id,matrix);4 V6 _8 w& p4 P  I8 w: a
% y% A" _3 V+ U; J9 N
      //2,得到工作坐标系轴向量# m! S6 Q2 e2 Y  O% k5 D# u
      UF_MTX3_x_vec (matrix,vec[0]);2 H2 N  D4 Y+ H6 Y& Z- B
      UF_MTX3_y_vec (matrix,vec[1]);/ I; l2 b7 @! Y# k
      UF_MTX3_z_vec (matrix,vec[2]);8 ]0 T, `1 O8 F. w; Y* V2 r

  o% n# q9 n! G( r" a      for(int i=0;i<3;i++)
) u) Z8 f( G! \" ?2 y      {     
4 b+ [" r# b7 D            double tol;
9 b* }. M. ~7 P" x. j$ g# g8 Y//3,得到点到工作坐标系原点矢量  N0 W5 M5 ~" j0 w  U2 {
            UF_VEC3_unitize(vec,0.000001,&tol,vec);
8 `% H) l+ T9 }9 y2 e6 ^//4,得到点到工作坐标系原点矢量- W4 V; A3 `! V2 Z# D3 K4 K
            point_origin=point-wcs_origin;* l& s) q$ e" X
      }# t4 f$ X* p$ M8 A4 i, O
      for(int j=0;j<3;j++)+ @, A/ E& T& B5 n
      {
# [# K, @, ?1 a; }9 @/ f1 i+ l            UF_VEC3_dot(point_origin,vec[j],&point[j]);
8 U9 t0 D% y& k3 U      }7 w/ T  R% u. \
}
1 n/ g2 o6 b  J# v) y13,三点求圆心
  F6 B; ^# s2 d; h6 Z, ~" F#include<iostream.h>
" z' G: |' F7 I1 y# ^) [  z- ]#include<math.h>
. F! v7 j+ k& y) r1 w1 T/ C) l! k
; H9 y7 [# a+ \int main(). R5 [- _% e0 c' h: `
{: v1 d7 `! K0 C" |
      int x1,y1,x3,y3;
: e  T8 H/ b$ K' a* w$ E  B7 |/ x% O      double a,b,c,d,e,f;
9 L$ |! Y; r% l, A; e( m      doubler,k1,k2,x,y,x2,y2;
5 [& ]0 T" S8 b  r1 h/ Y      cout<<"请输入x1,y1,x2,y2,x3,y3"<<endl;% \: T7 }0 n9 ^2 T7 G4 t4 ]) Y
      cin>>x1>>y1>>x2>>y2>>x3>>y3;6 D$ U) z% _: H
      if((y1==y2)&&(y2==y3))- }3 n8 f0 m: z( @3 r0 o. Q% J
      {
4 U/ S8 g4 T# G' l; E1 E            cout<<"三点不构成圆!"<<endl;* h, t* \) ?, y( g; S! T
            return 0;, {6 o! D5 i) M' m" `
      }
+ f: O9 R6 [7 e  {" c1 F      if((y1!=y2)&&(y2!=y3))( l* K4 b( D6 p" R$ S
      {
; k6 j2 f) a: V9 }9 m  k            k1=(x2-x1)/(y2-y1);
: s  o  u8 U) u- A% y            k2=(x3-x2)/(y3-y2);
& p: t% [+ w+ o& i) U6 H1 K& n6 i      }
; C3 @% b; T. s5 p2 z      if(k1==k2)# v+ T  ^% ?9 V* B7 Z9 G
      {
9 I8 w, f* s( l0 x; r4 K6 V+ d            cout<<"三点不构成圆!"<<endl;
# q7 W$ X/ Z3 z# c+ E            return 0;
2 F# s7 B7 O" _' p. _      }
8 }$ y( k+ Q# L& P* |3 g# h3 L: y      a=2*(x2-x1);# Q2 ^0 T- F- k0 R7 k. O
      b=2*(y2-y1);
/ }3 q7 |8 R$ @/ J      c=x2*x2+y2*y2-x1*x1-y1*y1;- t  E. R8 S' f
      d=2*(x3-x2);
" @+ A* l. h! E7 P      e=2*(y3-y2);
2 V5 g2 J; K8 g' @( a      f=x3*x3+y3*y3-x2*x2-y2*y2;4 v5 ]  y, P: U* Q
      x=(b*f-e*c)/(b*d-e*a);2 C/ h! z, A5 q% S1 u& [
      y=(d*c-a*f)/(b*d-e*a);
1 y, h+ H& v6 L5 _      cout<<"圆心为("<<x<<","<<y<<")"<<endl;
- Y6 w& Q/ _! ?3 C      r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
# O6 m0 G5 P9 A/ ]" Q3 m6 ^% x      cout<<"半径为"<<r<<endl;
. [  _$ v' w7 I, L. M  o1 H, u3 g. L& ?2 M      return 0;" d* n% U' s* J% e
}" W! }- L6 G0 y  x5 x9 P
14,查找圆心% P4 n% u) N5 Y8 Y
            UF_EVAL_p_tevaluator ;  D( Y/ i; e' A4 e% Q* B
            UF_EVAL_arc_t arc;$ \. P. E: k$ J( v
            UF_EVAL_initialize(obj_tag,&evaluator);
3 q  P' b+ z% \  ]0 E            UF_EVAL_ask_arc(evaluator,&arc);
1 s9 M5 G7 K0 s4 K$ T% E  _" k2 W            UF_VEC3_copy(arc.center,point);           1 g% X4 V, m- D9 z. l/ o; p
15, message_box- C/ ]: t: f& e: d/ s( a6 i
void message_box(int *res_mes)
1 M3 X) _/ x5 S, l& t8 y{
" Q5 t4 ^  c8 F9 X, @4 D3 p7 E      UF_UI_message_buttons_sbuttons;
9 b$ }6 j# \6 z4 X! u- T( H      buttons.button1=TRUE;6 z, c* p; Q9 t# P$ c; c
      buttons.button2=FALSE;9 i! X* X6 t) y0 f
      buttons.button3=TRUE;
1 P$ ^0 K2 Q0 P' d  T0 z$ [- s9 L) {9 R, C# e1 h) @4 L/ p) U8 T
      buttons.label1="OK";
( O- U7 a. D0 k      buttons.label3="CANEL";
8 v0 T! n6 A$ p, x! R
9 B. j% ], Y$ a# l      buttons.response1=UF_UI_OK;
8 P" F8 B0 @) ~: |3 c0 o      buttons.response3=UF_UI_CANCEL;
$ _% Z4 x) _4 t" m: ?
; Y, a/ D: g, L2 H      char *string_msg;" O5 ~) l- q. \' n% H9 `3 o) r5 J
      char*material_msg="ALL selcted objects will be removed";
% `- v, C0 V1 [3 J' y& L      string_msg =material_msg;& _  ~  J+ O# t4 B; _6 d
/ X8 ?" ]3 r5 m. ^
      UF_CALL(UF_UI_message_dialog("",
( ], Q9 `4 M$ Y# |# |. A" f            UF_UI_MESSAGE_WARNING,
2 b- k: A7 b3 ^1 R. X          &material_msg,7 n) P, u4 H$ h  }6 B! U+ H$ C; A& f
            1,
. V: Z- V/ ^0 K( t! {9 {8 S* {! N/ R            TRUE,
4 b% b1 K0 q4 ?' I% f, k  l' U            &buttons,
( _  |4 Q: Z) H9 ?% A             res_mes ));
# c; h. P1 a4 ?: x8 V: G9 M" J2 G7 H& A}6 u0 `7 F7 ^0 O
16,选择过滤
$ B' i' x1 D) ~( s* G8 Hstatic int init_add_face( UF_UI_selection_p_t select, void *client_data)
3 Y- h4 |, {8 f* [+ u, [{5 i  Z3 h" ?3 B: Q5 b
      int nums = 1;
) C" ?3 {( ^3 _      UF_UI_mask_t masks[] ={
3 X, o7 F- ?9 m+ T( t9 v' y            UF_solid_type, 0,UF_UI_SEL_FEATURE_ANY_FACE};
" t& u2 F' b. a
3 ^& z& B! C7 {3 Z$ z            if(( j8 x* b7 Z5 q
                  (UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,nums,masks)==0)3 _8 B' i" r2 b2 v
                  &&(UF_UI_set_sel_procs(select,filter_proc_circle,NULL,client_data)==0)
+ K0 ~$ {6 q# {6 S+ i$ X                  )
6 f# ~1 [+ I  u+ [) V$ ?9 v            {, {3 ~1 _; z( J
                  return(UF_UI_SEL_SUCCESS);
# [6 T! b2 J/ X7 _8 b            }5 {" G9 ~( ~; R5 G
            else! t6 W+ E0 d6 w4 k- [
            {     
' R/ b) z$ H& B                  return(UF_UI_SEL_FAILURE);# o! r- ~0 T2 V
            }! h4 z% O1 l& h* o) O1 Q4 U
}7 }; t4 f  w3 z& [' n2 k3 v7 n
int find_tag(+ M) P) h0 n! M" f% K/ x
                    void * client_data,//用以传输过滤资料
% \) A; ?3 X7 f2 o1 B                   tag_t object//现在鼠标所选物体ID: n6 n' b# v3 O9 T$ ~+ U+ Y) \$ Y
                   )! F( g0 }8 \1 R" W0 ~
{
* z* s* h) g7 M0 _$ {0 y/ q      user_data *obj;
) K# P( ~: Z2 c      obj=(user_data*)client_data;
: a  w7 S) a( G5 C      int find_face=true;//接受, Q1 g" W- {* F( O' V
      char *string1;
$ R8 Q' u* M6 ~% R' P      string1=newchar[133];
0 o6 i4 P* v# M( t+ B      string1=UF_TAG_ask_handle_of_tag(object);4 @4 X/ C" m' C  M8 T
      for(int i=0;i<过滤的数目;i++)" C3 C3 F# x. F
      {
3 R: ]8 J+ ]8 G5 n8 |2 C' e- s4 u6 A' Y* x" h
            char *string2;
0 k7 u* G  g, a4 J, ?; Q            string2=newchar[133];% q# N, U8 F1 j+ z8 M1 x- p
            string2=UF_TAG_ask_handle_of_tag(物体ID);
5 s4 |% L' a  e8 A* l+ E! n            if(strcmp(string1,string2)==0)
2 i# I9 W! I, C& }. Z            {
) d2 @( ]6 Z; j2 \" ~                  find_face=FALSE;//不接受
/ ^* W( H& e% [; z) A
6 @+ h/ Q4 e% h  n9 F1 r% A            }5 r# T6 [8 H% U. `% ]0 f
            delete []string2;/ ?( ~+ w5 q* f% h0 ]" G
      }7 Z3 R: q; S1 g! w
      delete []string1;! w4 L# ?3 G3 W3 n" ?
      return find_face;% ?' x3 K4 a6 Y  k+ }- w
}
1 }. U5 W2 [2 @* [* a
* a( F7 i+ l) e, c
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

0

主题

2

回帖

10

积分

新手上路

积分
10
发表于 2017-3-2 13:15:39 | 显示全部楼层
z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了