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

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

  [复制链接]

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

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

admin 楼主

2015-3-2 10:31:39

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

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

x
. Z7 J, l: s9 ~7 n; l% P$ `8 p
7,裁剪片体1 m0 F) N, B9 E: E5 ^3 s
tag_t  *trim_objects;
" ?' i+ n$ @# O5 v% otrim_objects =new tag_t[count];, \; T& h5 u& J( U: r$ A1 E
trim_objects =bound_id;+ r9 Q" i$ }, J% N' \
voidtrim_sheet()7 U0 ?+ K3 H7 m  }' c. W& Q' _( P/ F
{
% S4 q" \4 @. D& D6 P& ]+ ^( p$ O- q! y! E  b: Z$ q
      UF_MODL_vector_t projection_method ;  A; z4 |0 S, a+ p  Z0 a
      projection_method.reverse_vector=0;* A+ V: `3 s; d3 ]$ z
      projection_method.vector_type=UF_MODL_VECTOR_DIRECTION;
; X; r+ M9 t# }0 N6 y# Y2 u      UF_MODL_vector_defined_by_union_tdir1;$ \$ }) G6 N$ J# T' d
      UF_MODL_vector_direction_t dir2;' m1 G8 Y% M2 g& |8 B: @6 l) K
      dir2.xyz [0]=dir[0];7 K( ]$ a) H8 Q) N% r5 R" y
      dir2.xyz [1]=dir[1];
& B4 ?  V* `* w- X' q( P      dir2.xyz [2]=dir[2];
, e8 }: r0 p. ?+ H      dir1.direction=dir2;. j' p% G3 C! Q
$ Y9 W4 f! A5 ?$ F* ~. j' N
      projection_method.defined_by=dir1;
. y' O+ }5 O3 L0 D7 H) [4 s; V. o- L) A0 [' n  ?# y- s. S
      double point_coords[3] ;
. N* i, v- i: L5 ?+ }  j# _3 }, y) I
      point_coords[0]=center[0];
- d6 Y  ~  }* S( [      point_coords[1]=center[1];
) Q) r4 i$ J5 M+ {: \      point_coords[2]=center[2];4 X0 X0 B: e1 R! r# p! ~9 u* @$ ?
' I0 j9 w/ W* p4 _5 `' }
      int gap_point_count ;% _& s  N9 |! V
      double *gap_points;* r3 M6 C8 m3 r7 n
      tag_t feature_obj_eid;
. [) h7 m% G6 Y! I& S( Q2 e      UF_MODL_create_trimmed_sheet(sel_sheet,edge_count,trim_objects,&projection_method,4 g7 h* c) Q8 |  ^
                                           0,1,point_coords,0.1,&gap_point_count,&gap_points,&feature_obj_eid);
) r* Z+ Y7 ~# B* q7 ^' \
+ ~; D  p9 I: Z1 P6 a: Y* F  l% `}
8 G- m. V. X: \3 @& p. `9 I8,offset偏移
; n, @  p% S, N) V$ c9 U# a! E, Q+ J! n( N  V7 ?/ o0 B
char   distance_str[] = {"10.0"};//偏移的距离1 E! j7 m0 I/ z% _! D0 W/ O

