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

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

  [复制链接]

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

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

admin 楼主

2015-3-2 10:31:39

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

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

x

7 M3 z# t+ y- V0 P& ~' K7,裁剪片体% p1 ]% w3 a; {+ q" n5 y( w5 l
tag_t  *trim_objects;
* F3 ^; C# C: n5 `5 Xtrim_objects =new tag_t[count];5 w8 K! L; }& ]* n- v1 ]3 e
trim_objects =bound_id;
( e4 \; g" d( L: M6 i) Dvoidtrim_sheet()
4 f" F' K# Q* |; O{
. K" o3 Q% z8 P# P+ H7 p/ T# {8 k
# @/ N  x' t; i. I) Z, ]      UF_MODL_vector_t projection_method ;
- V/ ]8 x& z7 P      projection_method.reverse_vector=0;' N$ G2 a6 _0 r& ^. J
      projection_method.vector_type=UF_MODL_VECTOR_DIRECTION;* H0 f0 I7 u# T) s( G
      UF_MODL_vector_defined_by_union_tdir1;
" i. d8 S3 S" K& L$ J      UF_MODL_vector_direction_t dir2;
# J, I  _9 }1 v1 ?5 r; `. `      dir2.xyz [0]=dir[0];# a4 w, J5 s6 U4 I& y/ ?. r
      dir2.xyz [1]=dir[1];
4 T6 l/ z/ i3 n9 M. J      dir2.xyz [2]=dir[2];
( _! ^+ T9 F0 V6 t: w9 @5 n/ k. ~      dir1.direction=dir2;9 z' k6 e- Z* n8 }) E

2 d8 R- f+ n+ @3 d1 _8 ]      projection_method.defined_by=dir1;4 E$ g5 x* T4 L
: e' d' B$ e) `# N8 H2 s( }
      double point_coords[3] ;5 U& B! G7 G+ z2 D- A9 u

8 r5 z& h; L' ~" n      point_coords[0]=center[0];; f8 n5 S( c4 D2 R3 z
      point_coords[1]=center[1];
' o4 Y6 w+ ]2 B& w" K$ {' @      point_coords[2]=center[2];
" z* m/ n4 ~) O* t9 z) T, S& l
      int gap_point_count ;  ^- H( U, _1 S% j
      double *gap_points;
5 U8 E" x. ~9 {7 w. z' ?2 T      tag_t feature_obj_eid;
( L2 m* v2 I7 o) x. w' Y  j" s& i! m7 u& s      UF_MODL_create_trimmed_sheet(sel_sheet,edge_count,trim_objects,&projection_method,
: S! s" e) h2 [                                           0,1,point_coords,0.1,&gap_point_count,&gap_points,&feature_obj_eid);5 Y1 z7 R: [+ Q0 w
4 y: U. c* R" h6 f! [' i' @" @9 U
}
7 z/ y5 A" T3 V+ J3 c8,offset偏移9 |; c9 ?2 r$ c
. Z+ R- y% y0 F
char   distance_str[] = {"10.0"};//偏移的距离
# `+ C# G! o5 w- b6 [8 C
3 n- N4 D$ M, ^$ @5 f6 N: yint  num_curves;* ]; A% I: d. o# e
tag_t *offset_curves;. Z( t. D8 m/ P2 O% v
UF_CURVE_offset_distance_data_t  offset_distance;. u2 q" R1 d& i# I3 j2 [! w
offset_distance.distance= distance_str;
# _' O2 }6 y* }offset_distance.roUGh_type=1;' Z" f5 h2 {* A
UF_STRING_t   input_string;& F: H8 W5 ]2 j3 |4 ~% d
input_string.id=curve_id;//加入想要偏移的线1 e) X  l% t- e6 Z0 r' p0 c
input_string.num=1; //偏移矢量方向数量
  k; F) `4 V( e& I. Z" `( i; |input_string.string=&string_count;//偏移线的数量) S3 N: p" |9 `- X* [1 S8 u
intstring_dir=UF_MODL_CURVE_START_FROM_END;
6 ~7 _; @4 Z) N) pinput_string.dir=&string_dir;" n; j$ M+ Z9 i! ]: {

