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

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

  [复制链接]

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

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

admin 楼主

2015-3-2 10:31:39

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

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

x
  b3 M2 C$ h, k. e8 I
7,裁剪片体3 P- ~& Z; ]4 U( I
tag_t  *trim_objects;
& l  m! S& W* ntrim_objects =new tag_t[count];
7 J) S2 Y. L2 F% b3 Ptrim_objects =bound_id;: V( `6 J+ B; r
voidtrim_sheet()
2 L5 q$ d; x2 }{
7 H6 }7 ?4 I& `# s$ U: f
% k% p) r8 v! m7 q      UF_MODL_vector_t projection_method ;
$ ~7 H$ m' B  {( U      projection_method.reverse_vector=0;* W$ q" X) ~, Z1 v; q
      projection_method.vector_type=UF_MODL_VECTOR_DIRECTION;
8 x4 p- F9 A5 `$ X% C% W9 t" [+ p      UF_MODL_vector_defined_by_union_tdir1;( b2 W# c+ [2 G9 h" P9 ]
      UF_MODL_vector_direction_t dir2;
% j" R! {8 B, @7 D; K: Q      dir2.xyz [0]=dir[0];, j! |* K* N2 S! A* y' y. ]
      dir2.xyz [1]=dir[1];) N' Z: B" Y, S" F( n
      dir2.xyz [2]=dir[2];! M) |  w( x& \) @  X! d
      dir1.direction=dir2;5 F9 {1 Q2 p1 W2 P4 ^8 @9 ~, ~8 u& l

! f5 z" C$ Z/ T8 [  D) Z; s      projection_method.defined_by=dir1;
+ H- Y/ r4 M0 F, H' d5 D  n6 ?+ b9 r+ O6 Z) K+ u- x
      double point_coords[3] ;+ e( R5 S% g' m7 `  U/ o
6 x1 f: t4 L& E  \! |+ _2 U" K& m
      point_coords[0]=center[0];