5 p) f+ F2 B6 g% {' t& G) Sint  num_curves;$ C+ }$ f/ ?. H, Y
tag_t *offset_curves;  z* }" ^0 V6 q7 m
UF_CURVE_offset_distance_data_t  offset_distance;
& E2 ~. g7 A( z. G8 p  ?offset_distance.distance= distance_str;
$ P# K0 ~0 ^8 V1 R4 ]offset_distance.roUGh_type=1;, V$ X  T5 |) V! d' L- G
UF_STRING_t   input_string;
/ ~8 O9 l( I# o- m% ]5 _' l- finput_string.id=curve_id;//加入想要偏移的线
: J* z- V8 v6 G3 ainput_string.num=1; //偏移矢量方向数量
/ e4 p3 N2 U$ j6 s  j" `) S* Yinput_string.string=&string_count;//偏移线的数量+ `$ c3 H  ?* U: B0 P+ }9 Z5 w
intstring_dir=UF_MODL_CURVE_START_FROM_END;
# ]% j) m% u$ G% P$ F7 L7 U1 C% v! Minput_string.dir=&string_dir;3 B7 `$ j% z% c. d: e" P% ^

- s" j3 N* m9 V4 p$ @UF_CURVE_offset_data_toffset_data;; \( G1 e; G  N1 F) q/ C- C2 t
+ q8 I; c- ]8 ]6 {
offset_data.offset_def.distance_type1= &offset_distance;
8 p* k0 a7 w& D+ {8 z  K, [) _offset_data.input_curves= &input_string;
( N  J* C4 `/ n! J- A8 ~& Doffset_data.approximation_tolerance= 0.01;+ l7 h. T# w1 b- q
offset_data.string_tolerance=0.001;
1 ]- Y# m( e* D( f' r, R# V0 }" Y4 Doffset_data.offset_def.distance_type1= &offset_distance;0 G! x" }8 O2 N0 r) \; q  |
offset_data.offset_type= UF_CURVE_OFFSET_DISTANCE_TANGENT;
* @0 `$ j! C( o9 V8 sUF_CALL(UF_CURVE_create_offset_curve(&offset_data,
/ p$ z# p. G8 `, ]+ X&num_curves,&offset_curves));
' d" X9 n( m3 _: ?5 z5 i( i9,创建平面8 I6 S( O; Q' R9 A- J4 v
UF_STRING_tgenerator;$ E9 r7 f9 v( q% L0 f
UF_STRING_p_tge = &generator;0 T0 w+ a9 r( \! [! ]- t

9 J( R0 a& ^& L( |% [7 a% jUF_MODL_init_string_list(ge);
* j/ X% i( f8 K0 P* u1 G. L1 ^- kUF_MODL_create_string_list(1,12,ge);  x* G$ I: t% p4 \, m4 K0 r- g9 `

0 \9 l& H6 u' I# a/ |) Zge->string[0]= 1;( G" O7 W& A; l! @& M
ge->dir[0]= 1;//指定线从开始到结束; F- Z; T0 X0 J0 l3 |
ge->id[0]= arc_id;//指定边界的id
) F/ k; {9 E" @+ P3 Q' l4 tdoubletol[3];
2 `6 Q0 a* S1 ?* H! o8 ytol[0] =.001;//直线公差
6 E  r& o$ }+ a, Y: c' l7 qtol[1] = .5* (PI/180);//圆弧公差
+ N3 d) j: ]. ?! N: ]tol[2] =.02;//不起作用
+ Z, @0 I  H) SUF_CALL(UF_MODL_create_bplane(ge,tol,&bplane));: {+ D/ u5 R# [
10,选择
6 f+ C  }- {0 Y1),点选择
; I+ g4 K: V) b5 j- v" Etag_t point_tag;& w" B9 R0 L* C" D
double point[3];
5 ]: _0 d1 B9 U' ?! R       UF_UI_POINT_base_method_t  base_method=UF_UI_POINT_INFERRED ;  ( Y  U6 V  e# S  x6 W! K1 H
       intpoint_res;
+ ]5 G- `$ }6 I/ i. \0 R, f/ A" x! D/ c( T" |9 w
UF_CALL(UF_UI_point_construct("选择起点",&base_method,&point_tag,- r: F/ k' K8 R0 K: \
point,&point_res));
) E4 \' ^9 Y' Xif(point_res=UF_UI_OK&&NULL_TAG!=point_tag)
  x& q" j$ Z0 y$ j- H5 x$ i{
: q1 \5 Z4 w% C( T' @ }
9 l" l" q* h2 f9 C2 }" Q1 u. f7 b2),向量选择# Q% M: T! J' ]2 e/ f' r$ `; ~- Q, q9 j
     int  mode = UF_UI_INFERRED ;; z# @& Z# ^8 w+ y' l$ A8 x9 S5 \
     int  disp_flag = UF_UI_DISP_TEMP_VECTOR;
1 {* i3 |& y9 }9 S& S5 Edouble vec[3];
* z2 ?4 A1 C7 F/ }* G$ [double vec_pnt[3];! _, i( j5 h6 y! |* M! M% R5 S- {
int res_vec = 0;  G4 W5 z) R0 m  e! ]7 ]
     UF_initialize();  
: p% \: g) V1 I     ifail=  UF_UI_specify_vector( "Choose aVector",&mode,disp_flag,
) n: a" H2 J7 R0 d9 [% S           vec,vec_pnt,&res_vec);
& N4 F  E4 I, }3 k8 J     if( ifail != 0 || res_vec!= UF_UI_OK )   + ?1 \5 i: z4 X+ \
     {     
: y' E; H, J! V1 R8 K           UF_UI_ONT_refresh();
( g+ C& }$ q- }5 N           printf("No vector selected \n" );
8 g! [4 S0 }" Q5 E5 E+ z     }
( P, q" ?. z$ e5 p# w2 r% A. V2 H     else4 w1 ~9 C: Y% F* N% X2 g
     {
5 Q% l- n2 \/ {5 s! }6 O           printf("Vect base (%f, %f, %f), direction (%f, %f, %f) \n",
, e% g  A2 I1 S3 z" i% q                 vec_pnt[0],vec_pnt[1], vec_pnt[2], vec[0], vec[1], vec[2] );! }( C4 I- U/ Q
}
6 e+ H& g8 S  y" r; P0 k9 B3),平面选择$ _( J9 v' m. }4 q% b* l/ r
tag_t plane_eid=NULL_TAG;! K+ H& H% j: r0 X# l* J
double orientation[9] ={0,0,0,0,0,0,0,0,0};
( ]/ F) R" h% R1 j! J8 R   double origin[3] = {0,0,0};
4 q4 _+ o( h6 b4 H, g   double pts[6] = {0,0,0,0,0,0};* _9 W" r4 n0 \+ W
   int i, error_code = 0;2 ~' [* ~+ ^+ W
   int mode, display, response;
: k6 ?  F5 i0 Y; l! {# T   mode = 1;                    ( D1 B7 r- r3 r/ x4 h+ B$ z
display = 0;      
" ]5 d  B+ u: V+ f% VUF_initialize();7 E5 j7 C- F2 m4 v& |/ M/ U; N% d
   error_code = UF_UI_specify_plane(
, f) n- Z9 p8 a8 |- E% T. C9 z0 k$ L         "Select Plane", &mode, display,7 }4 I  h! d0 r
         &response, orientation, origin,&plane_eid);
' z& J* c& S, ^) L' V4 p8 ]
* y% y) a4 @7 q  T, T   if ( !error_code && response != 1&& response != 2)
- U5 N: |7 g0 }& i4 ]0 P1 g4 J   {
  ~+ Q+ i7 J3 h: X( g                     for (i=0; i<3; i++)
6 s; A9 W# Q$ s+ D+ M/ M! [               pts = origin + orientation;# O7 y- `# s1 H9 k( _3 K$ a
                     for (i=3; i<6; i++)/ n+ @* m7 [: a1 \
               pts = origin[i-3] + orientation;, Y0 G6 R6 `  P7 [# w: n  O
         FTN(uf5374)(origin,pts,&pts[3],&plane_eid);3 a5 `4 j- L  E/ z; P6 S1 ~4 v
   }
" V. }3 ]2 c$ S: j! a; Z11,临时点,线
4 @; y( e* W( t* F7 }) z- w* xvoid display_temporary_point_line (double point1[3], double point2[3])9 {" \) ^! S" m: l
{
( Y; H+ h; v7 k$ p' X2 A; j% e2 G  UF_DISP_view_type_twhich_views = UF_DISP_USE_WORK_VIEW;# M+ {7 M5 o2 e0 L( [6 T8 J
  UF_OBJ_disp_props_TColor;
+ w$ \8 O4 Z; c  o3 q; [  color.layer= 201;
( x) \9 K) N8 U, F% w+ Q4 |" z  color.color= 186;& r% {% d9 j, W- w6 _0 O; m
  color.blank_status= UF_OBJ_NOT_BLANKED;  r+ X: H" q2 ^9 o
  color.line_width= UF_OBJ_WIDTH_NORMAL;: |; K: g/ S1 B8 N
  color.font=0;
, K  Z1 B! x, ]! k' ~  color.highlight_status= FALSE;
6 }) z' d- o7 B2 Z. N9 Z/ {  UF_DISP_poly_marker_tmarker_type = UF_DISP_POINT;
, [; A* ~8 c* T/ ~
9 y) r4 \. @3 z. zUF_DISP_display_temporary_point ( NULL,which_views, point1, &color, marker_type);
' `. i, |4 n0 Q7 h* N  B/ r/ oUF_DISP_display_temporary_point ( NULL,which_views, point2, &color, marker_type);
& [4 S6 `& W$ b0 w( t, FUF_DISP_display_temporary_line ( NULL,which_views, point1, point2, &color);
. V& j6 u: Z: |) ?% J}; U2 J3 y4 S1 U. C& d
12,WCS与绝对坐标转换/ [( e  X0 l% z: G
                        voidcycs_wcs(double point[])
# M( u: I4 I2 m4 x{# z/ n* k! l& F, K- f" u$ I4 |% L3 E
      tag_t  wcs_id,matrix_id;( {8 x- t* u$ P/ w, o
      double matrix[ 9 ];
+ J8 f& \) d1 l7 [9 z3 k      //wcs_origin:工作坐标系原点,vec:工作坐标系轴向量,point_origin:点到原点的矢量
6 p$ Z. o, c- _! Z      double wcs_origin [3],vec[3][3],point_origin[3];
, J, G) E, s4 i/ a: ^      //1,得到工作坐标系
8 s: ^) [4 c( v1 X      UF_CSYS_ask_wcs(&wcs_id);2 e0 Q! q2 Z; `. l/ g# X
      UF_CSYS_ask_csys_info(wcs_id,&matrix_id,wcs_origin);                    + k$ Z9 G! [$ g
      UF_CSYS_ask_matrix_values(matrix_id,matrix);+ v" o9 Q; V& O. u9 r" o

+ g* h1 ^# P# h      //2,得到工作坐标系轴向量) E; K( \, q' A; w, V) k  M
      UF_MTX3_x_vec (matrix,vec[0]);1 w$ H! ~' _$ Y8 @1 \, t! d: B
      UF_MTX3_y_vec (matrix,vec[1]);) H- z+ g# G2 Y5 \
      UF_MTX3_z_vec (matrix,vec[2]);
2 }0 k8 g4 n9 G! w! q( J$ g; H& R4 F! L7 \7 m- j8 m& J
      for(int i=0;i<3;i++)
( f9 v) |/ O) C7 v5 z: O, r      {     
: ?  h- O& C+ V% q            double tol;$ Q) Z! c( _8 L. n
//3,得到点到工作坐标系原点矢量% J  N" c# C- _" y9 p5 g
            UF_VEC3_unitize(vec,0.000001,&tol,vec);9 o: p* Y2 f! ~- T
//4,得到点到工作坐标系原点矢量! A0 N0 E- E- D" S7 k  Y
            point_origin=point-wcs_origin;4 k6 X: W) a& o4 q+ J8 q
      }
8 }/ _7 z4 d; B8 M      for(int j=0;j<3;j++)8 }7 |7 j, q; a
      {5 l( l  n# g8 d, \6 ]  Z
            UF_VEC3_dot(point_origin,vec[j],&point[j]);* Q- c: I$ \8 m6 I( t% @5 Q# S
      }
6 w$ x4 I4 h# m3 ?! W( L& W/ h0 d}2 y) g" F# m# ?
13,三点求圆心# d  T+ \/ q: I: S7 A
#include<iostream.h>
' l* j( M4 C9 q#include<math.h> - G- u& Z# P$ G6 p# W

: Y1 u3 q3 r" N& `4 |int main()0 y3 O. o6 u1 `1 Q+ I
{- e2 H2 g4 Q: h/ b
      int x1,y1,x3,y3;8 @3 S/ U, i' L+ Y4 p# R& }
      double a,b,c,d,e,f;
! U9 p, d  L0 M( ?( t% s      doubler,k1,k2,x,y,x2,y2;6 c- a4 |! b8 n  v
      cout<<"请输入x1,y1,x2,y2,x3,y3"<<endl;9 A1 K$ p4 X( R
      cin>>x1>>y1>>x2>>y2>>x3>>y3;* }* u; D7 i. S# d7 u
      if((y1==y2)&&(y2==y3))5 B" z) v( |. w9 q" B
      {
. j1 Q% S) Q! k; t9 @) L5 E            cout<<"三点不构成圆!"<<endl;/ T7 v! j( \1 `+ G0 [2 I
            return 0;
" ~" O0 F4 W: [/ w5 H5 ]5 C      }
5 a- o4 s: {0 a1 L- S3 _8 n      if((y1!=y2)&&(y2!=y3))0 M2 w* U2 R7 [; `
      {
: R' L0 |2 M' O9 v            k1=(x2-x1)/(y2-y1);/ s2 a" C. Z% G2 p
            k2=(x3-x2)/(y3-y2);) U/ |# R  J6 C, W
      }
; b  z$ ]- K' l. o, s. [3 M      if(k1==k2)% N" }' i; Z' E) s8 d& Y% H
      {
3 \  `! K1 ^* v) z            cout<<"三点不构成圆!"<<endl;
* U2 j3 A- N2 ]4 d$ S            return 0;9 l* @0 N, l, D8 W+ X
      }
0 k+ C) u7 y4 L9 Q6 D: \      a=2*(x2-x1);8 p4 a/ b0 @7 b# u; `& X
      b=2*(y2-y1);1 g4 ?. L8 p$ E0 f
      c=x2*x2+y2*y2-x1*x1-y1*y1;
* j( G, a: T0 ]0 R! Q      d=2*(x3-x2);  O5 D" Q+ j7 i; I1 V
      e=2*(y3-y2);2 \4 f& b( D% h/ I5 K. }0 u8 E0 W7 s3 m
      f=x3*x3+y3*y3-x2*x2-y2*y2;
0 q5 w3 k7 W& k      x=(b*f-e*c)/(b*d-e*a);
- G% ~- o+ J. m0 A7 i      y=(d*c-a*f)/(b*d-e*a);7 M: E9 f6 M8 U7 E) B+ W" h/ d5 L3 X
      cout<<"圆心为("<<x<<","<<y<<")"<<endl;
* t4 o0 N8 y5 j; t) f& |      r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
% O- i" D4 P( D* E% Q      cout<<"半径为"<<r<<endl;
1 X" o8 m% m; C      return 0;: q6 p# P7 i" j; g3 M. a) x1 `- P
}9 _. Z; q) O% C9 _& S; j
14,查找圆心" ]" l; O; z& b/ U
            UF_EVAL_p_tevaluator ;
1 N& n! D7 d  V7 _# l            UF_EVAL_arc_t arc;
5 K% g) I  ?2 j# g% L            UF_EVAL_initialize(obj_tag,&evaluator);3 s: ]# c$ \( x
            UF_EVAL_ask_arc(evaluator,&arc);& g* o& @6 a3 f: \5 X
            UF_VEC3_copy(arc.center,point);           
" }) z8 p& {1 c) P# D15, message_box
- U1 D9 L4 ~- _4 A4 I/ _8 Zvoid message_box(int *res_mes)
+ t$ u6 H3 s( R  j& l8 M{; ?/ l& B  q2 z
      UF_UI_message_buttons_sbuttons;
4 p; u& h0 z! U4 i0 T' U% \4 ^      buttons.button1=TRUE;- ~) n# c; {( ?9 I; U
      buttons.button2=FALSE;4 X; `: S8 l7 N$ M' o
      buttons.button3=TRUE;2 f; d$ Y7 y" f, w7 D) u

2 h: O) Q! ?* O      buttons.label1="OK";
- ~; P. s1 d' q9 G4 I: B      buttons.label3="CANEL";
, O, `8 Z' j) n& ~/ q8 ?/ d) T& H) h6 h1 y, }3 \
      buttons.response1=UF_UI_OK;2 C" H& s0 @9 h" n! ]3 j7 z4 ^
      buttons.response3=UF_UI_CANCEL;" ]( z% Y4 S2 U% S% h

- D" e' E' _  L% U+ w      char *string_msg;' w5 I8 \! T/ o% X# v: ^
      char*material_msg="ALL selcted objects will be removed";
0 ?1 q, J- l; s2 g9 s0 Q1 H      string_msg =material_msg;
! _% Y" A; i5 F( C5 S: k2 B8 c. I- i! N1 P% K
      UF_CALL(UF_UI_message_dialog("",
1 W. J5 [6 M5 Y! t8 A  T            UF_UI_MESSAGE_WARNING," C: M  N% U7 u% V  z) x8 _' ?- f2 Z, ^
          &material_msg,& W, ~" o+ P; {4 L
            1,+ T- i! w) J/ R) K$ @; u, J  h
            TRUE,4 ^4 |* J+ R  c6 J
            &buttons,9 W8 w  p- \& ^. k. y4 `, x
             res_mes ));