2 q7 W" `) W$ A0 b7 x; ^0 aUF_CURVE_offset_data_toffset_data;' g9 A# V. j6 b' P& u

1 E+ O! o% P  Y: L! P! n1 @offset_data.offset_def.distance_type1= &offset_distance;
; e% h) I  W. \' J% Roffset_data.input_curves= &input_string;0 ^* u' Z  {/ y6 n2 n, I7 t# K6 F
offset_data.approximation_tolerance= 0.01;# u, F. ]5 P9 ^' r1 O/ V3 a
offset_data.string_tolerance=0.001;/ w; @. f/ Z. d4 {4 u8 S: b9 ~
offset_data.offset_def.distance_type1= &offset_distance;% z$ S# e7 b: m3 }' E9 U: L# F
offset_data.offset_type= UF_CURVE_OFFSET_DISTANCE_TANGENT;# b  ?) A) r) K' X/ e4 W% B
UF_CALL(UF_CURVE_create_offset_curve(&offset_data,
, h' S. `4 I/ S5 P0 U0 p&num_curves,&offset_curves));
. h% N3 t: q. y$ f9,创建平面1 l" J" j  _6 l) Z
UF_STRING_tgenerator;' @( ]3 R, r9 t, b
UF_STRING_p_tge = &generator;
4 q2 U  B* G2 R
1 H6 @1 I; i& K" e; ~UF_MODL_init_string_list(ge);
7 ~0 o9 `* E7 i$ @( {9 w( R& Z$ |UF_MODL_create_string_list(1,12,ge);* b( r; ~& H" p- Z
9 G" C/ f/ Z( p
ge->string[0]= 1;
& R" `; {/ z% X" pge->dir[0]= 1;//指定线从开始到结束3 d7 O, z9 n/ @* ?$ b
ge->id[0]= arc_id;//指定边界的id
0 a: @$ g: D0 `doubletol[3];
& D) g: ?, V2 }3 ]4 E9 Gtol[0] =.001;//直线公差/ _1 ^+ m8 ?2 V; U/ ^8 ?' ~
tol[1] = .5* (PI/180);//圆弧公差
1 w% r6 Q) _. a' A4 htol[2] =.02;//不起作用. P- i: e' N# @. t7 Y, O6 f
UF_CALL(UF_MODL_create_bplane(ge,tol,&bplane));9 s! C0 d' g) M  F
10,选择1 P, c7 A+ i! |' R4 G9 e; s
1),点选择
8 Q  j% s. d) [; X4 ?' H+ K0 Z; Wtag_t point_tag;
/ m; v) a5 j- R2 hdouble point[3];
* g4 B1 ]7 V$ i% d# T+ u, \       UF_UI_POINT_base_method_t  base_method=UF_UI_POINT_INFERRED ;  5 D0 Q1 Z4 a; H0 p, E3 q3 K4 \
       intpoint_res;
! U1 }) P, X0 W8 Q  Q8 [! i4 `
% |1 x5 R; |7 }  FUF_CALL(UF_UI_point_construct("选择起点",&base_method,&point_tag,
0 W" K( j6 Z- }) F/ i& epoint,&point_res));0 z! l& m9 d2 }  r& P* }, c' u
if(point_res=UF_UI_OK&&NULL_TAG!=point_tag)
6 n( n9 M, H- `' P' R{. Y; W; o+ O* D- S  d
}. P6 I5 m8 L1 k8 \& ^
2),向量选择
$ @9 A( C! r- O6 h1 R     int  mode = UF_UI_INFERRED ;: @' I) M/ n0 I4 I( h0 a
     int  disp_flag = UF_UI_DISP_TEMP_VECTOR;
( R4 e& e" H, e8 |2 kdouble vec[3];( V. r$ b' z" b
double vec_pnt[3];
. Z6 c3 q6 [0 s) r$ _int res_vec = 0;
" \& S, ^% C- r4 ?  c8 {4 I8 x     UF_initialize();  3 o$ e9 {0 Z. ~8 ^( n' c
     ifail=  UF_UI_specify_vector( "Choose aVector",&mode,disp_flag,2 H! d; G1 ?7 d! x# f
           vec,vec_pnt,&res_vec);
/ r. A7 Q, _/ W4 s7 j3 i" q3 \/ L     if( ifail != 0 || res_vec!= UF_UI_OK )   5 d. p2 x9 q2 V1 t: Z/ ^* C
     {     7 w+ {+ y' P7 H2 C& F+ \
           UF_UI_ONT_refresh();# S' V  `  v& `& C3 P/ [% H- c' K6 c
           printf("No vector selected \n" );
) e% _! t4 A, [% s; |: p     }! ?& n% o& _! ~# H5 S& O) U5 I
     else: D; D1 `2 k7 Q( @* O
     {- K! q. m# u% r. O
           printf("Vect base (%f, %f, %f), direction (%f, %f, %f) \n",
( E; G! A! c" M2 e/ {5 f7 E                 vec_pnt[0],vec_pnt[1], vec_pnt[2], vec[0], vec[1], vec[2] );6 [% a2 b! j  s+ G5 S( K3 C: ~
}
1 b1 z% s, Z9 _6 E+ @) p& e3),平面选择
! F% j/ ?3 k6 [2 w, E+ otag_t plane_eid=NULL_TAG;' w1 O9 V# K' j2 n+ |0 l
double orientation[9] ={0,0,0,0,0,0,0,0,0};& I7 f! n9 H' N& c+ Q, L
   double origin[3] = {0,0,0};
! a1 s, X- K# u   double pts[6] = {0,0,0,0,0,0};$ i2 o# w; |0 @/ v; f8 B
   int i, error_code = 0;# }7 v8 u6 }4 g) b2 X
   int mode, display, response;
4 f9 g: d* o, {# K& b   mode = 1;                    
( Q4 \4 u% m4 I/ T0 z! kdisplay = 0;      
) O" k" s0 Y$ Q/ M+ e$ C2 ?( U' l% _1 fUF_initialize();
( g) G. T& p/ `, F   error_code = UF_UI_specify_plane(
( D" U7 }+ L& V6 Y  c( p         "Select Plane", &mode, display,
% K/ {4 ^! ~, B* A  l# ?7 {8 V         &response, orientation, origin,&plane_eid);5 F( z9 N( p/ y7 \' p; w4 I

! j% T* _- m2 m$ ~% F$ M   if ( !error_code && response != 1&& response != 2)2 K1 k& K/ J, k+ K
   {8 ^8 N6 S3 F0 ]7 n$ j6 Z: Y  w9 D# G
                     for (i=0; i<3; i++)  w( ?7 l+ B: ?) Y% s: P/ F; [
               pts = origin + orientation;
8 W* e: m$ e" a; r                     for (i=3; i<6; i++)& `) y: M% y; N( Y6 \
               pts = origin[i-3] + orientation;2 `) h. X$ N% T6 N  O
         FTN(uf5374)(origin,pts,&pts[3],&plane_eid);
  L9 u; M8 R# C# s   }
* a2 p) X. o) i6 |# s# F9 s9 z11,临时点,线
) f( m- C, E- I. K# d9 ?' Q3 m5 avoid display_temporary_point_line (double point1[3], double point2[3])
" s+ w1 \, {8 F& P4 O8 I9 D2 X{
2 d0 X) v/ K5 ^. l, f) T/ P  UF_DISP_view_type_twhich_views = UF_DISP_USE_WORK_VIEW;+ \! p+ B: G. C
  UF_OBJ_disp_props_TColor;' K4 V2 C. [1 M3 ^. I" I* y
  color.layer= 201;2 E! e5 E4 P% \/ R5 J
  color.color= 186;. t+ x7 r( z/ T# Y5 [" P
  color.blank_status= UF_OBJ_NOT_BLANKED;0 T6 j# Z! d" t5 @# ?2 j9 X
  color.line_width= UF_OBJ_WIDTH_NORMAL;
/ b% H" c1 n$ S9 d  j  color.font=0;
2 h  J- k$ C" J( K2 @# r, J# P  color.highlight_status= FALSE;3 }7 J; y9 ?( W1 H9 }! f4 t
  UF_DISP_poly_marker_tmarker_type = UF_DISP_POINT;( i4 \; v  ^. o' U
) ~. Y- e. V$ s$ x
UF_DISP_display_temporary_point ( NULL,which_views, point1, &color, marker_type);
5 b! K: d! t. s# g5 UUF_DISP_display_temporary_point ( NULL,which_views, point2, &color, marker_type);
4 P* E/ D, Z0 B1 O7 q1 ~UF_DISP_display_temporary_line ( NULL,which_views, point1, point2, &color);
& V9 w& o2 i7 s8 V- x/ f% @}
! A5 t8 z: Y. h7 F12,WCS与绝对坐标转换
, i0 A. ]7 O% q                        voidcycs_wcs(double point[])
) D( g: S5 J# ^4 q. E" w2 Z{
6 f5 m5 f7 o7 j, E* R6 n! q      tag_t  wcs_id,matrix_id;
3 w/ |# x, Y8 T; D0 {( q      double matrix[ 9 ];& C4 X8 T+ H* s& d! |- v7 ?) f- x- h0 Z$ M
      //wcs_origin:工作坐标系原点,vec:工作坐标系轴向量,point_origin:点到原点的矢量2 }% R2 z8 H$ n; b  _; [
      double wcs_origin [3],vec[3][3],point_origin[3];1 m' O5 ]$ z$ J( C6 \" {
      //1,得到工作坐标系
. f$ g/ K3 ]+ {      UF_CSYS_ask_wcs(&wcs_id);5 ]* B  j* a# V! V# w( `
      UF_CSYS_ask_csys_info(wcs_id,&matrix_id,wcs_origin);                    
# B8 C9 t6 w0 E5 m3 Z+ s      UF_CSYS_ask_matrix_values(matrix_id,matrix);# {0 i1 M3 R- z+ G
3 [2 Q1 u1 u- r0 \# d0 ]
      //2,得到工作坐标系轴向量  S+ N7 z  B$ k' d3 p/ p+ B
      UF_MTX3_x_vec (matrix,vec[0]);- `" e6 Y" ~/ z# i- B
      UF_MTX3_y_vec (matrix,vec[1]);  {1 U  r/ \6 C' @& w
      UF_MTX3_z_vec (matrix,vec[2]);9 _2 Y( `/ \6 w6 Z; N! C
. I: c# m* v7 o" x
      for(int i=0;i<3;i++)
5 V, S2 C/ L% W# p7 \      {     & A+ X3 `! {& _- A& a
            double tol;* N, J1 Y' g! `
//3,得到点到工作坐标系原点矢量
& x4 H8 f5 t3 g1 {$ \8 V9 J            UF_VEC3_unitize(vec,0.000001,&tol,vec);- E* l' u" l; R* o+ |
//4,得到点到工作坐标系原点矢量
3 ^5 t5 c! G. }* F# q            point_origin=point-wcs_origin;
$ F- W# X3 O6 I, q& w& L6 I      }
5 e/ @2 C, Y8 C- l" Z* i      for(int j=0;j<3;j++)
8 @$ G& V+ n: C( c      {; o- F3 h1 |# |4 e. s
            UF_VEC3_dot(point_origin,vec[j],&point[j]);
4 y) _# h. {9 o# h: \! z/ n      }# L9 u% t( ?2 R5 I: B7 d
}( j8 U9 T8 v4 U: s) M
13,三点求圆心/ R5 W6 g4 L: `3 J0 j, y/ n
#include<iostream.h> 1 g4 K# p/ g. }4 Z% E
#include<math.h> * c$ v1 [5 H5 r- A# E  b9 g

; n7 B; ~$ C! E0 Oint main(): [4 E3 v- H' b* C7 [( o! m
{
  S' a. F9 @* P& j# Q      int x1,y1,x3,y3;
! @/ A0 ~8 m7 w+ O4 N  Q      double a,b,c,d,e,f;
  p! T- P  _7 R5 @      doubler,k1,k2,x,y,x2,y2;
$ }4 [1 q: p" L: N6 G      cout<<"请输入x1,y1,x2,y2,x3,y3"<<endl;
: H; p% T6 P* Q: C  ]      cin>>x1>>y1>>x2>>y2>>x3>>y3;
1 f' W( N& @# G& u2 o. u% p% z      if((y1==y2)&&(y2==y3))
; i' f4 n2 Y, d* x. W5 u* T; L; T      {  }4 `: r1 a- m- y' O
            cout<<"三点不构成圆!"<<endl;( A- p3 l7 f, s7 d+ g
            return 0;# x# ?+ n/ g$ c8 ?: X0 }5 C* M
      }
8 V; b( C4 l. g7 a8 v% T3 F8 I' a      if((y1!=y2)&&(y2!=y3))& p: P- g! W4 K7 a* {
      {
' H* Y4 u* b2 e5 X9 ]            k1=(x2-x1)/(y2-y1);7 Q6 E, |3 P' |5 W% i
            k2=(x3-x2)/(y3-y2);: _" P  z3 Z. S
      }" a) t$ b' F( w2 c
      if(k1==k2)& j; H5 t3 C) g! ^2 M
      {' i5 U% e7 S1 s
            cout<<"三点不构成圆!"<<endl;
) R- ^% D! I: U" t: y            return 0;. E8 L6 ~: A8 o  y* T! {  q& d' y
      }
5 \7 ^) l8 o+ ^3 w) d- P; ]5 v/ r      a=2*(x2-x1);
- v' _/ f( w1 R1 x# Q3 W      b=2*(y2-y1);
6 M- U0 ?, R; w4 V) y      c=x2*x2+y2*y2-x1*x1-y1*y1;
* c% R9 J* x1 }+ L* a      d=2*(x3-x2);2 z) t5 q2 H# X: ?; W) Z
      e=2*(y3-y2);
; e0 X( ~/ F6 [) d      f=x3*x3+y3*y3-x2*x2-y2*y2;
( U3 d) u4 O) j! T: [1 M      x=(b*f-e*c)/(b*d-e*a);
4 Z& `9 r) z$ h+ F  O      y=(d*c-a*f)/(b*d-e*a);6 O1 y; N4 U9 w1 h# s
      cout<<"圆心为("<<x<<","<<y<<")"<<endl;9 K" D( s& Z0 n! }, U
      r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
! c5 ?& l2 n5 C/ A+ R$ a      cout<<"半径为"<<r<<endl;5 C- A+ Y  i2 H- T. E
      return 0;; V1 f) R* E& F8 @0 l
}
6 F: D% h, l8 G14,查找圆心; X1 G( x3 a5 J4 l2 B, F+ d
            UF_EVAL_p_tevaluator ;# H3 W9 q, I. ]# L5 h; N( e2 h
            UF_EVAL_arc_t arc;7 |1 J7 S/ X' P; U
            UF_EVAL_initialize(obj_tag,&evaluator);# W9 N$ U7 i+ k  V7 I  Q! o( Q; p
            UF_EVAL_ask_arc(evaluator,&arc);
8 O! H8 q0 Y3 D9 @* m            UF_VEC3_copy(arc.center,point);           
$ O' p$ |" l9 s4 ]  _% o15, message_box
  d) @  g8 r9 w/ lvoid message_box(int *res_mes)* A6 ~: J7 ^0 ^1 N5 z% @
{
6 }  S2 {8 |, O- _- d& c. V' F$ D      UF_UI_message_buttons_sbuttons;$ S* U# T4 g2 T8 X" n) y
      buttons.button1=TRUE;
+ {0 a, @4 L: H* \( u0 j      buttons.button2=FALSE;* X+ Y* h8 H: w- F1 ?
      buttons.button3=TRUE;; q2 Z* i# {4 m6 \1 v  d& M/ ^
) e8 n: e1 B/ B1 Q; V+ B5 F
      buttons.label1="OK";' l2 {$ R5 X- g7 H6 H
      buttons.label3="CANEL";
' e7 r2 ]1 L' |7 u0 x! a3 q
; j, I8 c! d# n& c      buttons.response1=UF_UI_OK;
! G- {0 ^/ c6 _' w; N6 a      buttons.response3=UF_UI_CANCEL;
9 w$ C- E% d9 P' B: \( r' u
7 p9 j* Y$ M  b4 ~      char *string_msg;
" K. \2 k) _( X8 J( t      char*material_msg="ALL selcted objects will be removed";
+ P& q0 b' w5 t- Q      string_msg =material_msg;
& n( b9 N0 u- X' n' N/ h
5 e$ w8 W$ c0 g# }4 B4 q, y6 G      UF_CALL(UF_UI_message_dialog("",5 j$ x& E' a& O9 F' C
            UF_UI_MESSAGE_WARNING,# X6 M7 n/ E7 I. l
          &material_msg,
* L5 z: P' f& E  |            1,
; k- u/ z" g% V. Y            TRUE,
' g! \% Z! {' W# f1 G            &buttons,, v5 [3 Z1 ^# h& Y2 u* u
             res_mes ));
$ ]5 M% q  a! x% u* }}' `! z$ |' ^' F$ l& H- k
16,选择过滤8 _' B; C: j8 T% x7 z- D
static int init_add_face( UF_UI_selection_p_t select, void *client_data)
2 T' B% w' t' f( @/ n# O) H{6 e. Y8 D" F; T( c
      int nums = 1;5 F- E2 K0 d! ~( v$ {5 Q
      UF_UI_mask_t masks[] ={
" m# |/ L% e) O. Z! w            UF_solid_type, 0,UF_UI_SEL_FEATURE_ANY_FACE};- i( _  ^0 I4 k
% W: h7 J0 A# o3 ]! T
            if(! Z3 r. h! e. K+ n) _% n+ f2 C
                  (UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,nums,masks)==0)
4 P; r+ O% T( k                  &&(UF_UI_set_sel_procs(select,filter_proc_circle,NULL,client_data)==0)0 h& D& c( \& F6 u
                  )
1 r& \6 ^( r$ u6 |0 d* B& E% y# h            {
  r7 r0 k6 Y( n6 m, d1 s                  return(UF_UI_SEL_SUCCESS);; e0 {# g  U# ]
            }
/ M9 W; s0 E( R0 O5 y3 z2 r) Y            else
  G9 Q/ ]$ f9 j/ T- m; \            {     8 }0 P  y* A$ m$ m9 T7 V' w
                  return(UF_UI_SEL_FAILURE);
3 \( [( u# `, X9 b            }
! h! [, w4 _6 P! M' r$ W}
9 t9 G  q2 n! v  N! a, j3 }int find_tag(8 W/ H% p5 J4 b: C* o% s- A  o
                    void * client_data,//用以传输过滤资料
3 ^3 B! N; T. \  t/ T  T  u                   tag_t object//现在鼠标所选物体ID% _8 u- I8 W: ?3 P
                   ). R# _( D9 p- V! b8 B! s4 O
{
4 u) t+ L+ g! G6 V; p      user_data *obj;
0 m) Y$ u3 S1 x8 P) U      obj=(user_data*)client_data;* V  d, q) \  Q. Z7 r" z: V
      int find_face=true;//接受
2 X! W/ E- {2 f: X  R8 L0 d      char *string1;
( B! d: k+ |+ y6 T1 K  A      string1=newchar[133];
4 e2 b2 v1 ]6 ?9 U: @5 @      string1=UF_TAG_ask_handle_of_tag(object);& n) {. @8 H" g8 o7 M
      for(int i=0;i<过滤的数目;i++)
+ G+ L4 }/ _) B7 g7 }      {
/ {6 d9 G: V+ ?4 I9 O, P+ z- \# p; n  O
            char *string2;
0 ^2 W  x0 z, Z3 z+ Y$ Y            string2=newchar[133];
3 M; x+ V$ V- [8 F7 b            string2=UF_TAG_ask_handle_of_tag(物体ID);
' r9 v& c" {9 Y" s4 n, R            if(strcmp(string1,string2)==0)
6 E: g  Y9 q5 j: z7 k            {
" X% f8 v: W2 Y- u3 ?& ^) \                  find_face=FALSE;//不接受
' P4 K2 v: B" p
) k4 X" Z0 w" e7 U: |" k. ~            }# D$ p0 T; ?1 U3 E( o
            delete []string2;
- [, s5 M9 \4 ~3 I' d- D      }
# G2 d8 H2 Y: [* C, G! L7 V      delete []string1;+ g2 N/ I% h$ w9 r6 y: z( h3 S- r
      return find_face;
4 x( n( V! V% e+ w" N3 a9 `- T9 a}) p  K$ W9 B% z. s
% A& V3 ^4 Z. {6 x
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了