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

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

  [复制链接]

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

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

admin 楼主

2015-3-2 10:31:39

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

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

x
4 X! w3 d% {" B: g  `; a
7,裁剪片体- U$ O2 |! N3 y: u3 f0 P5 w
tag_t  *trim_objects;
+ Z1 \6 [  q% c+ ftrim_objects =new tag_t[count];
+ \8 O. a, r6 d0 o: htrim_objects =bound_id;
* T0 _- [5 G/ }# p" s1 g  B( gvoidtrim_sheet()1 W: q4 g7 Q( Z6 M  ?
{( |. _8 V' M+ Y9 F+ d% y- P5 x
7 a! s. }& f; t9 G# G# _4 W
      UF_MODL_vector_t projection_method ;
7 |. O% {9 q; F) N      projection_method.reverse_vector=0;9 Y6 T% H$ X" \7 {3 R  h7 I
      projection_method.vector_type=UF_MODL_VECTOR_DIRECTION;+ Z/ N% e& h8 l. u1 P" g
      UF_MODL_vector_defined_by_union_tdir1;
# F2 S: ]; [" V1 g9 v- \9 {      UF_MODL_vector_direction_t dir2;
8 c3 m$ r6 Y+ O      dir2.xyz [0]=dir[0];2 G, Y8 L+ }4 f' y
      dir2.xyz [1]=dir[1];6 V5 T# L, x% {7 c; S
      dir2.xyz [2]=dir[2];
- N  ~+ d0 V5 d( Q1 A: d      dir1.direction=dir2;
9 V- }$ k# I7 Z. H% [2 |# _
* I7 r! C5 q, C4 p0 T& o      projection_method.defined_by=dir1;2 G9 K% ]8 |$ F2 E  _6 @6 N
1 S9 n8 l3 q; W" i5 r, R
      double point_coords[3] ;
0 g6 j& J# @: J# c0 y  }0 t  a: w0 }
/ U7 |1 c; e* o1 u) ^4 ^+ o      point_coords[0]=center[0];
. [& r' x: f- E  B. E% p. z  \6 F2 t      point_coords[1]=center[1];
, l- \8 g! k7 g  m* f3 e      point_coords[2]=center[2];+ K: w1 }! [) h8 j  x! l3 U

