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

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

  [复制链接]

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

admin 发表于 2015-3-2 10:31:39 |阅读模式

admin 楼主

2015-3-2 10:31:39

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

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

x
( |% [; w0 D) q/ \1 W' C( {) X
7,裁剪片体
$ }% F; ]! r( {5 e( ?( _* l; Htag_t  *trim_objects;
* h9 ~+ h* ~0 N/ Q+ Dtrim_objects =new tag_t[count];4 d' X0 e0 o0 \! y5 ?) M4 N
trim_objects =bound_id;
4 p( Y% v* B' b5 jvoidtrim_sheet()
# \  H% G2 e& A  y0 _# q{
6 }$ S6 e( t% K, s
: G1 M* P1 t1 c: e      UF_MODL_vector_t projection_method ;- Y  A/ a& S8 L- W7 B6 n
      projection_method.reverse_vector=0;
$ p" W( E" i& B4 V3 H$ V      projection_method.vector_type=UF_MODL_VECTOR_DIRECTION;& {. B0 }8 l& ^7 a- R
      UF_MODL_vector_defined_by_union_tdir1;
9 J) y% }  Z+ K1 c3 k" k) m+ c      UF_MODL_vector_direction_t dir2;
& B' ~  y' M6 O0 x$ s) e* Y: r, k      dir2.xyz [0]=dir[0];
: ?% F, x( h- R9 p1 {/ Q      dir2.xyz [1]=dir[1];
7 K2 K# Z8 B) o2 n7 n5 Y. h      dir2.xyz [2]=dir[2];" K* e- f/ s" k' ?6 P8 H  a4 H6 m0 a
      dir1.direction=dir2;3 m% e9 @. P6 U! C4 k' J: \
+ m" S4 [6 J6 L( N1 D
      projection_method.defined_by=dir1;, _, Z; t- {7 O
: d3 t7 p' v/ q  U' h. k+ j7 }) ~+ J
      double point_coords[3] ;
$ F; K6 D2 [1 X5 M  _6 U
9 d3 g6 r" R# ~; T& @      point_coords[0]=center[0];8 W! F4 a8 [. Q# Y# A7 w* L
      point_coords[1]=center[1];
* Q6 n* m5 }$ t* Q' O      point_coords[2]=center[2];
! |' i: Y% W* X3 ^
. g; k! j* r/ t* n9 n8 f      int gap_point_count ;% m' f, M$ b0 w# w3 G+ `1 L2 m
      double *gap_points;" T' ~# |! t7 t; h
      tag_t feature_obj_eid;4 N7 l( `& K5 V8 B
      UF_MODL_create_trimmed_sheet(sel_sheet,edge_count,trim_objects,&projection_method,5 y" ^0 l+ g$ m; b
                                           0,1,point_coords,0.1,&gap_point_count,&gap_points,&feature_obj_eid);
1 J# M8 t. M7 q3 j7 n- [4 D' h5 W/ C6 Y* O- \* _$ G# J/ [
}' Y$ K0 w# R' C% x
8,offset偏移
& Q1 s& }2 @& j( r3 g) {8 T4 O+ \2 `6 n& \* U, b" j; A( Z' J) j
char   distance_str[] = {"10.0"};//偏移的距离
/ ]6 M  ]8 y' s
7 q. j2 [; s  A& O( Y% tint  num_curves;' j2 s8 ]( S# |+ s6 q
tag_t *offset_curves;; ?2 q5 b) s) s3 I$ V1 l, c
UF_CURVE_offset_distance_data_t  offset_distance;
3 [: i! C& x: C  }! d9 roffset_distance.distance= distance_str;
% V4 c5 _2 v# c3 Q( T& Poffset_distance.roUGh_type=1;# K( m2 u1 v# @+ T: r7 I6 A8 t
UF_STRING_t   input_string;3 ~8 p8 h4 @: s' a
input_string.id=curve_id;//加入想要偏移的线
: k8 @; U+ w) m$ B0 n7 [input_string.num=1; //偏移矢量方向数量2 p* R. e- k! k7 z/ t- b
input_string.string=&string_count;//偏移线的数量
9 H4 \- r) u+ t) z$ Y7 zintstring_dir=UF_MODL_CURVE_START_FROM_END;
; E) @  i; u1 winput_string.dir=&string_dir;% q- n) w- A- {( U( _

+ X- z9 D& A+ }: `3 K" u3 TUF_CURVE_offset_data_toffset_data;' Q+ Q6 b& ]4 ~) t" D! ?% ^

9 D" m3 c" E& g4 x  |! x7 z+ boffset_data.offset_def.distance_type1= &offset_distance;
1 e' Y, i0 W2 _& X( b9 F! ^% Loffset_data.input_curves= &input_string;
  c# [. n( p( l8 x: p: O7 \offset_data.approximation_tolerance= 0.01;' K# [0 Y' _" l9 e$ ?  a* z
offset_data.string_tolerance=0.001;
# s' w+ l# M1 {+ [4 E; Loffset_data.offset_def.distance_type1= &offset_distance;3 z6 s$ b, J4 V6 [
offset_data.offset_type= UF_CURVE_OFFSET_DISTANCE_TANGENT;
! }4 Y) D) m6 @) \3 a" r: d1 o! fUF_CALL(UF_CURVE_create_offset_curve(&offset_data,. y) m  K1 e0 v- T
&num_curves,&offset_curves));
  J0 o; m+ v) l! r1 K5 e9,创建平面0 a6 E' z+ O  N% [
UF_STRING_tgenerator;
+ M  T' t& f- r* ~7 s) OUF_STRING_p_tge = &generator;
! v3 E- s) m  z8 Y- X, |3 C9 T$ J+ O2 r
UF_MODL_init_string_list(ge);+ l. |+ _5 O8 H# ]  U$ Y( a
UF_MODL_create_string_list(1,12,ge);. S( ]6 M3 h5 ]! C$ U" ]4 ?1 ^

. V. R) U2 Y% U0 U5 D8 Yge->string[0]= 1;- J5 ]3 |9 N! Q: k$ d
ge->dir[0]= 1;//指定线从开始到结束0 D6 ]% l  [$ w- `
ge->id[0]= arc_id;//指定边界的id
, p2 {  g0 @) ]) w& ?doubletol[3];
- u5 a& I7 A3 E9 wtol[0] =.001;//直线公差
+ L  T0 ]' P) Y9 ?; z. ^6 Qtol[1] = .5* (PI/180);//圆弧公差
$ K( Q5 e- q( s7 g* ~/ L! }; ptol[2] =.02;//不起作用
( M/ ^1 M6 F2 S0 G9 ~  r- ?& k2 rUF_CALL(UF_MODL_create_bplane(ge,tol,&bplane));* \  J: o! Z  f) L- }
10,选择% F5 i& d* B0 T( P
1),点选择
* O/ n1 Y% I+ U0 l% Wtag_t point_tag;# L) F4 t8 a: T& `; ?
double point[3];
5 G/ C+ ^9 a, `' ?6 i( m2 ^' t/ M       UF_UI_POINT_base_method_t  base_method=UF_UI_POINT_INFERRED ;  : P, j7 I5 x1 S; U5 q- W
       intpoint_res;7 V/ G9 C' X3 P! q3 b- x
  r+ s6 h/ T, W' d# v' \
UF_CALL(UF_UI_point_construct("选择起点",&base_method,&point_tag,! r0 \4 R7 K! N6 Z
point,&point_res));; Z& Y$ C! j/ k: [; e+ I. E" _
if(point_res=UF_UI_OK&&NULL_TAG!=point_tag)1 ?  z9 g! ^, U/ Q  U* v& U, Z
{8 Q- F. L5 B7 T7 W
}. y' }4 P" M/ m" }0 ]/ \  \9 v
2),向量选择
6 @+ s  e2 y. ~4 m7 U     int  mode = UF_UI_INFERRED ;  p+ g6 {7 q9 H: A" `
     int  disp_flag = UF_UI_DISP_TEMP_VECTOR;