, E8 P+ P* W1 M' c& R$ U4 M+ j4 W      point_coords[1]=center[1];
7 f8 m$ k6 _4 ~8 m4 M) M      point_coords[2]=center[2];
$ k: O% x, q6 n- z$ T
! A6 ^, y& l$ A/ o% }  T$ D! {      int gap_point_count ;
( B5 O$ m1 }3 ~      double *gap_points;
8 Y( i4 W2 ]8 ~  N6 l6 T& `      tag_t feature_obj_eid;
' i# [0 b$ o+ S5 H8 ?  G" Q3 T( X      UF_MODL_create_trimmed_sheet(sel_sheet,edge_count,trim_objects,&projection_method,
: H3 s* O2 z0 s                                           0,1,point_coords,0.1,&gap_point_count,&gap_points,&feature_obj_eid);
& E, h" H* m7 ~( j4 c) M7 y
0 A9 V" n9 c3 y: N& {}
# U$ E# ^6 X4 h2 `3 ]  A2 C/ k8,offset偏移/ e! V( q, L( P
3 _* P5 T4 Z6 q6 m5 ~5 Z! r- W  `
char   distance_str[] = {"10.0"};//偏移的距离
( T0 B- Q' X! @% D, w* \. V" w7 U1 u; a$ A) |, p. _
int  num_curves;( W- R$ Y" ~4 Z" `  A2 s& H, P
tag_t *offset_curves;8 G; ^3 t$ x; ?3 W0 K8 ^
UF_CURVE_offset_distance_data_t  offset_distance;" H' ?  z) P- [
offset_distance.distance= distance_str;7 s+ \, G6 P+ M$ {+ |0 ~
offset_distance.roUGh_type=1;
9 b9 Z/ p4 ^( r4 p3 f% D" cUF_STRING_t   input_string;
& U( ]2 t; n$ N  S& k- ^1 D% Tinput_string.id=curve_id;//加入想要偏移的线
! u0 y! X0 _8 T) ^: @input_string.num=1; //偏移矢量方向数量
- V5 X; [: N$ U" M$ L2 k# ~; [input_string.string=&string_count;//偏移线的数量
2 e% M$ \1 O  E+ V0 u" iintstring_dir=UF_MODL_CURVE_START_FROM_END;
- n; R; |( }  @. Binput_string.dir=&string_dir;9 }/ x8 M- Y. B

" P' O7 ~) q9 h" [1 Z/ e' XUF_CURVE_offset_data_toffset_data;
) O5 }( r+ X7 S6 \( x! u$ a- K) L8 i* K
, \0 m- S( ~- S: h% Ioffset_data.offset_def.distance_type1= &offset_distance;
$ o8 U! U. f+ E% K+ P7 m1 ?offset_data.input_curves= &input_string;
2 a0 R8 _# V5 @& f# ]; Zoffset_data.approximation_tolerance= 0.01;
' V3 ?' I5 ]+ e0 loffset_data.string_tolerance=0.001;
. m3 M& I4 f9 w# a+ b' t( ]offset_data.offset_def.distance_type1= &offset_distance;
% o9 F) \2 ^& p, `. B6 Doffset_data.offset_type= UF_CURVE_OFFSET_DISTANCE_TANGENT;
8 t; x. h+ l* q- R% k  K6 A8 \UF_CALL(UF_CURVE_create_offset_curve(&offset_data,  f. \& U  F- W+ T* w* J
&num_curves,&offset_curves));
* S4 j9 `8 P9 g  i/ J5 H' W; N9,创建平面; J) `; C' H. K: y1 O* n  |
UF_STRING_tgenerator;
: j8 r( r" q2 OUF_STRING_p_tge = &generator;
' W- @" X& f. [( ^
/ X! e, P, B. C5 \4 ZUF_MODL_init_string_list(ge);
8 }5 y' {  g# R! p9 p. q- }UF_MODL_create_string_list(1,12,ge);
" @) P3 B' V+ @! m1 y
  V! [6 [9 F( m% g! O4 m. Oge->string[0]= 1;* [" y; `# X+ r5 a$ s* u* x
ge->dir[0]= 1;//指定线从开始到结束
  m. O$ N7 l3 J5 {6 pge->id[0]= arc_id;//指定边界的id% ]0 o3 I4 h& b# ]
doubletol[3];" n% H- w! o- |; `8 I
tol[0] =.001;//直线公差* U4 c/ V* `. ]- {6 h" _
tol[1] = .5* (PI/180);//圆弧公差( V3 ^% l* U- r0 R, I. N* g
tol[2] =.02;//不起作用
6 s) L# o; o% Q5 {6 kUF_CALL(UF_MODL_create_bplane(ge,tol,&bplane));
! T4 _" N" I; l6 B10,选择$ C8 H3 p0 \- S, n. y
1),点选择  g7 Y- e, }, q) G1 X% z6 m* n* m
tag_t point_tag;' i, J" q) L9 L. S( p" k- t1 q
double point[3];
9 T& j, D% x/ h3 O8 y$ `3 B       UF_UI_POINT_base_method_t  base_method=UF_UI_POINT_INFERRED ;  
4 [7 a0 I5 S9 @$ Y5 C       intpoint_res;
/ b: Z3 {% F  N& D8 q! T  k5 N6 v! |  H; }: L, w; x4 k
UF_CALL(UF_UI_point_construct("选择起点",&base_method,&point_tag,3 x- F& o6 R  r. k
point,&point_res));
0 l- b/ h6 L; m4 `# u$ b! Q9 i5 I$ L6 Bif(point_res=UF_UI_OK&&NULL_TAG!=point_tag)
1 G/ J; C: r7 b1 }( U{4 J/ K) V! z+ z! x
}
, ^7 Y' v* i7 k2),向量选择
6 s/ Q# ^& D8 M4 g: {     int  mode = UF_UI_INFERRED ;
3 c7 i$ P5 M) c! w8 s6 A     int  disp_flag = UF_UI_DISP_TEMP_VECTOR;3 E4 G4 O7 W: v( ^
double vec[3];4 }+ |8 v6 D, N9 a2 p: }4 h& `' f
double vec_pnt[3];
& E' _9 B; D" n. Oint res_vec = 0;
, o7 X, j* i! a% w$ l3 w+ y6 u     UF_initialize();  $ J: p3 q6 e& @- a" s# N  g
     ifail=  UF_UI_specify_vector( "Choose aVector",&mode,disp_flag,* ?8 ]2 ~' _9 z- w: F+ }
           vec,vec_pnt,&res_vec);
! F# a4 R( o% M& L$ e% f3 U, r     if( ifail != 0 || res_vec!= UF_UI_OK )   
/ N; G$ c7 F$ F     {     
8 f6 H6 T4 W3 `1 [9 I! r5 B1 P5 P8 T           UF_UI_ONT_refresh();- ]3 M3 K  `; i, i) L( \( j( ?9 J+ x
           printf("No vector selected \n" );
# i) B+ g0 P7 Q     }
* y$ x. p" Y' z% C8 E7 ~     else
7 m+ d1 F7 G/ `+ d# \     {
/ ^4 L& V: g: i8 m0 v  x           printf("Vect base (%f, %f, %f), direction (%f, %f, %f) \n",/ P5 d6 `! P; \. e- S) L0 C
                 vec_pnt[0],vec_pnt[1], vec_pnt[2], vec[0], vec[1], vec[2] );
$ \2 \; X3 S0 a2 u  _) c  I1 s3 O3 M}
8 d# Q) @9 L! L" |# J( b8 v3),平面选择0 V! h( ^8 `& j2 U* h
tag_t plane_eid=NULL_TAG;2 {! P; U6 x2 E/ e4 f! x
double orientation[9] ={0,0,0,0,0,0,0,0,0};. ]$ L, T. u- K6 n- _; G9 R
   double origin[3] = {0,0,0};3 r& I3 v- X, G
   double pts[6] = {0,0,0,0,0,0};
  a: k8 v9 G! O* n0 Q   int i, error_code = 0;
& S2 z5 q2 X! |   int mode, display, response;
% _% J0 O" ^% {   mode = 1;                    
1 s, d( s7 P+ @9 ~( B$ ldisplay = 0;      & n( W8 n6 M# V6 q7 Y
UF_initialize();
6 Y# U  A# F) h) |# Q   error_code = UF_UI_specify_plane(
7 u) p7 d/ Q/ r. Q  l4 n         "Select Plane", &mode, display,& }$ o4 F, w, W/ N4 [/ r
         &response, orientation, origin,&plane_eid);: U$ s0 G- L& _6 K0 e# {0 d
! F$ r1 }: m7 h7 n, i" ^
   if ( !error_code && response != 1&& response != 2)
6 \2 m4 j* ?$ s+ s, ^/ ~   {5 n7 z" a" v! P
                     for (i=0; i<3; i++)* H, U: e5 q) ]2 @: q' U
               pts = origin + orientation;