. d& \* F3 I! Z8 ]9 v      int gap_point_count ;4 {% s* ~5 @, P6 ~
      double *gap_points;# O* `% v$ u7 N# G+ k
      tag_t feature_obj_eid;
( b# L- e- h! L& F( U6 r      UF_MODL_create_trimmed_sheet(sel_sheet,edge_count,trim_objects,&projection_method,( t+ Z% I& n% I- E" N
                                           0,1,point_coords,0.1,&gap_point_count,&gap_points,&feature_obj_eid);
0 ~; ^9 p/ h! I2 [4 {, t7 X" ?
}
! D2 w9 n( E2 R* R! C% E0 n8 ?8,offset偏移8 T! ~/ e; e. j5 ?% {

9 K# t- E3 F4 S0 I  d  e1 d% d+ @char   distance_str[] = {"10.0"};//偏移的距离2 w- O, I- S9 W) T. F" K

# n1 B0 D5 I+ d) E9 S, R. Qint  num_curves;9 g4 l8 [0 ]' o3 A- x5 X
tag_t *offset_curves;
8 f' a$ b* j! eUF_CURVE_offset_distance_data_t  offset_distance;
$ d, P5 i# x6 Qoffset_distance.distance= distance_str;
/ C. i' [: |. f% H. h+ ^offset_distance.roUGh_type=1;
$ |7 H! b1 X6 f6 g5 e1 k9 c) rUF_STRING_t   input_string;
, I* r# F3 a5 V. ]% Zinput_string.id=curve_id;//加入想要偏移的线
) r' j" b; }' L1 j0 H( _, Minput_string.num=1; //偏移矢量方向数量
2 ~' [5 Q3 O9 E& l2 K1 Minput_string.string=&string_count;//偏移线的数量) a4 n* H, @5 [+ Q1 q
intstring_dir=UF_MODL_CURVE_START_FROM_END;8 ^4 Z8 A2 C" K9 F6 \% r- g0 B9 F
input_string.dir=&string_dir;
$ M: i9 R, K8 b- {" Z# S+ x
( Q+ ^  ], b- D- L" b2 V8 q2 dUF_CURVE_offset_data_toffset_data;
$ T1 W- _6 z/ `+ h7 v& F8 ]1 o8 v  O3 G# e* B8 y
offset_data.offset_def.distance_type1= &offset_distance;2 o& Y% [2 v* S3 A2 a$ h/ b+ U
offset_data.input_curves= &input_string;
% v! R1 T& q+ k) f  Z, M& d- V4 moffset_data.approximation_tolerance= 0.01;7 b. f& R$ a( z3 Y7 V: q' E
offset_data.string_tolerance=0.001;0 Y' h% N0 q. P- y. k  q  h7 g
offset_data.offset_def.distance_type1= &offset_distance;
: L% c: k/ C. @' B/ doffset_data.offset_type= UF_CURVE_OFFSET_DISTANCE_TANGENT;) L$ h) d' w' ]7 G& T
UF_CALL(UF_CURVE_create_offset_curve(&offset_data,8 k* X* F1 d4 Q! H5 e+ T
&num_curves,&offset_curves));
% P& @, b- Z3 s# H0 A2 L) e9,创建平面' O3 E" G  ~2 ]; r! l0 q# `4 Q4 ]
UF_STRING_tgenerator;' y! h1 D$ w& {! C
UF_STRING_p_tge = &generator;
4 y2 {6 m8 ], M4 R; r) A3 ]2 M7 ~$ Q) Y7 C. w* {  i
UF_MODL_init_string_list(ge);
6 b. j5 a& _: n& w: k: xUF_MODL_create_string_list(1,12,ge);
6 T, e6 B+ o$ q( T( I3 N9 D5 ^0 b- I- ?9 A
ge->string[0]= 1;
; F  m2 h# p: pge->dir[0]= 1;//指定线从开始到结束
6 ^' x# m& A* _6 F. l. tge->id[0]= arc_id;//指定边界的id
8 |6 s1 X4 ?- T# V% W% Xdoubletol[3];
0 \3 j" O6 ]- u4 m: r9 @tol[0] =.001;//直线公差
6 r( s/ n4 V. U. Ytol[1] = .5* (PI/180);//圆弧公差
9 \+ Y! h* r3 r1 s/ Htol[2] =.02;//不起作用
( K: G; b& w  s8 x* ~2 I  dUF_CALL(UF_MODL_create_bplane(ge,tol,&bplane));
/ f! a! }: r  B. K' k; O10,选择
  r, Y# Q" Q: d/ u1),点选择
$ U* @9 P! b) L' Btag_t point_tag;
0 Z; r: Y, D" s0 q) zdouble point[3];& a& L. q. x; k6 f( s
       UF_UI_POINT_base_method_t  base_method=UF_UI_POINT_INFERRED ;  ' N- i! u; w/ ]: D' Q4 q* u4 M
       intpoint_res;! A- U8 D* h1 C3 b" H9 @* i

! |' t0 h# B7 G8 E, t+ S4 |UF_CALL(UF_UI_point_construct("选择起点",&base_method,&point_tag,' O, I# i  [* r5 g' Y9 [
point,&point_res));, ^5 d( {! b: |
if(point_res=UF_UI_OK&&NULL_TAG!=point_tag)
. l; k6 d3 y+ Z{
6 t, Y4 }% @' ?( ~ }" r8 i3 `9 ^+ {( R' q2 B: `( b
2),向量选择
! o: s5 ]" ^7 x     int  mode = UF_UI_INFERRED ;
& }: H$ A7 L+ M2 E/ V) g     int  disp_flag = UF_UI_DISP_TEMP_VECTOR;
7 _/ b3 S8 p0 l4 Ndouble vec[3];; m; R/ s7 j5 C9 n, i: M3 G( p# C
double vec_pnt[3];
) f9 r: s' X! Q4 }int res_vec = 0;6 _6 p) o1 q0 _4 Z; H
     UF_initialize();  
2 X( s/ i& c& j5 g* ?4 W     ifail=  UF_UI_specify_vector( "Choose aVector",&mode,disp_flag," l6 h/ d  O- u/ o
           vec,vec_pnt,&res_vec);
6 K6 M+ H" v$ l% y+ W     if( ifail != 0 || res_vec!= UF_UI_OK )   5 S% C' m# [4 Y  l, |+ y. L
     {     
; d, O" j6 @, \1 b6 w' \           UF_UI_ONT_refresh();
2 n7 I9 ~0 w7 d           printf("No vector selected \n" );7 R. g4 G( V* c5 E, H, Q) u$ A6 h
     }+ X5 d( S8 \+ U2 ^6 `
     else
  S7 X- d3 [) I     {* u# X& y  P- T7 K0 p+ x0 d9 ~: t
           printf("Vect base (%f, %f, %f), direction (%f, %f, %f) \n",
$ V6 E0 s" d. t0 l& [* W6 A                 vec_pnt[0],vec_pnt[1], vec_pnt[2], vec[0], vec[1], vec[2] );' r! Q: V4 }, E' N
}
6 w% `7 q) H, A3),平面选择
2 |: j: ~0 i6 X2 Ptag_t plane_eid=NULL_TAG;. l6 ~9 {+ ?6 R
double orientation[9] ={0,0,0,0,0,0,0,0,0};
$ X. `* l) o- O7 h   double origin[3] = {0,0,0};
; @! E) r5 M6 c8 j8 e) Y   double pts[6] = {0,0,0,0,0,0};
! H/ G$ {. O- h   int i, error_code = 0;
5 H# q  {8 V, y: V   int mode, display, response;
" |! e+ p9 c# E) L% ?; f; H   mode = 1;                    
/ n; |- A, k' mdisplay = 0;      
1 v4 p' k, w9 g$ Y* a& x" pUF_initialize();
0 E! W! F7 h4 Q* |   error_code = UF_UI_specify_plane(
" n  o! T! z# E5 A         "Select Plane", &mode, display,8 J8 r, z, V' j  S+ P
         &response, orientation, origin,&plane_eid);
& w. q) h  @8 }" {5 ~5 e, R( ?
, x0 r; J  Y# j& ^1 B, g   if ( !error_code && response != 1&& response != 2)9 G( |8 ?! K; X2 s
   {
$ d. a0 r& R, v. R, ^- J                     for (i=0; i<3; i++)! P/ X: e% `& `' {$ H
               pts = origin + orientation;
. {- m$ j0 ^2 O' e                     for (i=3; i<6; i++)" K$ ]) t) Q. a' D# r
               pts = origin[i-3] + orientation;
7 _# Q. b! k. i6 T! h         FTN(uf5374)(origin,pts,&pts[3],&plane_eid);4 ?/ ^9 O; A: s# z4 ]% F
   }1 ~* P3 S5 N: O5 Q
11,临时点,线4 w- B' v9 @: V' n6 e
void display_temporary_point_line (double point1[3], double point2[3]). r& C, Y; |- D5 [
{) E1 ?1 w1 ^/ Q6 E9 ^. }* x2 d
  UF_DISP_view_type_twhich_views = UF_DISP_USE_WORK_VIEW;: Y# ^$ s6 p, i1 n) b, A. l
  UF_OBJ_disp_props_TColor;
9 e/ R6 r$ I: z0 r1 {) I  color.layer= 201;3 X- ^6 P. i/ f
  color.color= 186;
5 {9 M$ g. ^+ R" l' ?  color.blank_status= UF_OBJ_NOT_BLANKED;
( _4 G! f% ?. e; J/ |; O2 F$ ?; j  color.line_width= UF_OBJ_WIDTH_NORMAL;
2 p; O; n0 Z- T# x+ a& y* d. m+ B8 x  color.font=0;- m: }- t6 G0 D8 b  t/ n, U$ ?0 w. Z; F
  color.highlight_status= FALSE;
* a+ E+ N; x% U7 _1 J  UF_DISP_poly_marker_tmarker_type = UF_DISP_POINT;2 v' Y3 H* L1 y/ F# u) Q4 l5 l/ z
" p5 y" X0 R* ?
UF_DISP_display_temporary_point ( NULL,which_views, point1, &color, marker_type);
1 ~5 b9 k' L* u0 f. t0 o2 xUF_DISP_display_temporary_point ( NULL,which_views, point2, &color, marker_type);
0 ?) a5 Z7 y" K' w8 d+ Q8 }4 IUF_DISP_display_temporary_line ( NULL,which_views, point1, point2, &color);
; w3 K5 o+ f/ m) P. F4 K( k}
4 q9 N( g% Q; L6 U12,WCS与绝对坐标转换
7 u; q9 U0 v" P8 W                        voidcycs_wcs(double point[]). H- j# T# d+ A$ N3 c: `( \6 T
{! F" R1 b, N8 D; b
      tag_t  wcs_id,matrix_id;
7 T0 i' Q' Y$ f% v  ^0 |      double matrix[ 9 ];9 F+ O  F- u" a' V3 Z% h# g
      //wcs_origin:工作坐标系原点,vec:工作坐标系轴向量,point_origin:点到原点的矢量
8 U$ W' s. P) X5 h3 Y      double wcs_origin [3],vec[3][3],point_origin[3];
+ a: `- M( K% s  v6 C; n      //1,得到工作坐标系4 M9 l- E9 ?  _, T$ {0 ?+ J
      UF_CSYS_ask_wcs(&wcs_id);$ n3 U7 T6 `. v' W) I  M9 D
      UF_CSYS_ask_csys_info(wcs_id,&matrix_id,wcs_origin);                    
9 i4 w/ _) X  r  V6 {      UF_CSYS_ask_matrix_values(matrix_id,matrix);
6 e8 Y+ i& S6 i: r; h, |2 B7 p4 P( |6 Z
      //2,得到工作坐标系轴向量2 r& T8 G7 P, p0 t
      UF_MTX3_x_vec (matrix,vec[0]);0 e9 H1 l0 g( [3 k0 ?, a. v5 ?* x" V! w+ b
      UF_MTX3_y_vec (matrix,vec[1]);0 S3 c8 d: b# v) K
      UF_MTX3_z_vec (matrix,vec[2]);
3 K" x; J; ]/ p8 e0 ?: U2 v& L/ H; b
' J! W+ w* E, L& J% j6 e5 w      for(int i=0;i<3;i++)& A. |( `+ A3 R% U; j
      {     ( C4 H% p5 }! H$ w3 m9 ~/ x
            double tol;# x" W1 e  ^7 H
//3,得到点到工作坐标系原点矢量
- M. f3 w5 j; X# ~6 t( e2 X            UF_VEC3_unitize(vec,0.000001,&tol,vec);$ T  B6 c& L% ^( e! ~6 q
//4,得到点到工作坐标系原点矢量
2 v( Y7 A! ?- M$ e9 U            point_origin=point-wcs_origin;
3 p0 ]7 v0 |1 C4 F. \1 h8 ~5 K      }
( ^0 _6 m. S5 g$ A% w      for(int j=0;j<3;j++)
% @2 i1 p' f0 A' r2 k      {
/ n8 m* U  k$ U% X. V            UF_VEC3_dot(point_origin,vec[j],&point[j]);' S9 Y& l0 n# }9 j
      }; M: C: F# K! v& Q
}
4 a7 t: O. F7 P% v' b13,三点求圆心
: R# K% D0 I, N$ Y0 e8 ^3 u#include<iostream.h> 1 x- h+ G( i; G: l& B
#include<math.h>
6 v! w4 K6 A% i% {
0 A, u, B. h" D9 }int main()
2 C5 W) I- }/ R1 N# u{
) b6 w! l1 h5 K9 M" b/ r      int x1,y1,x3,y3;
0 O  W7 l: ?" p$ q3 z* z3 \      double a,b,c,d,e,f;
: v" V3 k1 k( ?$ E      doubler,k1,k2,x,y,x2,y2;4 b* M8 {! ?' `* C3 w6 R2 ]
      cout<<"请输入x1,y1,x2,y2,x3,y3"<<endl;
2 u8 o- r- ]) o' |7 F      cin>>x1>>y1>>x2>>y2>>x3>>y3;# y4 m+ ^* g& F3 Z7 \6 B7 l/ v7 Q) I% o
      if((y1==y2)&&(y2==y3))# u$ Q2 D1 d/ i
      {# C$ E6 |) a, o9 n
            cout<<"三点不构成圆!"<<endl;
* ]1 N( W6 }5 d) Q/ |            return 0;2 @7 X% O0 p# D" [) F( J% W
      }
