PLM之家PLMHome-国产软件践行者

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

  [复制链接]

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

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

admin 楼主

2015-3-2 10:31:39

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

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

x
" k: Q; |+ k8 }0 O
7,裁剪片体# {: L1 z  V5 ?' g" C
tag_t  *trim_objects;8 l. B' y7 c# `$ w2 T
trim_objects =new tag_t[count];6 \. w" m7 c1 B8 @  n
trim_objects =bound_id;
" l7 M5 J" P$ A4 K" r, ~: d3 cvoidtrim_sheet()
+ R0 ?& |: p1 P; L{# @  N) r& W! h
) `) u! c: E3 \" Q: _( S4 u
      UF_MODL_vector_t projection_method ;# I. p4 }. W8 L, h; O1 G1 {
      projection_method.reverse_vector=0;
6 O0 _, O7 R# C$ P) ?      projection_method.vector_type=UF_MODL_VECTOR_DIRECTION;4 [# G, h$ N# c0 T
      UF_MODL_vector_defined_by_union_tdir1;
1 Z( _3 G0 d+ \: w, |- Q      UF_MODL_vector_direction_t dir2;
/ j: J4 f* C. Q# y) e+ r' r      dir2.xyz [0]=dir[0];+ ?1 b8 |# D0 C
      dir2.xyz [1]=dir[1];
: g8 W' P" q3 W! A3 Q      dir2.xyz [2]=dir[2];
& k' H9 ]/ E1 y! J      dir1.direction=dir2;
# [; a/ B2 q! H4 U2 G
( e7 K  `9 `# m5 F* z      projection_method.defined_by=dir1;
1 j/ X0 w: f8 j( J( a3 Y" j% S' T7 z! R
- G: F( H; B$ K# k7 U      double point_coords[3] ;
- b& Q# h: o1 c; ~) y) \
' C: f7 V( T7 s      point_coords[0]=center[0];" q1 q+ w, X, p* u9 p* M
      point_coords[1]=center[1];# T; ], L4 ?5 }0 I3 ?8 V
      point_coords[2]=center[2];
; p5 n/ Y* c8 [: M- K! N' H! K* X6 I+ o
      int gap_point_count ;
6 c* u9 Q* F% S% M! t      double *gap_points;) t8 j! E' X& {+ R5 A4 K! F2 E
      tag_t feature_obj_eid;
% i: F$ ^8 ]8 H4 c  A: Z      UF_MODL_create_trimmed_sheet(sel_sheet,edge_count,trim_objects,&projection_method,
& }& w2 q; Z/ A+ h                                           0,1,point_coords,0.1,&gap_point_count,&gap_points,&feature_obj_eid);
3 L, [4 x9 X* {; {( f) X' }0 _- E& A  I; ~' n- u8 q) K5 }
}/ v% S  B* j3 R/ q1 O: B
8,offset偏移
) z( U8 E% a' i  z5 S4 u: a4 p4 V1 c3 o0 H1 j% d3 v$ B
char   distance_str[] = {"10.0"};//偏移的距离9 x0 T% ^, {7 m7 v0 J

1 W% _4 j# ^* l2 r& V  U4 Xint  num_curves;
, g& W8 p- _7 T( d4 Y0 L3 ^tag_t *offset_curves;
6 b0 c8 L& z1 s+ wUF_CURVE_offset_distance_data_t  offset_distance;% B) j0 B) Z0 l6 T. ]$ z( f
offset_distance.distance= distance_str;
0 W- V7 M& q9 u( Zoffset_distance.roUGh_type=1;
6 D. s( @% d' h# ~2 R. y7 j; A7 `UF_STRING_t   input_string;
) O# w0 q$ @( q, G. W& ~input_string.id=curve_id;//加入想要偏移的线+ c1 ^. ?! ]" _$ y
input_string.num=1; //偏移矢量方向数量1 O9 e8 d# `' c1 ]. b# z) S
input_string.string=&string_count;//偏移线的数量! D: a/ M, g8 j' J9 {* r" B
intstring_dir=UF_MODL_CURVE_START_FROM_END;* h) l) M4 r1 Y4 u5 ~
input_string.dir=&string_dir;
6 ?$ B& a& m, ?3 e7 k, o$ }8 ~9 f/ x3 F: x: K3 e- z" `
UF_CURVE_offset_data_toffset_data;  O8 H1 m# D5 f  r: A. M

) |/ X# d8 _$ o! k2 q, ~2 joffset_data.offset_def.distance_type1= &offset_distance;
, h( j/ ?# u4 w6 [- noffset_data.input_curves= &input_string;, B( F6 n$ Z! Y( ?) e! t' D
offset_data.approximation_tolerance= 0.01;. I7 k0 o# A, G! l2 H' d
offset_data.string_tolerance=0.001;
$ t% z' V" L6 Woffset_data.offset_def.distance_type1= &offset_distance;: C. Y+ p6 A7 l1 Q- s: U
offset_data.offset_type= UF_CURVE_OFFSET_DISTANCE_TANGENT;
, I1 E" @9 B+ w5 c+ S' NUF_CALL(UF_CURVE_create_offset_curve(&offset_data,
# I! j0 `' u# n# n6 w+ P5 {&num_curves,&offset_curves));
/ w6 ~5 S& q% \/ l2 ]9,创建平面% A! Q# L2 P) q0 @; z3 H
UF_STRING_tgenerator;( a9 R( B: f5 t
UF_STRING_p_tge = &generator;
, N1 O6 ^) R  K" X6 ?% k7 d6 L& C9 w! g7 C
UF_MODL_init_string_list(ge);4 r7 u2 Z$ s0 ]& b# P
UF_MODL_create_string_list(1,12,ge);
: O, J" R% k& T  W3 [! \+ \* e/ S- F
ge->string[0]= 1;
, |( u  N% b2 g# L, p6 a# P' Z4 vge->dir[0]= 1;//指定线从开始到结束
" D* h5 ], r2 p: L6 ^ge->id[0]= arc_id;//指定边界的id
4 c* R2 b% S( Q. R$ G9 a& N9 hdoubletol[3];) \2 n& _# i1 o
tol[0] =.001;//直线公差7 i( D) n& ]) {7 w% y# Q
tol[1] = .5* (PI/180);//圆弧公差
) c, a6 X/ U6 W& W; x3 }tol[2] =.02;//不起作用8 ~8 E$ A7 b& W- U- J' q
UF_CALL(UF_MODL_create_bplane(ge,tol,&bplane));" b, Z7 ~' H, ^5 Y2 Q0 b3 C
10,选择
4 ~% t( x; E2 f; K1),点选择0 A9 ~1 y- O: N% r( ^' r  D
tag_t point_tag;
! u, a& e+ O! l8 [8 Hdouble point[3];7 r- u1 a) I) l
       UF_UI_POINT_base_method_t  base_method=UF_UI_POINT_INFERRED ;  % s5 o% ?. H& J, c; x9 y  v
       intpoint_res;) E5 a" g; @. S4 S