& O( m! i' G( j                     for (i=3; i<6; i++)
/ ]/ T! q6 x! g               pts = origin[i-3] + orientation;/ i# a5 B4 Q( J  U* B1 V6 w) `$ O
         FTN(uf5374)(origin,pts,&pts[3],&plane_eid);# Y1 X) x* j. }' K5 J! J
   }9 @2 \. L- I0 F
11,临时点,线
& D$ |- G! P! h, v4 Rvoid display_temporary_point_line (double point1[3], double point2[3])3 s$ ^, \6 l. w# \: X  R1 Q' y
{
* \0 |9 a6 [- A- V  UF_DISP_view_type_twhich_views = UF_DISP_USE_WORK_VIEW;: }8 D& z1 ~/ o% h2 }. _. x' v7 \
  UF_OBJ_disp_props_TColor;
& e. ~& X' o) i* O( m. t; @  color.layer= 201;( ?& Y9 z+ n% a& f$ t! p
  color.color= 186;. Z2 `0 K, L/ z
  color.blank_status= UF_OBJ_NOT_BLANKED;
( u# S, t: l+ ~- f# m0 ^( K  color.line_width= UF_OBJ_WIDTH_NORMAL;
- h  Z0 X/ ]8 p0 M- q1 g2 k  color.font=0;; ^4 B2 o8 Q* ]/ D+ _6 y0 g% ]
  color.highlight_status= FALSE;  e  T! y- B  B& S
  UF_DISP_poly_marker_tmarker_type = UF_DISP_POINT;
2 e( l2 Q3 j* N8 r# L$ U' `9 |1 g0 x
UF_DISP_display_temporary_point ( NULL,which_views, point1, &color, marker_type);7 |& p5 i4 H0 U' z; t
UF_DISP_display_temporary_point ( NULL,which_views, point2, &color, marker_type);  }, k# B$ D9 s6 m) z
UF_DISP_display_temporary_line ( NULL,which_views, point1, point2, &color);
% s, J3 Z' u) g1 W6 r' J}" p; c" A+ Z$ c; E
12,WCS与绝对坐标转换6 [% L* T" \1 y" Q) e: ]* u8 j
                        voidcycs_wcs(double point[])) ^1 [& U* m$ S
{
2 z2 d# A5 `' P* G. B5 w0 p      tag_t  wcs_id,matrix_id;
5 H) ?) Z) i! W' c5 q- T! B* @      double matrix[ 9 ];
/ G' P: M! f' m( E8 N3 o+ C      //wcs_origin:工作坐标系原点,vec:工作坐标系轴向量,point_origin:点到原点的矢量
' g6 {! S) @- [3 ]; S      double wcs_origin [3],vec[3][3],point_origin[3];) K% l1 G, _: ^$ l7 y
      //1,得到工作坐标系8 Q5 l. K. W! c
      UF_CSYS_ask_wcs(&wcs_id);
: ?  E7 h0 r- p% ^' Y9 I- y      UF_CSYS_ask_csys_info(wcs_id,&matrix_id,wcs_origin);                    ' ?: v9 a. ?) n) U5 |
      UF_CSYS_ask_matrix_values(matrix_id,matrix);; s* X( A0 ]8 G$ t1 \$ C