# ~# K7 y7 V: z      if((y1!=y2)&&(y2!=y3))% [* A# }& k( Q% n; d
      {
2 m. |" Z, V9 c" f6 Y7 |            k1=(x2-x1)/(y2-y1);" u/ ^6 k! }! W$ I: v. L; y; V- }  ~
            k2=(x3-x2)/(y3-y2);2 Y6 \3 z; ~: R  ^% X3 b
      }
/ G5 X$ g4 C9 _. O% }2 R- G. l      if(k1==k2)+ {& w' T2 Y" L% M
      {5 h3 I5 P0 f% B' V, o: r  `
            cout<<"三点不构成圆!"<<endl;6 M3 y/ h: r# n
            return 0;2 Q2 O2 N% m* E) I- K- _0 x! a
      }* z" _( O( u" D7 w; I; w8 K4 c
      a=2*(x2-x1);; W+ ?: u% @& I; L( G6 R+ Q
      b=2*(y2-y1);" }9 J4 S) q8 H8 X+ V3 C; u: M
      c=x2*x2+y2*y2-x1*x1-y1*y1;
, L+ t+ I2 |" y6 s2 I! @( }      d=2*(x3-x2);
) Y% B6 W( q# \& e! }; |" V* R6 N      e=2*(y3-y2);
0 g$ u1 Q) u) S      f=x3*x3+y3*y3-x2*x2-y2*y2;
" O" D3 D7 g2 `+ |6 ]      x=(b*f-e*c)/(b*d-e*a);
( E, w: H, {& U: P2 ?8 ~      y=(d*c-a*f)/(b*d-e*a);
- H2 Y( X( T( X% l" B  h      cout<<"圆心为("<<x<<","<<y<<")"<<endl;
. j- u* y& Z: a1 _$ [- Q& I      r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));0 `3 Y. H# V% g0 l. Q
      cout<<"半径为"<<r<<endl;