+ d, m; T4 P# [+ Y0 EUF_CALL(UF_UI_point_construct("选择起点",&base_method,&point_tag,- }* X  y! ~/ M
point,&point_res));$ d' y+ R5 \5 B$ w
if(point_res=UF_UI_OK&&NULL_TAG!=point_tag)
  {5 S1 S0 v* c4 b8 M9 k) w{7 ~  K& w' T1 W( Y; m4 ~7 T2 u
}# X% W& y% h9 {2 W/ X/ O% ?
2),向量选择# }/ a. X3 ~- p7 w
     int  mode = UF_UI_INFERRED ;  T% R9 u5 a, w$ [  Z8 w
     int  disp_flag = UF_UI_DISP_TEMP_VECTOR;
! Z; X# z6 A1 P+ ydouble vec[3];' c7 L- Q- L; c, M% @) o
double vec_pnt[3];; \8 C5 W. c  ?. C2 j$ w
int res_vec = 0;
$ r5 t1 z  x9 r0 p% B     UF_initialize();  6 m" x5 G, ^2 p( ?
     ifail=  UF_UI_specify_vector( "Choose aVector",&mode,disp_flag,
' U( U8 N) a7 |, D  M           vec,vec_pnt,&res_vec);' I  g, t: o. M+ s% C4 _) c
     if( ifail != 0 || res_vec!= UF_UI_OK )   
/ k; @; v- A9 G3 X; e% P     {     
2 v, S+ Y9 ^' h$ S  o* h& K           UF_UI_ONT_refresh();( f7 u# n, u" M5 m, @+ z0 t. I
           printf("No vector selected \n" );7 ^, E. c* O5 b5 ~8 i) S
     }