+ O& {* v- C% ^* p& \5 s9 Z4 Y      //2,得到工作坐标系轴向量
1 n, P( N8 \: n      UF_MTX3_x_vec (matrix,vec[0]);
/ k' K; z% P2 w& G      UF_MTX3_y_vec (matrix,vec[1]);
- x2 J) ^8 p5 k      UF_MTX3_z_vec (matrix,vec[2]);
! s( ~' C/ g- D/ N2 I; E9 q4 f0 ]( r  r- F$ v) w' @% b
      for(int i=0;i<3;i++)
) p+ u$ q: j* @& q/ p      {     
; W* v4 h7 Z$ r            double tol;) s/ a, @; ^+ U) k6 A. ?4 M( D
//3,得到点到工作坐标系原点矢量/ {1 |% f0 w4 D6 Y8 D
            UF_VEC3_unitize(vec,0.000001,&tol,vec);
- t: `7 Y; p  H1 m2 J6 T$ |//4,得到点到工作坐标系原点矢量
- o0 J5 O; i7 O' k            point_origin=point-wcs_origin;7 l  D5 i. p) m. @* i  z
      }
$ a7 b; n& b* f) ?% p# A6 l      for(int j=0;j<3;j++)" k0 Z$ C0 s2 n/ C+ U$ g+ `
      {& ~3 H3 s1 P( a9 L# y8 V
            UF_VEC3_dot(point_origin,vec[j],&point[j]);4 J4 [& m: Q- M- G) b
      }
2 |/ l/ s* ?& e9 d/ U}3 [- |8 k7 r8 k1 D
13,三点求圆心' l8 ]3 x0 p" q" R
#include<iostream.h>
6 A8 W9 M* j; a/ z6 w5 [#include<math.h>
4 _; ^& a7 l' c# P) U, a
4 K( m0 v+ o; N% Y8 l1 q# M6 D7 Iint main(). ]+ i7 ?4 ^+ d1 J  @% O$ {% ~* G
{
2 y$ ?3 ^* }& F, {3 d      int x1,y1,x3,y3;' Y% E8 t3 B. T! C- E! r
      double a,b,c,d,e,f;
& R6 x7 n5 ]+ m) @: U      doubler,k1,k2,x,y,x2,y2;# Y& a) P2 _# g/ ^
      cout<<"请输入x1,y1,x2,y2,x3,y3"<<endl;
/ [. G! k+ F0 r4 H      cin>>x1>>y1>>x2>>y2>>x3>>y3;8 }. m7 f" q! e6 ?; m* ?' L
      if((y1==y2)&&(y2==y3))
3 t# O8 x- t5 V0 l# }) B& d      {5 d3 O$ s9 }0 y" A' t% z8 ?
            cout<<"三点不构成圆!"<<endl;
$ b5 S* b# {. Z6 Z) s            return 0;
1 D0 I. s7 N& T  B0 ~$ Q- t      }+ ?2 [3 H9 n" r5 }
      if((y1!=y2)&&(y2!=y3))5 V# j9 v, {4 [7 m
      {! @8 H  D2 g! ?% z. C( f
            k1=(x2-x1)/(y2-y1);+ W: P2 L( T. A# C& a
            k2=(x3-x2)/(y3-y2);1 I# ~' i) J2 o0 _  j$ H
      }
0 a8 G/ f+ h  r" ?3 z9 Z: Y      if(k1==k2)
' u  V: D" t9 ~4 p6 t. o      {
+ i4 f+ T; I6 {. r+ G            cout<<"三点不构成圆!"<<endl;; U0 H  N* J9 S$ {% `7 I5 `
            return 0;
0 ?+ A7 z7 D; H- s; P      }
) D$ B% G$ |; M8 j6 n1 m      a=2*(x2-x1);/ ~4 h* z: ?! a( o
      b=2*(y2-y1);! \* F$ c9 o( ^4 \% ]( w
      c=x2*x2+y2*y2-x1*x1-y1*y1;
; |) z- u$ q7 t( D6 }6 ~0 ]( I6 A      d=2*(x3-x2);; D. B6 B, }6 b! C8 b- l' p
      e=2*(y3-y2);
1 X6 {! Z" |2 b. _      f=x3*x3+y3*y3-x2*x2-y2*y2;# ?2 o3 O, Z2 |( \. n3 e
      x=(b*f-e*c)/(b*d-e*a);9 }2 x3 R& \( ?; e
      y=(d*c-a*f)/(b*d-e*a);
/ ^7 Z1 M, Q+ i0 e: u& J5 \      cout<<"圆心为("<<x<<","<<y<<")"<<endl;
( y; Y& m: Y: k! V; q) }      r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));4 a+ S' l6 w9 o- x  D+ d
      cout<<"半径为"<<r<<endl;
5 i2 J6 H( ]4 B% q4 G2 C      return 0;' e4 O6 w5 W' a: D! n
}
6 G3 K" o" D, j1 u14,查找圆心
0 U+ p: v/ t$ N7 V* j            UF_EVAL_p_tevaluator ;
! y& w$ M7 T+ L( c8 q            UF_EVAL_arc_t arc;/ Q7 W( R3 A" W
            UF_EVAL_initialize(obj_tag,&evaluator);0 g4 Z7 _( J$ m6 l( `. y+ v5 V
            UF_EVAL_ask_arc(evaluator,&arc);
4 B* H: r1 B6 o4 Z5 H            UF_VEC3_copy(arc.center,point);           
* K5 Y7 a: P7 q" l' Y15, message_box" J7 N1 }( o4 P0 ?* h3 u  J* J+ }
void message_box(int *res_mes)
; l' Z: S' K6 Y- ~) T( z{% y# L) N# d. _- w+ a
      UF_UI_message_buttons_sbuttons;# ~$ D0 @  @& \, l: R1 I
      buttons.button1=TRUE;3 _, n& p! G% b2 y, `+ T1 i9 m1 k
      buttons.button2=FALSE;5 `, `5 Z0 n, Y% w  }" \' \& d
      buttons.button3=TRUE;
3 a( K3 W* E. |1 F! p4 L% Z; `4 S5 D" y0 X' S6 b1 Z1 l9 A
      buttons.label1="OK";
: f0 C. `5 c) r7 }# n, t3 a1 l      buttons.label3="CANEL";
9 Q$ W* d4 `# u( W9 x4 j% Z* `; s% ~- j7 S2 S' @
      buttons.response1=UF_UI_OK;" V3 }% B/ d9 E1 Y% d
      buttons.response3=UF_UI_CANCEL;( `7 W: [! [# H0 H1 u

5 h- f2 s3 a) }: X; C& m      char *string_msg;% J  N5 |2 q; Y" Y+ Q  |3 m8 M
      char*material_msg="ALL selcted objects will be removed";
$ P# [8 S; |1 F% k" J  _      string_msg =material_msg;
% M% I, u4 \' M/ m: i& B
0 o3 `6 a3 |* U! \* k      UF_CALL(UF_UI_message_dialog("",
2 b1 V5 J& s# r" o9 R            UF_UI_MESSAGE_WARNING,
9 p+ R$ G4 h1 ?! z3 p          &material_msg,9 }3 Y& b4 m; W+ y1 j) [6 ?
            1,# G, W7 H, b5 t- S' ]- Z
            TRUE,- s# v4 R, O% c; }) x
            &buttons,5 v* A8 |2 A& {2 S
             res_mes ));  r# l2 d! \. o' a5 e2 P! d
}
" p9 D1 o+ S, p* e0 n1 N16,选择过滤
' u9 w& D% g9 H* lstatic int init_add_face( UF_UI_selection_p_t select, void *client_data): S4 M. N; V8 w" S
{! w; D, |6 I( }: z9 f+ @+ |
      int nums = 1;
4 x/ m( S; C( a5 g      UF_UI_mask_t masks[] ={; ]; A1 }8 f5 M6 E2 o+ P$ \" {
            UF_solid_type, 0,UF_UI_SEL_FEATURE_ANY_FACE};  t# f+ W, j* J" @6 e
. z3 t( ?- ~6 t2 i& I' e9 @1 I  g
            if(' A7 e1 w: Q# s
                  (UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,nums,masks)==0)
2 e' f3 r4 ~5 }& [& w+ B                  &&(UF_UI_set_sel_procs(select,filter_proc_circle,NULL,client_data)==0)* T8 T5 l0 @9 e: l/ B2 p- W; U. x9 z0 B
                  )
1 g+ T, m3 @3 ]7 b            {
, b4 O/ Y( ^! g                  return(UF_UI_SEL_SUCCESS);! i. [. l5 s; _( [
            }  Q: X; n9 ^/ g" N% r8 U
            else5 F, J, }+ s0 I& _  i
            {     
6 }. I0 `7 u2 ]' ~6 z! @# r                  return(UF_UI_SEL_FAILURE);, o8 D0 ^8 C3 F2 G2 f, }7 i5 D
            }, s! o, H$ q0 g' M" ?
}* }; B; p& {6 ?8 t# N
int find_tag(
; R: ]- ]4 L" o/ K1 I# r                    void * client_data,//用以传输过滤资料0 @1 z$ _$ _1 i4 C( Q
                   tag_t object//现在鼠标所选物体ID
0 x9 c6 E: p. P) x1 z                   )# E/ S+ L" L' q6 h7 Y
{
8 L* s" c, M" R: R& p8 C- h      user_data *obj;. V* M5 P. z! T; T; ?
      obj=(user_data*)client_data;$ @- B" ?4 J. X1 U
      int find_face=true;//接受
, U1 K9 g: V+ z0 |' f0 y& u      char *string1;1 i; y" x5 a5 Y" \- s) z$ U
      string1=newchar[133];
. \- t& L3 h6 d& h5 S% t      string1=UF_TAG_ask_handle_of_tag(object);# k7 U& R9 ~! d& Q
      for(int i=0;i<过滤的数目;i++)# t& n" O! L0 r5 f: l
      {9 L4 O, [% X6 i& q; Y

/ @# p6 E+ R% h% f" ?, \            char *string2;" o# S$ b) O' w0 u! A& Y4 {
            string2=newchar[133];
4 R+ n' D9 b+ F# k            string2=UF_TAG_ask_handle_of_tag(物体ID);
1 r7 s+ `' R5 m7 I5 y            if(strcmp(string1,string2)==0)2 f7 r7 J: b# o( r3 ~6 B% z
            {* n$ D0 g) s% J, j6 }* T
                  find_face=FALSE;//不接受
* |" S3 m3 `( X/ R: b1 o
' R8 M, b' p  W4 |% r7 s% E            }
; k* \( ]* g0 s6 a  e; Y9 W            delete []string2;
- Y$ h0 z% M8 [( ]- W* B      }8 x8 X. p3 d( q+ t- a
      delete []string1;
; d. y8 k' K8 ^; S! e4 D      return find_face;, O7 w; V9 g, y1 m
}$ F6 H4 f. s2 X. q
: \0 O9 a& h' O& {* Z
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了