8 O7 p, R* {4 \. f( X( q6 c5 I& i      return 0;
" v& |; a) D6 b9 j/ u}
4 `6 d$ M4 Q$ p; {- P14,查找圆心
7 y, h1 b. ^5 j) P0 Y3 Y  ~            UF_EVAL_p_tevaluator ;" w/ M3 o+ @) m
            UF_EVAL_arc_t arc;
  K# n2 a5 ^; w            UF_EVAL_initialize(obj_tag,&evaluator);
  Z4 H. d9 y% U& N% ?            UF_EVAL_ask_arc(evaluator,&arc);* R) D0 T* J+ I& x" p6 {' `
            UF_VEC3_copy(arc.center,point);           
, x- A# x3 B2 U8 [/ a' J0 {15, message_box! l/ D- t! w7 h  W) O+ W
void message_box(int *res_mes): A9 H2 D% D9 z3 Y0 Q8 N
{
  Q8 B! d$ X- v) a' G; K+ e+ l4 F      UF_UI_message_buttons_sbuttons;
; t  b* i9 M# u% D: H/ ^7 p- b6 E8 d6 N      buttons.button1=TRUE;
$ ^3 j4 B6 P; O+ ]1 Z: \# }) }& }      buttons.button2=FALSE;" w- ^' B; |& x5 |! ~- [
      buttons.button3=TRUE;- j$ z* B- O) t4 I: ], D& \