! h) a0 s5 u+ {/ Kdouble vec[3];
. x* z2 b0 j, K& G! Y; q& Gdouble vec_pnt[3];
4 ?6 W  ~- W; M7 I3 M) i7 ^; kint res_vec = 0;
5 @0 {) ~4 y6 B6 M     UF_initialize();  
, s/ w; e2 m8 V; e# |     ifail=  UF_UI_specify_vector( "Choose aVector",&mode,disp_flag,
: @7 ]! C2 d8 F. Z4 [  w           vec,vec_pnt,&res_vec);7 [: _2 w; }0 F# p- d
     if( ifail != 0 || res_vec!= UF_UI_OK )   
. P0 I7 a5 I- x& d, @3 u  z     {     " n5 g( n. ]6 |, R- U
           UF_UI_ONT_refresh();7 [/ \/ Y2 C* N" C2 j; [
           printf("No vector selected \n" );
) B+ H$ i; [# U1 O2 \$ i8 P     }
' a( a. K- f0 N  r$ g5 Z     else" Q2 U2 A7 N4 N9 O
     {+ d8 u3 \) r7 R
           printf("Vect base (%f, %f, %f), direction (%f, %f, %f) \n",
" E9 c: l4 u: J/ i/ J/ U3 {                 vec_pnt[0],vec_pnt[1], vec_pnt[2], vec[0], vec[1], vec[2] );/ `" Y# Z, a5 A
}
2 Y6 x- y* a  N7 D* C( n/ n9 h3),平面选择
3 P/ w1 |- m+ e# p2 Z; K: Ctag_t plane_eid=NULL_TAG;5 f% W6 A5 }) U% ]* Q# [' o
double orientation[9] ={0,0,0,0,0,0,0,0,0};* Y9 A; s; V% ?( [7 f6 g
   double origin[3] = {0,0,0};
( O0 p7 |5 k2 t   double pts[6] = {0,0,0,0,0,0};- [8 U3 A$ b) `5 C7 s: l$ E
   int i, error_code = 0;
& x2 g4 ?  j+ J3 l: y# |   int mode, display, response;
0 Q. r, q6 }9 Q0 O# X   mode = 1;                    0 u# d& a3 M. |$ ^
display = 0;      
; E: e- T$ w/ M; F( g% y% dUF_initialize();
9 i0 |6 F$ l. y4 I   error_code = UF_UI_specify_plane(
2 n* B7 v9 d0 ^         "Select Plane", &mode, display,: `  G: v; s$ C5 q3 P% A
         &response, orientation, origin,&plane_eid);, K1 }6 \9 k. ~. C5 ]/ u/ R2 T
7 K% o! E5 F8 r# r
   if ( !error_code && response != 1&& response != 2)( U% E0 T0 X: K1 n9 G$ ^
   {
. d6 t: Q1 X# j. k; }) Q) @                     for (i=0; i<3; i++)
, {/ B$ T+ J4 q               pts = origin + orientation;  n; Q( w, R7 X" B) r$ y
                     for (i=3; i<6; i++)* n- S, g1 v: u0 P+ ^
               pts = origin[i-3] + orientation;: r  d- ~0 S; t: b
         FTN(uf5374)(origin,pts,&pts[3],&plane_eid);
1 G2 d4 m2 m/ e( N* u2 H   }
- V& c' ~$ m9 c11,临时点,线* y: T% k& m" }6 m6 Z4 P8 X4 O
void display_temporary_point_line (double point1[3], double point2[3])
5 m5 w- _6 t" }  b* p{; P. \5 z8 _  B: A. I0 d7 X- F
  UF_DISP_view_type_twhich_views = UF_DISP_USE_WORK_VIEW;+ n) O( r' y! E
  UF_OBJ_disp_props_TColor;
9 S; Q# w, D7 |" G+ R8 @% J% g  color.layer= 201;
) b  G% O4 S* }' P" h& x  color.color= 186;/ u5 X( \! {3 b2 @- r  }
  color.blank_status= UF_OBJ_NOT_BLANKED;
4 g" ?3 J! q4 ?  color.line_width= UF_OBJ_WIDTH_NORMAL;6 k: }) p+ Q; G' `* e9 C6 @
  color.font=0;4 n$ v& K7 ?4 \- E4 ?( R
  color.highlight_status= FALSE;2 m5 ?2 x8 f1 J% c" t9 M
  UF_DISP_poly_marker_tmarker_type = UF_DISP_POINT;
6 e$ A5 T# Y' x% h) u0 `
$ e; ^  S: E# B0 y% g( XUF_DISP_display_temporary_point ( NULL,which_views, point1, &color, marker_type);) B. g& W& V! f
UF_DISP_display_temporary_point ( NULL,which_views, point2, &color, marker_type);
# [3 `" w5 T4 w/ W0 ?, ~UF_DISP_display_temporary_line ( NULL,which_views, point1, point2, &color);% c4 p$ Y" |3 g. _9 i* C
}
: X/ V# I3 a. P. ?5 R. D3 g0 v12,WCS与绝对坐标转换8 k3 f6 G% ^2 I8 ?! s5 ?1 [
                        voidcycs_wcs(double point[])& A" z  f+ ~9 Y  w( p2 r
{
' ?9 y# Z1 `+ D3 w; B' n% H      tag_t  wcs_id,matrix_id;
. Z) ^( x6 P, I7 _( M2 c      double matrix[ 9 ];; o  c) D6 q  I: O0 m
      //wcs_origin:工作坐标系原点,vec:工作坐标系轴向量,point_origin:点到原点的矢量
% A7 K# ~9 H5 @6 [! }) ^0 y      double wcs_origin [3],vec[3][3],point_origin[3];$ X7 q  }& B" e& A3 A% F
      //1,得到工作坐标系; |5 u0 z9 ?: e* V$ b" u2 l
      UF_CSYS_ask_wcs(&wcs_id);
/ s$ F3 K2 U' o      UF_CSYS_ask_csys_info(wcs_id,&matrix_id,wcs_origin);                      ~5 a7 W/ H: S  F  N9 j( x
      UF_CSYS_ask_matrix_values(matrix_id,matrix);
9 }2 |: N. z! N1 I' `9 g* w. B; @  \, m8 [
      //2,得到工作坐标系轴向量
+ B' F6 I, e( _      UF_MTX3_x_vec (matrix,vec[0]);* I  h$ p* p4 y% S0 L, j
      UF_MTX3_y_vec (matrix,vec[1]);
- Q% N" \6 H$ X1 h5 }5 }      UF_MTX3_z_vec (matrix,vec[2]);( t4 h% Q' L- v' w7 B  b

7 u1 a+ V& Z) e3 Y      for(int i=0;i<3;i++)
* t% w2 A+ |0 F      {     7 T9 d$ p) x. l& k% X+ h
            double tol;
0 e) u- j& }% r) c//3,得到点到工作坐标系原点矢量
( L4 b( m( L4 q4 A9 }4 X            UF_VEC3_unitize(vec,0.000001,&tol,vec);
- O- y: x( k, Y2 R" t& z2 X//4,得到点到工作坐标系原点矢量; V  r- n, `" p
            point_origin=point-wcs_origin;. v! Z7 @" ?$ c# d5 u" G* G
      }4 D  s% F- e- |- W2 x( n3 V2 h
      for(int j=0;j<3;j++)
1 j3 L: a) {6 y0 N+ j7 ?2 D/ |      {) K! |4 A( V) N' N
            UF_VEC3_dot(point_origin,vec[j],&point[j]);0 I! ]& k1 R. N/ S- ~3 I
      }& e. r. K0 G/ K  U% v
}
5 ^  l  d( F8 U/ _: o8 @13,三点求圆心' h$ w* C3 x" X9 K& h6 V9 B
#include<iostream.h> ! _) \3 B# e6 d& X) C9 a1 K+ ^
#include<math.h>
) b# L1 g% ?6 k
  [6 ?3 x  c$ w9 w# e( Rint main()3 U0 C2 p( r, v. _+ T: s
{
% @  X7 l- `. }7 X* ]% P      int x1,y1,x3,y3;) f% `' H" S8 O! {+ S! }
      double a,b,c,d,e,f;9 ?) [: u% F6 s7 v( K' C% o
      doubler,k1,k2,x,y,x2,y2;6 H* J% b$ k9 I
      cout<<"请输入x1,y1,x2,y2,x3,y3"<<endl;; X4 m4 V$ s6 u# w( r
      cin>>x1>>y1>>x2>>y2>>x3>>y3;/ B" E% N8 `9 y* i
      if((y1==y2)&&(y2==y3))
1 Z9 w, _5 W$ V6 E5 t) b" S      {
% k- z- {1 L, E9 e: V5 i            cout<<"三点不构成圆!"<<endl;' O' y' c8 y3 V' H8 d) C; i
            return 0;
$ R: w0 `: Z( o# S8 k2 o/ [# o  Q4 q      }" G. F7 s9 L0 Z
      if((y1!=y2)&&(y2!=y3))
3 \# v; ]  u8 {+ r9 f      {* e( F  z3 r" ~( b# P7 A( H- d
            k1=(x2-x1)/(y2-y1);( {: h- a: l. `% z1 U4 P1 h
            k2=(x3-x2)/(y3-y2);
8 e% `0 |/ Z& ]4 D3 T      }
$ p" \- O+ X, O% X3 p      if(k1==k2)# S: @7 V9 t# p- t. i
      {4 v* h3 c  D4 M0 H
            cout<<"三点不构成圆!"<<endl;% b: X- P  u' U2 p8 a- h! K0 k, S
            return 0;
5 z! c2 N2 j" g1 F! _* I) Y/ X1 k      }! L0 [6 Z# ]" u1 I
      a=2*(x2-x1);1 X! w# o% d- Y7 X' A: d0 p
      b=2*(y2-y1);( x3 [2 [% @: O
      c=x2*x2+y2*y2-x1*x1-y1*y1;
. b# h# T6 R9 y; [, C& O5 _      d=2*(x3-x2);
* u2 Y* L+ L0 Q9 q6 t, p( \, [! Q' i      e=2*(y3-y2);: J# r- [  g" p! ?$ @0 N; S
      f=x3*x3+y3*y3-x2*x2-y2*y2;
9 g/ R5 C+ o- f' B& g' D2 ^% G, j      x=(b*f-e*c)/(b*d-e*a);  w5 X( ?5 [* Z0 v
      y=(d*c-a*f)/(b*d-e*a);
: _% G- Q4 R. F8 b9 @9 [: w4 {      cout<<"圆心为("<<x<<","<<y<<")"<<endl;
" }/ v+ N) }9 e! L4 ^0 B5 y      r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
0 ]3 s) o2 P& n$ K" D      cout<<"半径为"<<r<<endl;
3 p, m, S6 D: E9 z6 q" W      return 0;; ^% j& J5 d) I  I) O! R# P
}! ~" Q7 c3 V; M) _6 Q
14,查找圆心
. |2 \) L- r6 s2 J            UF_EVAL_p_tevaluator ;
9 Q3 n7 r4 k8 y+ V- q4 X) b            UF_EVAL_arc_t arc;
0 I0 }; D6 s5 M: t            UF_EVAL_initialize(obj_tag,&evaluator);
8 G6 A/ H% @8 `            UF_EVAL_ask_arc(evaluator,&arc);# D  F' _  d6 h% v  K  S2 [0 J
            UF_VEC3_copy(arc.center,point);             @6 z* f: |* L# x3 r! t
15, message_box
  h7 V2 r6 t2 n( lvoid message_box(int *res_mes), b1 f) }$ ~6 N, G$ a8 C
{( i* t* f/ ~8 I, H
      UF_UI_message_buttons_sbuttons;: D8 W, T8 b" t& R9 O. \
      buttons.button1=TRUE;
# L4 l& y6 J& ^3 @      buttons.button2=FALSE;
- d6 h1 C- Q0 k      buttons.button3=TRUE;: e) l8 Z+ q6 F# M" P6 W

4 c6 i8 j% d$ m0 P      buttons.label1="OK";
5 }# m$ p: j; X5 D4 s      buttons.label3="CANEL";
, G6 o. j/ E7 ?9 V" i- G/ H# O& }2 m: S: \- {
      buttons.response1=UF_UI_OK;
+ l4 p  @/ W* J; L      buttons.response3=UF_UI_CANCEL;
) j3 o4 ^7 o- Q! w0 x. I9 \
+ b5 j/ [( y2 c9 n  |) Z% _! D5 B      char *string_msg;
! G4 l) T$ B" \* a7 ]      char*material_msg="ALL selcted objects will be removed";, ~7 n3 [4 E( b# N5 h3 C
      string_msg =material_msg;