. R5 d1 W. i  H4 `     else
0 t* S- E# c" ]9 o! I     {' E+ F! o0 T, {4 ?  u: r
           printf("Vect base (%f, %f, %f), direction (%f, %f, %f) \n",3 C( K' l% p( w# y/ E% W# H, c
                 vec_pnt[0],vec_pnt[1], vec_pnt[2], vec[0], vec[1], vec[2] );
9 ]' o( q' t0 c9 Z% v3 \}. w0 |7 K2 H9 s: B, G
3),平面选择7 O5 x9 i9 n; w$ d
tag_t plane_eid=NULL_TAG;4 Y/ `+ U/ s9 J5 H; \3 s
double orientation[9] ={0,0,0,0,0,0,0,0,0};/ Z' d4 G0 \4 c7 i9 H, k
   double origin[3] = {0,0,0};9 k( U( h& l# F9 }) V
   double pts[6] = {0,0,0,0,0,0};# R" W0 S- y) L* N+ j( e7 A; i& ~  J
   int i, error_code = 0;. Z- J" j" i" H4 i1 B1 Z# Q
   int mode, display, response;
; N0 z1 `1 O( t) a+ i   mode = 1;                    
1 f* o; j$ w6 H  h* I1 |display = 0;      
) @9 D5 L; x+ v1 B1 E3 nUF_initialize();. [! P  C' D) Z% y' z
   error_code = UF_UI_specify_plane(
* |! J# T% W: i- ~; s         "Select Plane", &mode, display,' G" `7 Y: e- ~3 h; f) p8 {
         &response, orientation, origin,&plane_eid);  k% @$ d: `: s- T* Y
0 h9 v, L5 J; m' S+ Y  c8 J8 p# U
   if ( !error_code && response != 1&& response != 2)2 a" k: ^& `6 O+ \' d1 `
   {
2 ]+ }! H1 ^$ ~                     for (i=0; i<3; i++)
2 U9 A! M$ i2 I3 ^               pts = origin + orientation;
2 A4 O0 A2 t6 _8 S6 c) d. v4 S0 h                     for (i=3; i<6; i++)& G5 O( S  w; f; u, E( V
               pts = origin[i-3] + orientation;
! u" }" e; G: K+ u         FTN(uf5374)(origin,pts,&pts[3],&plane_eid);+ `: E1 @" ^4 M0 h4 t* ~
   }5 [5 S) F: {3 I# j( B2 R- g
11,临时点,线0 W, y: d8 X7 X5 Q
void display_temporary_point_line (double point1[3], double point2[3])
% f( C5 t6 y5 U{
, {# g% V2 Y% {% G$ q) n  UF_DISP_view_type_twhich_views = UF_DISP_USE_WORK_VIEW;
  r, M2 M) J2 d  UF_OBJ_disp_props_TColor;' v' n, Q) @5 s: R$ s0 [: Z6 p$ K
  color.layer= 201;
+ Z, }$ `0 W  P( ~2 c, X  color.color= 186;
& l9 R3 S! ?/ v, K  color.blank_status= UF_OBJ_NOT_BLANKED;; ~8 j6 k" L- u! e
  color.line_width= UF_OBJ_WIDTH_NORMAL;
: w# E3 |0 f3 h# k7 a& d  color.font=0;
+ I# O& u5 V- O9 R" n  color.highlight_status= FALSE;
! i- o8 g5 A$ x% \: @8 D& I; v: E. R  UF_DISP_poly_marker_tmarker_type = UF_DISP_POINT;
( H% `. O0 X+ r7 a9 ^9 S% s1 y
3 U. [# }: R5 Z8 e( A( SUF_DISP_display_temporary_point ( NULL,which_views, point1, &color, marker_type);
  y/ Z/ ^- S+ N4 P6 lUF_DISP_display_temporary_point ( NULL,which_views, point2, &color, marker_type);7 P. Z; ]/ M2 K0 ^" C
UF_DISP_display_temporary_line ( NULL,which_views, point1, point2, &color);
5 D. H/ x/ s2 {& m8 g( J8 z}
# Y( H0 P' {" ^9 P12,WCS与绝对坐标转换9 G2 u( k2 z1 b; e1 v
                        voidcycs_wcs(double point[])% I$ o4 e1 ?* K+ H( Y9 J
{
( O! _3 F  N% T. w; K4 V" I* T& w/ L      tag_t  wcs_id,matrix_id;8 x9 `+ u: G) X" Q  l
      double matrix[ 9 ];
9 N# }5 C1 S, R6 I, f      //wcs_origin:工作坐标系原点,vec:工作坐标系轴向量,point_origin:点到原点的矢量
2 W& x) ~+ S: C      double wcs_origin [3],vec[3][3],point_origin[3];
) S/ l$ x1 q. t/ @3 r8 I% ^2 y      //1,得到工作坐标系9 w) n/ i2 }+ U, T
      UF_CSYS_ask_wcs(&wcs_id);: o2 }8 [3 Y& g" `/ M
      UF_CSYS_ask_csys_info(wcs_id,&matrix_id,wcs_origin);                    + W6 @7 x; B0 L6 q
      UF_CSYS_ask_matrix_values(matrix_id,matrix);
% p( K% K; q) t- k4 c0 U  v) b/ q
      //2,得到工作坐标系轴向量, }0 o8 j" [1 J
      UF_MTX3_x_vec (matrix,vec[0]);