7 M, H. O  b: @
      buttons.label1="OK";6 \) M  A8 M3 D
      buttons.label3="CANEL";
' R% ~& p, U% O
# x5 d8 o. d' E* Y& g9 l* D      buttons.response1=UF_UI_OK;7 Y6 k. m" O! c$ [; d2 g5 g% d
      buttons.response3=UF_UI_CANCEL;0 v8 m( `. o! \! B0 `
) a- `% a2 S8 a6 k7 L* x
      char *string_msg;- o9 `+ I, M/ U& e# a5 u
      char*material_msg="ALL selcted objects will be removed";
* P$ \" P  }  n) O      string_msg =material_msg;
4 G7 D6 O: o$ ~# o" q# s
: O  D, S2 u" d4 A5 S9 F" @      UF_CALL(UF_UI_message_dialog("",
9 c" F( r8 N: E# J# Z            UF_UI_MESSAGE_WARNING,; Q" \/ j' B' v( T0 K  C
          &material_msg,8 K4 s; G$ |' W5 q. J7 m
            1,4 B  s% `7 m' E1 @  q
            TRUE,* q5 ^9 U- _# A* w
            &buttons,
* R+ H& ^( {, {             res_mes ));# V& Y% v- B$ [: z4 b, b, @
}5 @- z! R! T. l! B: [
16,选择过滤4 _7 A$ s8 T4 I- }6 Z, {+ [
static int init_add_face( UF_UI_selection_p_t select, void *client_data)
- {# Y" n7 U$ |! t{9 e' Y1 h$ I7 Y! E
      int nums = 1;! \; A2 m3 @7 |# Z) a1 \
      UF_UI_mask_t masks[] ={
/ A& p, x9 C6 A; `            UF_solid_type, 0,UF_UI_SEL_FEATURE_ANY_FACE};+ t& c0 i& ^- O7 q" m

6 ~% p0 T4 J4 j, O9 w9 l- n- _' g+ M  E            if(
6 j& ?: L. `0 ^) t2 k                  (UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,nums,masks)==0)! T9 e. D1 s6 G* n; X
                  &&(UF_UI_set_sel_procs(select,filter_proc_circle,NULL,client_data)==0)
- B! ^* n  t* t                  )
; d) [* `- u" @: c5 O" k            {% \3 X6 V# p2 M
                  return(UF_UI_SEL_SUCCESS);
5 d7 V7 X6 C. y. _5 d5 O8 _0 o            }
( d* z' M8 T4 T- P            else
: g) g' K, J: f  z            {     ' e. ?- K4 x3 j' k* A/ e
                  return(UF_UI_SEL_FAILURE);
7 y7 R: y; w/ ^9 e3 }. M            }
9 r( v6 q' b6 v4 y/ M. N8 `  h9 `}+ ?, D5 p& L5 w$ @6 P
int find_tag(+ P9 ~" l! e  D& s0 u
                    void * client_data,//用以传输过滤资料1 c+ N" \9 L' @; r; r
                   tag_t object//现在鼠标所选物体ID; ?' D* p. R: v: [
                   )! K  c$ }; M/ H
{0 p" Q  A. d. z  v- N
      user_data *obj;( W* \! p* z& J! Q% b# k
      obj=(user_data*)client_data;
: g0 ^# n6 o) M1 I2 [! k4 m      int find_face=true;//接受
% O7 ]5 y% L3 L, V      char *string1;" o( f( U- c7 @8 q! D$ h9 [2 h0 M7 [4 c
      string1=newchar[133];1 h* a" w" @; R: ?+ v$ S
      string1=UF_TAG_ask_handle_of_tag(object);
0 {. P4 c- H3 b5 s! ?      for(int i=0;i<过滤的数目;i++)
  f7 y5 @" O% ~" I* g4 q; b( T4 G/ }      {
. I  `- I7 B- L+ q1 t( h& `
9 i# [# H8 Q( q$ p) }/ j            char *string2;) y. T5 e, b! u- H
            string2=newchar[133];5 x3 A0 X, r- o' w) [6 J+ d, _
            string2=UF_TAG_ask_handle_of_tag(物体ID);+ g% u5 H. v2 d# [9 ^
            if(strcmp(string1,string2)==0)
2 g9 W+ h9 k( Z            {+ T; W1 A  B5 G' ~5 q: f( s
                  find_face=FALSE;//不接受, A' p* q; w7 L. S$ w7 O/ K
# g6 c% f, l2 I9 S5 m
            }; W3 T# `9 M- ~+ e  w9 k& f
            delete []string2;
, @& O8 @' d$ D, d2 z      }: H+ U2 \! [- |6 M5 ^3 {8 h  i' b
      delete []string1;$ E! f" p$ Z3 G0 j! H7 H$ }
      return find_face;
7 Y$ \3 H& {; Q  D}
; {( }* Y4 X1 Y0 a$ h" _
! Z' q  F1 }0 b7 ^6 Z- m
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了