0 e# Y' K; V, {; o7 a, H" ^9 m' r. @/ n% `2 s
      UF_CALL(UF_UI_message_dialog("",& e% ?0 b3 e9 r6 h  U
            UF_UI_MESSAGE_WARNING,( D5 j& l! ?& y' A: n* ?
          &material_msg,
$ g. U' h; S& q( f. m" D) ~            1,
9 j! h- e9 c/ _* @: X5 x            TRUE,/ l/ A3 z8 |5 i3 n0 ?1 K2 s0 a  K3 m
            &buttons,. {7 a" J' x# ^9 H' @" o  F
             res_mes ));8 a/ Q8 q0 X8 p; c" U$ f& p/ j
}
8 i* u" j# Y7 Q) k' o16,选择过滤
1 T$ n3 l7 h$ J4 a+ T  ~/ u# dstatic int init_add_face( UF_UI_selection_p_t select, void *client_data)& l. {; {8 N- A& D
{$ b  K" {0 `8 |$ V+ q5 c, K. n, _
      int nums = 1;
  U: Q! q  b6 m; ^! g+ H5 T      UF_UI_mask_t masks[] ={
  ]! x3 _# I! u            UF_solid_type, 0,UF_UI_SEL_FEATURE_ANY_FACE};
* z2 a+ ?+ ]9 D2 s4 v& W  I" x+ N' p) ]+ T
            if(. S: l' x( X! R2 T7 @
                  (UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,nums,masks)==0)/ p' \+ @7 W# w% ]; S2 q6 m( z
                  &&(UF_UI_set_sel_procs(select,filter_proc_circle,NULL,client_data)==0)2 ]6 N# l0 B' a% a3 n6 z
                  )