5 \' ]! W2 x8 M+ E# K}
* g5 a! C# A% ^( C1 m16,选择过滤
! j. S  _5 |: q% p, F. ?4 kstatic int init_add_face( UF_UI_selection_p_t select, void *client_data)
; ^$ V% o$ [6 ?9 x. z: }8 d# R{9 K  j3 V) M! s" E) H" k
      int nums = 1;
; L) M0 A) X3 M$ R, A      UF_UI_mask_t masks[] ={
+ ^$ w" t- h, u. c+ t9 J) S            UF_solid_type, 0,UF_UI_SEL_FEATURE_ANY_FACE};
/ O/ K: l9 X; F! d& v9 j- y7 h
1 k2 r! W* N6 {4 \; E: @- O2 Q            if(
- j' B- a! P* A, ?6 C                  (UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,nums,masks)==0)' ?! j9 x' L; Q, U- j/ u
                  &&(UF_UI_set_sel_procs(select,filter_proc_circle,NULL,client_data)==0)
( D# V/ n! s2 `0 x3 [+ t                  )9 ?, {; m: }/ H+ y* M/ f
            {
  C% Q2 Y' u# M0 g) t                  return(UF_UI_SEL_SUCCESS);
1 U, x$ W% E9 Z            }
9 d# V) ^" K3 i3 I% G& T7 B$ A            else, W5 i  I: d. S
            {     7 B' S' T0 b! w! }8 ]1 [
                  return(UF_UI_SEL_FAILURE);7 ~) E/ I5 k8 \7 k" [
            }
5 Q, T) \$ [$ y  D0 E}
1 |5 |( l3 x) y: u9 Gint find_tag(3 ]+ u9 {2 i; ^( g/ G! S! U- ~
                    void * client_data,//用以传输过滤资料
  c$ D. j" m% |& }                   tag_t object//现在鼠标所选物体ID
; z, M" G  M, e8 G2 _  w                   )5 M. b! x6 @  D0 }
{
& ~: ?( ~. p( @  r3 O      user_data *obj;
1 c- E4 m) P! B& q      obj=(user_data*)client_data;
! P/ c$ Q2 t6 p4 u      int find_face=true;//接受" g# s0 @- j8 b, ?/ @. N+ I
      char *string1;0 P' a) `; e& x
      string1=newchar[133];
+ t1 G* K9 M0 L& X) K      string1=UF_TAG_ask_handle_of_tag(object);8 o% H8 m$ ^6 [( x$ e
      for(int i=0;i<过滤的数目;i++), ^9 T& p7 X0 J0 H  E1 ?
      {/ r% U( v2 m+ E7 G  H" c2 j
: T, k6 s7 C* s0 e
            char *string2;- q2 O# u1 Q7 l7 p& N1 ^
            string2=newchar[133];
+ l: N4 {, ^" v1 _0 ]            string2=UF_TAG_ask_handle_of_tag(物体ID);% T% j. ]; d/ m9 b1 A9 i
            if(strcmp(string1,string2)==0)! h$ x. J4 v$ b
            {
. u! ?7 Y; s3 h% A                  find_face=FALSE;//不接受& R' [6 d4 E8 A/ }( ]& J* K; H5 q

1 s7 Q" B. o) A6 S            }
. U* \" Z' q$ z" L3 B            delete []string2;
3 q& A" G! \3 ?' k      }
  i. T% v( x5 X8 z( q7 P' _7 n      delete []string1;& }1 ^1 p' P# H( S
      return find_face;
1 |& m$ {. M# v+ x- @}
+ V4 |8 d0 y6 \3 C( G
' {# k" l$ D8 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二次开发专题模块培训报名开始啦

    我知道了