, x9 @+ ^* X" R  I  l! @- Z      UF_MTX3_y_vec (matrix,vec[1]);
0 Z. E8 F' i  q4 m  a( R+ |' y+ ?      UF_MTX3_z_vec (matrix,vec[2]);' d  S; r1 w' b
8 i5 ]8 J/ o6 i: k; B2 f
      for(int i=0;i<3;i++)% g3 V0 @8 a0 r
      {     
$ p# [8 n* |: ^: ]* x) h            double tol;. [& x# e# a5 s' G7 E9 F
//3,得到点到工作坐标系原点矢量$ E1 k: x2 m0 u. W9 P
            UF_VEC3_unitize(vec,0.000001,&tol,vec);) w9 `% z# N% W( u4 T
//4,得到点到工作坐标系原点矢量
& C$ l! j: C- A# o, r2 b            point_origin=point-wcs_origin;
# N! U, a* C  a0 d, m# R, r      }
( W) ?& t* T3 j; {3 E- q; f. s      for(int j=0;j<3;j++): \6 S; m. X7 v6 B6 Y8 ~) }' R
      {
/ l4 s$ k$ r  r3 ?3 R) K0 y: i            UF_VEC3_dot(point_origin,vec[j],&point[j]);
$ u' O  W6 P! p* i      }
; v. ?8 h( c1 l1 D! j}
% o5 z9 x) h/ t$ z* J" q  h: q13,三点求圆心
+ I" {! @( Q% q#include<iostream.h> 9 U. ?' G3 S' B  d
#include<math.h>
5 [. C& Q; |' `& G( t( @
8 g, {1 e. q8 B+ K! aint main()9 w" k" _& u: O6 T( M, r
{
! B- i: ]9 u, q3 Y5 o6 e% B  Y6 h9 ^      int x1,y1,x3,y3;; n+ {( O6 g$ ^  [( R+ V3 @- k
      double a,b,c,d,e,f;# a3 p" L1 F6 K  r! N. p5 G
      doubler,k1,k2,x,y,x2,y2;
5 e3 @6 ]2 S$ Q8 f) v* y      cout<<"请输入x1,y1,x2,y2,x3,y3"<<endl;& ~' x+ U8 n7 R8 H3 I
      cin>>x1>>y1>>x2>>y2>>x3>>y3;! A3 R# h0 L. ?) \$ P" U/ N
      if((y1==y2)&&(y2==y3))1 A3 z: Q8 V; b9 y
      {& \3 K( E( \1 T2 {  H1 \
            cout<<"三点不构成圆!"<<endl;4 }$ s) `# d1 ]; h+ Y+ g( i- q' K0 {
            return 0;
7 `3 k3 ?5 D. P; ]+ r5 T6 u      }
7 U  v+ t& _6 u: g  E      if((y1!=y2)&&(y2!=y3))
1 ]8 }! w3 z) [2 z      {
3 E  Y5 W- i1 _5 L5 S, D            k1=(x2-x1)/(y2-y1);
6 m5 I' h" y& a* _7 f8 u# l  G+ o            k2=(x3-x2)/(y3-y2);7 y$ a. `9 W- `* ]5 g( L* w% Z- b9 n2 O  Q
      }
- V8 A) `9 m' H, L" y; ?      if(k1==k2)
# V7 G$ Y+ s, ^& X6 m; L      {! A, P% ^4 v& V7 d9 j/ o& h* v3 L
            cout<<"三点不构成圆!"<<endl;4 [4 z& U% Q/ a" o& m- t3 ]' h
            return 0;
1 q9 @! W5 Y# |& Q3 j: R      }- ~7 C1 {* b8 h* [9 F( }  Z, V4 _
      a=2*(x2-x1);. E/ z) [, n5 B8 U, P( X& z* z
      b=2*(y2-y1);
+ [+ t6 M4 m+ S$ m, y      c=x2*x2+y2*y2-x1*x1-y1*y1;3 t6 r% M& L  {; H4 u, ^
      d=2*(x3-x2);7 E9 d5 T  Z, r0 H
      e=2*(y3-y2);
9 Q& ^' y( O7 o. }2 c1 A      f=x3*x3+y3*y3-x2*x2-y2*y2;: g* `( P( J* H6 {1 g7 u
      x=(b*f-e*c)/(b*d-e*a);& \/ n( _' }) U$ {6 q. D0 c
      y=(d*c-a*f)/(b*d-e*a);
* m+ b3 y# l# U; Q$ p! Z! [& [1 H      cout<<"圆心为("<<x<<","<<y<<")"<<endl;
" S6 l6 m  R) @  g$ E6 G      r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
! _! n7 `. L2 q" Q' @      cout<<"半径为"<<r<<endl;
' l2 ^3 A  ^% j/ M8 Q( z: G      return 0;3 n( U" o# |4 H2 c& @
}
+ I# {& g% O5 k  ?3 O; ?; z1 J0 W14,查找圆心4 q" m1 ^% F6 J( ^
            UF_EVAL_p_tevaluator ;8 `8 ~& \% l8 v6 z( z
            UF_EVAL_arc_t arc;  l1 W* ?% U2 ~5 J  l
            UF_EVAL_initialize(obj_tag,&evaluator);
' \) \. G, M* I5 X  F! j            UF_EVAL_ask_arc(evaluator,&arc);
' W6 E9 n. D% i$ @* G+ A4 ], M: r9 `            UF_VEC3_copy(arc.center,point);           0 r* t4 u* m# I5 X$ `0 r9 O' `
15, message_box
* f# w9 r9 O% i/ B/ k% B& z) ]void message_box(int *res_mes)
: B2 Y; ^8 s8 l  u. |6 R8 Z{
- p% e5 @% Z& m& @# F      UF_UI_message_buttons_sbuttons;' r; T1 r3 l  D7 E/ Y
      buttons.button1=TRUE;  \* T$ @) ^6 R1 i' s& ]
      buttons.button2=FALSE;
! a& O, e. j: \7 }) @0 o* Z      buttons.button3=TRUE;7 m% O% J6 Y0 i% b
4 ?; X+ |! c, Z+ k
      buttons.label1="OK";
: v# h1 J) H. Q8 P; Q# h      buttons.label3="CANEL";% G  A: r- J& p' S6 i: _" m4 l
  g  z* e3 t, b2 u' f1 B7 @
      buttons.response1=UF_UI_OK;/ R2 b' D& K8 O# _% ?3 V
      buttons.response3=UF_UI_CANCEL;. G6 L4 V. ?: K, p5 n& u& u' c
+ c; ^5 [- j1 I
      char *string_msg;
9 l) W! c, b' ]& |      char*material_msg="ALL selcted objects will be removed";
& y5 c7 a; N" x  ~+ Q/ a      string_msg =material_msg;7 r0 q# U# X9 a/ d3 o
8 @: e7 I& ?+ t2 }7 q
      UF_CALL(UF_UI_message_dialog("",
& Y. f, k. Y$ H            UF_UI_MESSAGE_WARNING,0 t1 E! I7 @* ]" z% b
          &material_msg,* h. T: |# D2 }+ t9 A
            1,) R* A+ m; W0 `# z
            TRUE,. s  m1 C: n3 Y- H
            &buttons,
$ P" b" r- B* v" f; x             res_mes ));8 p+ i. \& D/ U& m0 \. F
}
9 @; w. s3 D, E3 [8 K5 L16,选择过滤
) ~; Y( C2 G" e6 }4 ~; X8 P: }static int init_add_face( UF_UI_selection_p_t select, void *client_data)
2 I4 F8 [' H; k2 `{
4 C) m" J1 ?' M9 p- j1 l1 j      int nums = 1;
0 A0 A. S6 l4 G# |+ ~% b& d      UF_UI_mask_t masks[] ={3 s! b# g2 ?; Z: T0 t' c- H, \9 Q
            UF_solid_type, 0,UF_UI_SEL_FEATURE_ANY_FACE};
9 S8 [  E- \0 l9 r$ y0 N9 \) U6 p7 \) {4 t
            if(
$ _  R6 ?% P# x" a1 I                  (UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,nums,masks)==0)
5 a, k2 l* z( o' y0 X0 l- p' J* c                  &&(UF_UI_set_sel_procs(select,filter_proc_circle,NULL,client_data)==0)
2 \$ W  K( P, L' }( }3 R  K5 Y                  )
3 g* w# K+ N3 u            {% @) @) q3 M1 P4 C- q- z
                  return(UF_UI_SEL_SUCCESS);3 Q) C4 T" ]) a9 k- ~
            }
+ A6 a# |: E, v6 c) A6 r            else$ W! d& `& o% F! v& a
            {     
5 ]+ m8 E4 E& s+ J                  return(UF_UI_SEL_FAILURE);- y; m& U3 k$ r& I0 Y/ |5 U# M
            }
, W- C( C9 E* E' _' D3 F  V}
) s7 M  t! N1 G1 b) T3 fint find_tag(
! M( z+ [7 I1 }9 Y+ z0 I: N                    void * client_data,//用以传输过滤资料0 E. ^7 g8 s/ A; _( W
                   tag_t object//现在鼠标所选物体ID) v4 T, y% U9 Y2 g  j+ y
                   ): g3 \/ e2 C+ z, ]$ l
{
: M: A2 l  c5 N7 c+ t- e" r! X      user_data *obj;7 y6 M- W5 T% V" Q# ]$ s3 V
      obj=(user_data*)client_data;
; h0 T% C; f- k3 n      int find_face=true;//接受
0 V8 l+ ~$ Y& }0 A      char *string1;
2 ?9 B4 N- ^. M4 b- k      string1=newchar[133];
. E! T+ ]9 K2 P* X  e      string1=UF_TAG_ask_handle_of_tag(object);5 @0 j3 e" M% C8 h( E4 z' t
      for(int i=0;i<过滤的数目;i++)8 b$ W  W! [( v- g, P. Q8 y
      {* H! v. h7 s  q' ^4 q  v" E

; ^5 ^5 P9 d* k( D0 l            char *string2;
0 ~  r3 O$ F% y/ G$ k            string2=newchar[133];
' \* ?9 }" \' j* S            string2=UF_TAG_ask_handle_of_tag(物体ID);9 D% k& @7 c& \0 ~# e, \
            if(strcmp(string1,string2)==0)
/ Y2 x8 V2 |! c, J            {
9 m$ v" R" y: k7 y, I7 n                  find_face=FALSE;//不接受
7 h2 L0 f7 F7 S$ R1 X1 L; E3 ^! L6 U0 k
            }
! e2 U" k) s* c( B4 W( d( f0 j            delete []string2;% z0 I0 B6 G( i' l* u
      }
. d! M; T9 F+ S7 r7 a. V      delete []string1;
  {* u9 @" X2 o      return find_face;
4 K" o6 R, x+ J4 U) [}
- P; J& w1 t# j6 U8 O# g1 W4 z; \1 z+ c/ V5 V9 A
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ 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二次开发专题模块培训报名开始啦

    我知道了