& }% K8 i9 d4 m  m+ x. m9 a            {; M, y- p: ^$ t5 b5 H( e; V
                  return(UF_UI_SEL_SUCCESS);
6 q9 j) v9 t% K+ ~+ ?            }# e3 n1 K$ P: H2 @! Q
            else
6 b$ o- P" f! ~            {     
8 A, X% M. T) e+ r( A                  return(UF_UI_SEL_FAILURE);
; ^2 N4 N9 P6 f+ _! c& @            }8 c+ ]' h3 B& P0 Y8 V/ q
}
: X$ d& g. X% L1 h5 lint find_tag(: p( Y6 L! I, B+ A" k: y
                    void * client_data,//用以传输过滤资料
5 ?) j# W  [$ ~0 h% G1 e6 u) j# W                   tag_t object//现在鼠标所选物体ID/ V& z1 M2 C8 i7 ^; S5 @
                   )
3 T* G' w$ a7 k+ C0 `{+ }# V' v: {4 U/ b$ {
      user_data *obj;7 J- t8 ^; @$ `% t) [" ^
      obj=(user_data*)client_data;3 w0 T! f5 c. d& y5 r% L( _& b
      int find_face=true;//接受+ Z3 Q$ x& k  g. @
      char *string1;5 a8 M% G5 T5 w' w
      string1=newchar[133];
/ V, h0 S8 `3 d* a/ h" Y) [% K  \      string1=UF_TAG_ask_handle_of_tag(object);
( B" u( ]  ?; `, d1 x  S/ y      for(int i=0;i<过滤的数目;i++)
4 C+ ?, h. V7 g  J      {3 L- p8 t5 X) I% {# f: A+ ~
% X5 ~. e2 r+ M
            char *string2;4 `- F" u; u* J
            string2=newchar[133];+ z- {( o9 }2 V( ?  B
            string2=UF_TAG_ask_handle_of_tag(物体ID);
+ ~: X8 u6 ]  H4 K6 B$ ?            if(strcmp(string1,string2)==0)& \8 @. @# u1 Z( q' B( q; z
            {
2 a; p% M) y# b) y" S& a8 u                  find_face=FALSE;//不接受& Y6 A( _+ v, K  E, t

! e; C. }- U# }- q8 b            }3 m/ c5 z2 b2 }8 B! c4 Y3 c
            delete []string2;
* p: y( \" z; z+ @% _      }
- e( u- M" M- x. B4 I8 A" I' _      delete []string1;5 l, R% T+ Y) u% G' y2 K& B
      return find_face;
- x0 n, D. Y; ^}
- A8 t. z- O/ s. ~5 w$ K& @1 W8 h% A: c9 B: w2 H& D+ Q
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

寂夜孤星待天明 发表于 2017-3-2 13:15:39

寂夜孤星待天明 沙发

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.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了